/* Generated by Cython 0.29.26 */

/* BEGIN: Cython Metadata
{
    "distutils": {
        "depends": [
            "cuda"
        ],
        "extra_compile_args": [
            "-std=c++14",
            "-fpermissive",
            "-Wno-deprecated-declarations",
            "-D _GLIBCXX_ASSERTIONS",
            "-fno-var-tracking-assignments",
            "-O3"
        ],
        "include_dirs": [
            "./cuda",
            "cuda",
            "/home/conda/feedstock_root/build_artifacts/cuda-python_1641445722738/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/include"
        ],
        "language": "c++",
        "library_dirs": [
            "/home/conda/feedstock_root/build_artifacts/cuda-python_1641445722738/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/lib/python3.10/site-packages",
            "/home/conda/feedstock_root/build_artifacts/cuda-python_1641445722738/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/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_26"
#define CYTHON_HEX_VERSION 0x001D1AF0
#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
  #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
#elif defined(PYSTON_VERSION)
  #define CYTHON_COMPILING_IN_PYPY 0
  #define CYTHON_COMPILING_IN_PYSTON 1
  #define CYTHON_COMPILING_IN_CPYTHON 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
#else
  #define CYTHON_COMPILING_IN_PYPY 0
  #define CYTHON_COMPILING_IN_PYSTON 0
  #define CYTHON_COMPILING_IN_CPYTHON 1
  #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
  #ifndef CYTHON_FAST_THREAD_STATE
    #define CYTHON_FAST_THREAD_STATE 1
  #endif
  #ifndef CYTHON_FAST_PYCALL
    #define CYTHON_FAST_PYCALL (PY_VERSION_HEX < 0x030B00A1)
  #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
  #ifndef CYTHON_USE_EXC_INFO_STACK
    #define CYTHON_USE_EXC_INFO_STACK (PY_VERSION_HEX >= 0x030700A3)
  #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(MS_WINDOWS)
  #define _USE_MATH_DEFINES
#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 <stdint.h>
#include "ios"
#include "new"
#include "stdexcept"
#include "typeinfo"
#include <vector>
#include <string.h>
#include <stdlib.h>
#include <stddef.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":1051
 *     cudaFormatModeAuto = 1
 * 
 * ctypedef unsigned long long cudaSurfaceObject_t             # <<<<<<<<<<<<<<
 * 
 * cdef enum cudaTextureAddressMode:
 */
typedef unsigned PY_LONG_LONG __pyx_t_4cuda_7ccudart_cudaSurfaceObject_t;

/* "cuda/ccudart.pxd":1081
 *     int disableTrilinearOptimization
 * 
 * ctypedef unsigned long long cudaTextureObject_t             # <<<<<<<<<<<<<<
 * 
 * cdef enum cudaDataType_t:
 */
typedef unsigned PY_LONG_LONG __pyx_t_4cuda_7ccudart_cudaTextureObject_t;

/* "cuda/ccuda.pxd":11
 * 
 * 
 * ctypedef uint32_t cuuint32_t             # <<<<<<<<<<<<<<
 * 
 * ctypedef uint64_t cuuint64_t
 */
typedef uint32_t __pyx_t_4cuda_5ccuda_cuuint32_t;

/* "cuda/ccuda.pxd":13
 * ctypedef uint32_t cuuint32_t
 * 
 * ctypedef uint64_t cuuint64_t             # <<<<<<<<<<<<<<
 * 
 * ctypedef unsigned long long CUdeviceptr_v2
 */
typedef uint64_t __pyx_t_4cuda_5ccuda_cuuint64_t;

/* "cuda/ccuda.pxd":15
 * ctypedef uint64_t cuuint64_t
 * 
 * ctypedef unsigned long long CUdeviceptr_v2             # <<<<<<<<<<<<<<
 * 
 * ctypedef CUdeviceptr_v2 CUdeviceptr
 */
typedef unsigned PY_LONG_LONG __pyx_t_4cuda_5ccuda_CUdeviceptr_v2;

/* "cuda/ccuda.pxd":17
 * ctypedef unsigned long long CUdeviceptr_v2
 * 
 * ctypedef CUdeviceptr_v2 CUdeviceptr             # <<<<<<<<<<<<<<
 * 
 * ctypedef int CUdevice_v1
 */
typedef __pyx_t_4cuda_5ccuda_CUdeviceptr_v2 __pyx_t_4cuda_5ccuda_CUdeviceptr;

/* "cuda/ccuda.pxd":19
 * ctypedef CUdeviceptr_v2 CUdeviceptr
 * 
 * ctypedef int CUdevice_v1             # <<<<<<<<<<<<<<
 * 
 * ctypedef CUdevice_v1 CUdevice
 */
typedef int __pyx_t_4cuda_5ccuda_CUdevice_v1;

/* "cuda/ccuda.pxd":21
 * ctypedef int CUdevice_v1
 * 
 * ctypedef CUdevice_v1 CUdevice             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "":
 */
typedef __pyx_t_4cuda_5ccuda_CUdevice_v1 __pyx_t_4cuda_5ccuda_CUdevice;

/* "cuda/ccuda.pxd":73
 * ctypedef CUgraphicsResource_st* CUgraphicsResource
 * 
 * ctypedef unsigned long long CUtexObject_v1             # <<<<<<<<<<<<<<
 * 
 * ctypedef CUtexObject_v1 CUtexObject
 */
typedef unsigned PY_LONG_LONG __pyx_t_4cuda_5ccuda_CUtexObject_v1;

/* "cuda/ccuda.pxd":75
 * ctypedef unsigned long long CUtexObject_v1
 * 
 * ctypedef CUtexObject_v1 CUtexObject             # <<<<<<<<<<<<<<
 * 
 * ctypedef unsigned long long CUsurfObject_v1
 */
typedef __pyx_t_4cuda_5ccuda_CUtexObject_v1 __pyx_t_4cuda_5ccuda_CUtexObject;

/* "cuda/ccuda.pxd":77
 * ctypedef CUtexObject_v1 CUtexObject
 * 
 * ctypedef unsigned long long CUsurfObject_v1             # <<<<<<<<<<<<<<
 * 
 * ctypedef CUsurfObject_v1 CUsurfObject
 */
typedef unsigned PY_LONG_LONG __pyx_t_4cuda_5ccuda_CUsurfObject_v1;

/* "cuda/ccuda.pxd":79
 * ctypedef unsigned long long CUsurfObject_v1
 * 
 * ctypedef CUsurfObject_v1 CUsurfObject             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "":
 */
typedef __pyx_t_4cuda_5ccuda_CUsurfObject_v1 __pyx_t_4cuda_5ccuda_CUsurfObject;

/* "cuda/ccuda.pxd":1340
 * ctypedef CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1 CUDA_EXT_SEM_WAIT_NODE_PARAMS
 * 
 * ctypedef unsigned long long CUmemGenericAllocationHandle_v1             # <<<<<<<<<<<<<<
 * 
 * ctypedef CUmemGenericAllocationHandle_v1 CUmemGenericAllocationHandle
 */
typedef unsigned PY_LONG_LONG __pyx_t_4cuda_5ccuda_CUmemGenericAllocationHandle_v1;

/* "cuda/ccuda.pxd":1342
 * ctypedef unsigned long long CUmemGenericAllocationHandle_v1
 * 
 * ctypedef CUmemGenericAllocationHandle_v1 CUmemGenericAllocationHandle             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUmemAllocationHandleType_enum:
 */
typedef __pyx_t_4cuda_5ccuda_CUmemGenericAllocationHandle_v1 __pyx_t_4cuda_5ccuda_CUmemGenericAllocationHandle;

/* "cuda/cudart.pyx":21
 * 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":22
 * 
 * ctypedef unsigned long long signed_char_ptr
 * ctypedef unsigned long long unsigned_char_ptr             # <<<<<<<<<<<<<<
 * ctypedef unsigned long long char_ptr
 * ctypedef unsigned long long short_ptr
 */
typedef unsigned PY_LONG_LONG __pyx_t_4cuda_6cudart_unsigned_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
 * ctypedef unsigned long long unsigned_short_ptr
 */
typedef unsigned PY_LONG_LONG __pyx_t_4cuda_6cudart_char_ptr;

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

/* "cuda/cudart.pyx":25
 * ctypedef unsigned long long char_ptr
 * ctypedef unsigned long long short_ptr
 * ctypedef unsigned long long unsigned_short_ptr             # <<<<<<<<<<<<<<
 * ctypedef unsigned long long int_ptr
 * ctypedef unsigned long long long_int_ptr
 */
typedef unsigned PY_LONG_LONG __pyx_t_4cuda_6cudart_unsigned_short_ptr;

/* "cuda/cudart.pyx":26
 * ctypedef unsigned long long short_ptr
 * ctypedef unsigned long long unsigned_short_ptr
 * ctypedef unsigned long long int_ptr             # <<<<<<<<<<<<<<
 * ctypedef unsigned long long long_int_ptr
 * ctypedef unsigned long long long_long_int_ptr
 */
typedef unsigned PY_LONG_LONG __pyx_t_4cuda_6cudart_int_ptr;

/* "cuda/cudart.pyx":27
 * ctypedef unsigned long long unsigned_short_ptr
 * ctypedef unsigned long long int_ptr
 * ctypedef unsigned long long long_int_ptr             # <<<<<<<<<<<<<<
 * ctypedef unsigned long long long_long_int_ptr
 * ctypedef unsigned long long unsigned_int_ptr
 */
typedef unsigned PY_LONG_LONG __pyx_t_4cuda_6cudart_long_int_ptr;

/* "cuda/cudart.pyx":28
 * ctypedef unsigned long long int_ptr
 * ctypedef unsigned long long long_int_ptr
 * ctypedef unsigned long long long_long_int_ptr             # <<<<<<<<<<<<<<
 * ctypedef unsigned long long unsigned_int_ptr
 * ctypedef unsigned long long unsigned_long_int_ptr
 */
typedef unsigned PY_LONG_LONG __pyx_t_4cuda_6cudart_long_long_int_ptr;

/* "cuda/cudart.pyx":29
 * ctypedef unsigned long long long_int_ptr
 * ctypedef unsigned long long long_long_int_ptr
 * ctypedef unsigned long long unsigned_int_ptr             # <<<<<<<<<<<<<<
 * ctypedef unsigned long long unsigned_long_int_ptr
 * ctypedef unsigned long long unsigned_long_long_int_ptr
 */
typedef unsigned PY_LONG_LONG __pyx_t_4cuda_6cudart_unsigned_int_ptr;

/* "cuda/cudart.pyx":30
 * ctypedef unsigned long long long_long_int_ptr
 * ctypedef unsigned long long unsigned_int_ptr
 * ctypedef unsigned long long unsigned_long_int_ptr             # <<<<<<<<<<<<<<
 * ctypedef unsigned long long unsigned_long_long_int_ptr
 * ctypedef unsigned long long uint32_t_ptr
 */
typedef unsigned PY_LONG_LONG __pyx_t_4cuda_6cudart_unsigned_long_int_ptr;

/* "cuda/cudart.pyx":31
 * ctypedef unsigned long long unsigned_int_ptr
 * ctypedef unsigned long long unsigned_long_int_ptr
 * ctypedef unsigned long long unsigned_long_long_int_ptr             # <<<<<<<<<<<<<<
 * ctypedef unsigned long long uint32_t_ptr
 * ctypedef unsigned long long uint64_t_ptr
 */
typedef unsigned PY_LONG_LONG __pyx_t_4cuda_6cudart_unsigned_long_long_int_ptr;

/* "cuda/cudart.pyx":32
 * ctypedef unsigned long long unsigned_long_int_ptr
 * ctypedef unsigned long long unsigned_long_long_int_ptr
 * ctypedef unsigned long long uint32_t_ptr             # <<<<<<<<<<<<<<
 * ctypedef unsigned long long uint64_t_ptr
 * ctypedef unsigned long long int32_t_ptr
 */
typedef unsigned PY_LONG_LONG __pyx_t_4cuda_6cudart_uint32_t_ptr;

/* "cuda/cudart.pyx":33
 * ctypedef unsigned long long unsigned_long_long_int_ptr
 * ctypedef unsigned long long uint32_t_ptr
 * ctypedef unsigned long long uint64_t_ptr             # <<<<<<<<<<<<<<
 * ctypedef unsigned long long int32_t_ptr
 * ctypedef unsigned long long int64_t_ptr
 */
typedef unsigned PY_LONG_LONG __pyx_t_4cuda_6cudart_uint64_t_ptr;

/* "cuda/cudart.pyx":34
 * ctypedef unsigned long long uint32_t_ptr
 * ctypedef unsigned long long uint64_t_ptr
 * ctypedef unsigned long long int32_t_ptr             # <<<<<<<<<<<<<<
 * ctypedef unsigned long long int64_t_ptr
 * ctypedef unsigned long long unsigned_ptr
 */
typedef unsigned PY_LONG_LONG __pyx_t_4cuda_6cudart_int32_t_ptr;

/* "cuda/cudart.pyx":35
 * ctypedef unsigned long long uint64_t_ptr
 * ctypedef unsigned long long int32_t_ptr
 * ctypedef unsigned long long int64_t_ptr             # <<<<<<<<<<<<<<
 * ctypedef unsigned long long unsigned_ptr
 * ctypedef unsigned long long unsigned_long_long_ptr
 */
typedef unsigned PY_LONG_LONG __pyx_t_4cuda_6cudart_int64_t_ptr;

/* "cuda/cudart.pyx":36
 * ctypedef unsigned long long int32_t_ptr
 * ctypedef unsigned long long int64_t_ptr
 * ctypedef unsigned long long unsigned_ptr             # <<<<<<<<<<<<<<
 * ctypedef unsigned long long unsigned_long_long_ptr
 * ctypedef unsigned long long size_t_ptr
 */
typedef unsigned PY_LONG_LONG __pyx_t_4cuda_6cudart_unsigned_ptr;

/* "cuda/cudart.pyx":37
 * ctypedef unsigned long long int64_t_ptr
 * ctypedef unsigned long long unsigned_ptr
 * ctypedef unsigned long long unsigned_long_long_ptr             # <<<<<<<<<<<<<<
 * ctypedef unsigned long long 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":38
 * 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":39
 * 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":40
 * 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":41
 * ctypedef unsigned long long float_ptr
 * ctypedef unsigned long long double_ptr
 * ctypedef unsigned long long void_ptr             # <<<<<<<<<<<<<<
 * 
 * cudaHostAllocDefault = ccudart.cudaHostAllocDefault
 */
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_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_CUstreamBatchMemOpParams_union;
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_CUkernelNodeAttrValue_union;
struct __pyx_obj_4cuda_4cuda_CUstreamAttrValue_union;
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_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_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_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_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_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_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_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_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_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_cudaStreamAttrValue;
struct __pyx_obj_4cuda_6cudart_cudaKernelNodeAttrValue;
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_cudaTextureDesc;
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_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_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_dim3;
struct __pyx_t_4cuda_7ccudart_cudaChannelFormatDesc;
struct __pyx_t_4cuda_7ccudart__cudaArraySparseProperties_tileExtent_s;
struct __pyx_t_4cuda_7ccudart_cudaArraySparseProperties;
struct __pyx_t_4cuda_7ccudart_cudaPitchedPtr;
struct __pyx_t_4cuda_7ccudart_cudaExtent;
struct __pyx_t_4cuda_7ccudart_cudaPos;
struct __pyx_t_4cuda_7ccudart_cudaMemcpy3DParms;
struct __pyx_t_4cuda_7ccudart_cudaMemcpy3DPeerParms;
struct __pyx_t_4cuda_7ccudart_cudaMemsetParams;
struct __pyx_t_4cuda_7ccudart_cudaAccessPolicyWindow;
struct __pyx_t_4cuda_7ccudart_cudaHostNodeParams;
union __pyx_t_4cuda_7ccudart_cudaStreamAttrValue;
union __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrValue;
struct __pyx_t_4cuda_7ccudart__cudaResourceDesc_res_res_array_s;
struct __pyx_t_4cuda_7ccudart__cudaResourceDesc_res_res_mipmap_s;
struct __pyx_t_4cuda_7ccudart__cudaResourceDesc_res_res_linear_s;
struct __pyx_t_4cuda_7ccudart__cudaResourceDesc_res_res_pitch2D_s;
union __pyx_t_4cuda_7ccudart__cudaResourceDesc_res_u;
struct __pyx_t_4cuda_7ccudart_cudaResourceDesc;
struct __pyx_t_4cuda_7ccudart_cudaResourceViewDesc;
struct __pyx_t_4cuda_7ccudart_cudaPointerAttributes;
struct __pyx_t_4cuda_7ccudart_cudaFuncAttributes;
struct __pyx_t_4cuda_7ccudart_cudaMemLocation;
struct __pyx_t_4cuda_7ccudart_cudaMemAccessDesc;
struct __pyx_t_4cuda_7ccudart_cudaMemPoolProps;
struct __pyx_t_4cuda_7ccudart_cudaMemPoolPtrExportData;
struct __pyx_t_4cuda_7ccudart_cudaMemAllocNodeParams;
struct __pyx_t_4cuda_7ccudart_CUuuid_st;
struct __pyx_t_4cuda_7ccudart_cudaDeviceProp;
struct __pyx_t_4cuda_7ccudart_cudaIpcEventHandle_st;
struct __pyx_t_4cuda_7ccudart_cudaIpcMemHandle_st;
struct __pyx_t_4cuda_7ccudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s;
union __pyx_t_4cuda_7ccudart__cudaExternalMemoryHandleDesc_handle_u;
struct __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleDesc;
struct __pyx_t_4cuda_7ccudart_cudaExternalMemoryBufferDesc;
struct __pyx_t_4cuda_7ccudart_cudaExternalMemoryMipmappedArrayDesc;
struct __pyx_t_4cuda_7ccudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s;
union __pyx_t_4cuda_7ccudart__cudaExternalSemaphoreHandleDesc_handle_u;
struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleDesc;
struct __pyx_t_4cuda_7ccudart__cudaExternalSemaphoreSignalParams_params_params_fence_s;
union __pyx_t_4cuda_7ccudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u;
struct __pyx_t_4cuda_7ccudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s;
struct __pyx_t_4cuda_7ccudart__cudaExternalSemaphoreSignalParams_params_s;
struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreSignalParams;
struct __pyx_t_4cuda_7ccudart__cudaExternalSemaphoreWaitParams_params_params_fence_s;
union __pyx_t_4cuda_7ccudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u;
struct __pyx_t_4cuda_7ccudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s;
struct __pyx_t_4cuda_7ccudart__cudaExternalSemaphoreWaitParams_params_s;
struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreWaitParams;
struct __pyx_t_4cuda_7ccudart_cudaKernelNodeParams;
struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreSignalNodeParams;
struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreWaitNodeParams;
struct __pyx_t_4cuda_7ccudart_cudaTextureDesc;

/* "cuda/ccudart.pxd":9
 * # is strictly prohibited.
 * 
 * cdef enum cudaRoundMode:             # <<<<<<<<<<<<<<
 *     cudaRoundNearest
 *     cudaRoundZero
 */
enum __pyx_t_4cuda_7ccudart_cudaRoundMode {
  __pyx_e_4cuda_7ccudart_cudaRoundNearest,
  __pyx_e_4cuda_7ccudart_cudaRoundZero,
  __pyx_e_4cuda_7ccudart_cudaRoundPosInf,
  __pyx_e_4cuda_7ccudart_cudaRoundMinInf
};

/* "cuda/ccudart.pxd":20
 *     unsigned int z
 * 
 * cdef enum cudaError:             # <<<<<<<<<<<<<<
 *     cudaSuccess = 0
 *     cudaErrorInvalidValue = 1
 */
enum __pyx_t_4cuda_7ccudart_cudaError {
  __pyx_e_4cuda_7ccudart_cudaSuccess = 0,
  __pyx_e_4cuda_7ccudart_cudaErrorInvalidValue = 1,
  __pyx_e_4cuda_7ccudart_cudaErrorMemoryAllocation = 2,
  __pyx_e_4cuda_7ccudart_cudaErrorInitializationError = 3,
  __pyx_e_4cuda_7ccudart_cudaErrorCudartUnloading = 4,
  __pyx_e_4cuda_7ccudart_cudaErrorProfilerDisabled = 5,
  __pyx_e_4cuda_7ccudart_cudaErrorProfilerNotInitialized = 6,
  __pyx_e_4cuda_7ccudart_cudaErrorProfilerAlreadyStarted = 7,
  __pyx_e_4cuda_7ccudart_cudaErrorProfilerAlreadyStopped = 8,
  __pyx_e_4cuda_7ccudart_cudaErrorInvalidConfiguration = 9,
  __pyx_e_4cuda_7ccudart_cudaErrorInvalidPitchValue = 12,
  __pyx_e_4cuda_7ccudart_cudaErrorInvalidSymbol = 13,
  __pyx_e_4cuda_7ccudart_cudaErrorInvalidHostPointer = 16,
  __pyx_e_4cuda_7ccudart_cudaErrorInvalidDevicePointer = 17,
  __pyx_e_4cuda_7ccudart_cudaErrorInvalidTexture = 18,
  __pyx_e_4cuda_7ccudart_cudaErrorInvalidTextureBinding = 19,
  __pyx_e_4cuda_7ccudart_cudaErrorInvalidChannelDescriptor = 20,
  __pyx_e_4cuda_7ccudart_cudaErrorInvalidMemcpyDirection = 21,
  __pyx_e_4cuda_7ccudart_cudaErrorAddressOfConstant = 22,
  __pyx_e_4cuda_7ccudart_cudaErrorTextureFetchFailed = 23,
  __pyx_e_4cuda_7ccudart_cudaErrorTextureNotBound = 24,
  __pyx_e_4cuda_7ccudart_cudaErrorSynchronizationError = 25,
  __pyx_e_4cuda_7ccudart_cudaErrorInvalidFilterSetting = 26,
  __pyx_e_4cuda_7ccudart_cudaErrorInvalidNormSetting = 27,
  __pyx_e_4cuda_7ccudart_cudaErrorMixedDeviceExecution = 28,
  __pyx_e_4cuda_7ccudart_cudaErrorNotYetImplemented = 31,
  __pyx_e_4cuda_7ccudart_cudaErrorMemoryValueTooLarge = 32,
  __pyx_e_4cuda_7ccudart_cudaErrorStubLibrary = 34,
  __pyx_e_4cuda_7ccudart_cudaErrorInsufficientDriver = 35,
  __pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver = 36,
  __pyx_e_4cuda_7ccudart_cudaErrorInvalidSurface = 37,
  __pyx_e_4cuda_7ccudart_cudaErrorDuplicateVariableName = 43,
  __pyx_e_4cuda_7ccudart_cudaErrorDuplicateTextureName = 44,
  __pyx_e_4cuda_7ccudart_cudaErrorDuplicateSurfaceName = 45,
  __pyx_e_4cuda_7ccudart_cudaErrorDevicesUnavailable = 46,
  __pyx_e_4cuda_7ccudart_cudaErrorIncompatibleDriverContext = 49,
  __pyx_e_4cuda_7ccudart_cudaErrorMissingConfiguration = 52,
  __pyx_e_4cuda_7ccudart_cudaErrorPriorLaunchFailure = 53,
  __pyx_e_4cuda_7ccudart_cudaErrorLaunchMaxDepthExceeded = 65,
  __pyx_e_4cuda_7ccudart_cudaErrorLaunchFileScopedTex = 66,
  __pyx_e_4cuda_7ccudart_cudaErrorLaunchFileScopedSurf = 67,
  __pyx_e_4cuda_7ccudart_cudaErrorSyncDepthExceeded = 68,
  __pyx_e_4cuda_7ccudart_cudaErrorLaunchPendingCountExceeded = 69,
  __pyx_e_4cuda_7ccudart_cudaErrorInvalidDeviceFunction = 98,
  __pyx_e_4cuda_7ccudart_cudaErrorNoDevice = 0x64,
  __pyx_e_4cuda_7ccudart_cudaErrorInvalidDevice = 0x65,
  __pyx_e_4cuda_7ccudart_cudaErrorDeviceNotLicensed = 0x66,
  __pyx_e_4cuda_7ccudart_cudaErrorSoftwareValidityNotEstablished = 0x67,
  __pyx_e_4cuda_7ccudart_cudaErrorStartupFailure = 0x7F,
  __pyx_e_4cuda_7ccudart_cudaErrorInvalidKernelImage = 0xC8,
  __pyx_e_4cuda_7ccudart_cudaErrorDeviceUninitialized = 0xC9,
  __pyx_e_4cuda_7ccudart_cudaErrorMapBufferObjectFailed = 0xCD,
  __pyx_e_4cuda_7ccudart_cudaErrorUnmapBufferObjectFailed = 0xCE,
  __pyx_e_4cuda_7ccudart_cudaErrorArrayIsMapped = 0xCF,
  __pyx_e_4cuda_7ccudart_cudaErrorAlreadyMapped = 0xD0,
  __pyx_e_4cuda_7ccudart_cudaErrorNoKernelImageForDevice = 0xD1,
  __pyx_e_4cuda_7ccudart_cudaErrorAlreadyAcquired = 0xD2,
  __pyx_e_4cuda_7ccudart_cudaErrorNotMapped = 0xD3,
  __pyx_e_4cuda_7ccudart_cudaErrorNotMappedAsArray = 0xD4,
  __pyx_e_4cuda_7ccudart_cudaErrorNotMappedAsPointer = 0xD5,
  __pyx_e_4cuda_7ccudart_cudaErrorECCUncorrectable = 0xD6,
  __pyx_e_4cuda_7ccudart_cudaErrorUnsupportedLimit = 0xD7,
  __pyx_e_4cuda_7ccudart_cudaErrorDeviceAlreadyInUse = 0xD8,
  __pyx_e_4cuda_7ccudart_cudaErrorPeerAccessUnsupported = 0xD9,
  __pyx_e_4cuda_7ccudart_cudaErrorInvalidPtx = 0xDA,
  __pyx_e_4cuda_7ccudart_cudaErrorInvalidGraphicsContext = 0xDB,
  __pyx_e_4cuda_7ccudart_cudaErrorNvlinkUncorrectable = 0xDC,
  __pyx_e_4cuda_7ccudart_cudaErrorJitCompilerNotFound = 0xDD,
  __pyx_e_4cuda_7ccudart_cudaErrorUnsupportedPtxVersion = 0xDE,
  __pyx_e_4cuda_7ccudart_cudaErrorJitCompilationDisabled = 0xDF,
  __pyx_e_4cuda_7ccudart_cudaErrorUnsupportedExecAffinity = 0xE0,
  __pyx_e_4cuda_7ccudart_cudaErrorInvalidSource = 0x12C,
  __pyx_e_4cuda_7ccudart_cudaErrorFileNotFound = 0x12D,
  __pyx_e_4cuda_7ccudart_cudaErrorSharedObjectSymbolNotFound = 0x12E,
  __pyx_e_4cuda_7ccudart_cudaErrorSharedObjectInitFailed = 0x12F,
  __pyx_e_4cuda_7ccudart_cudaErrorOperatingSystem = 0x130,
  __pyx_e_4cuda_7ccudart_cudaErrorInvalidResourceHandle = 0x190,
  __pyx_e_4cuda_7ccudart_cudaErrorIllegalState = 0x191,
  __pyx_e_4cuda_7ccudart_cudaErrorSymbolNotFound = 0x1F4,
  __pyx_e_4cuda_7ccudart_cudaErrorNotReady = 0x258,
  __pyx_e_4cuda_7ccudart_cudaErrorIllegalAddress = 0x2BC,
  __pyx_e_4cuda_7ccudart_cudaErrorLaunchOutOfResources = 0x2BD,
  __pyx_e_4cuda_7ccudart_cudaErrorLaunchTimeout = 0x2BE,
  __pyx_e_4cuda_7ccudart_cudaErrorLaunchIncompatibleTexturing = 0x2BF,
  __pyx_e_4cuda_7ccudart_cudaErrorPeerAccessAlreadyEnabled = 0x2C0,
  __pyx_e_4cuda_7ccudart_cudaErrorPeerAccessNotEnabled = 0x2C1,
  __pyx_e_4cuda_7ccudart_cudaErrorSetOnActiveProcess = 0x2C4,
  __pyx_e_4cuda_7ccudart_cudaErrorContextIsDestroyed = 0x2C5,
  __pyx_e_4cuda_7ccudart_cudaErrorAssert = 0x2C6,
  __pyx_e_4cuda_7ccudart_cudaErrorTooManyPeers = 0x2C7,
  __pyx_e_4cuda_7ccudart_cudaErrorHostMemoryAlreadyRegistered = 0x2C8,
  __pyx_e_4cuda_7ccudart_cudaErrorHostMemoryNotRegistered = 0x2C9,
  __pyx_e_4cuda_7ccudart_cudaErrorHardwareStackError = 0x2CA,
  __pyx_e_4cuda_7ccudart_cudaErrorIllegalInstruction = 0x2CB,
  __pyx_e_4cuda_7ccudart_cudaErrorMisalignedAddress = 0x2CC,
  __pyx_e_4cuda_7ccudart_cudaErrorInvalidAddressSpace = 0x2CD,
  __pyx_e_4cuda_7ccudart_cudaErrorInvalidPc = 0x2CE,
  __pyx_e_4cuda_7ccudart_cudaErrorLaunchFailure = 0x2CF,
  __pyx_e_4cuda_7ccudart_cudaErrorCooperativeLaunchTooLarge = 0x2D0,
  __pyx_e_4cuda_7ccudart_cudaErrorNotPermitted = 0x320,
  __pyx_e_4cuda_7ccudart_cudaErrorNotSupported = 0x321,
  __pyx_e_4cuda_7ccudart_cudaErrorSystemNotReady = 0x322,
  __pyx_e_4cuda_7ccudart_cudaErrorSystemDriverMismatch = 0x323,
  __pyx_e_4cuda_7ccudart_cudaErrorCompatNotSupportedOnDevice = 0x324,
  __pyx_e_4cuda_7ccudart_cudaErrorMpsConnectionFailed = 0x325,
  __pyx_e_4cuda_7ccudart_cudaErrorMpsRpcFailure = 0x326,
  __pyx_e_4cuda_7ccudart_cudaErrorMpsServerNotReady = 0x327,
  __pyx_e_4cuda_7ccudart_cudaErrorMpsMaxClientsReached = 0x328,
  __pyx_e_4cuda_7ccudart_cudaErrorMpsMaxConnectionsReached = 0x329,
  __pyx_e_4cuda_7ccudart_cudaErrorStreamCaptureUnsupported = 0x384,
  __pyx_e_4cuda_7ccudart_cudaErrorStreamCaptureInvalidated = 0x385,
  __pyx_e_4cuda_7ccudart_cudaErrorStreamCaptureMerge = 0x386,
  __pyx_e_4cuda_7ccudart_cudaErrorStreamCaptureUnmatched = 0x387,
  __pyx_e_4cuda_7ccudart_cudaErrorStreamCaptureUnjoined = 0x388,
  __pyx_e_4cuda_7ccudart_cudaErrorStreamCaptureIsolation = 0x389,
  __pyx_e_4cuda_7ccudart_cudaErrorStreamCaptureImplicit = 0x38A,
  __pyx_e_4cuda_7ccudart_cudaErrorCapturedEvent = 0x38B,
  __pyx_e_4cuda_7ccudart_cudaErrorStreamCaptureWrongThread = 0x38C,
  __pyx_e_4cuda_7ccudart_cudaErrorTimeout = 0x38D,
  __pyx_e_4cuda_7ccudart_cudaErrorGraphExecUpdateFailure = 0x38E,
  __pyx_e_4cuda_7ccudart_cudaErrorExternalDevice = 0x38F,
  __pyx_e_4cuda_7ccudart_cudaErrorUnknown = 0x3E7,
  __pyx_e_4cuda_7ccudart_cudaErrorApiFailureBase = 0x2710
};

/* "cuda/ccudart.pxd":145
 *     cudaErrorApiFailureBase = 10000
 * 
 * cdef enum cudaChannelFormatKind:             # <<<<<<<<<<<<<<
 *     cudaChannelFormatKindSigned = 0
 *     cudaChannelFormatKindUnsigned = 1
 */
enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind {
  __pyx_e_4cuda_7ccudart_cudaChannelFormatKindSigned = 0,
  __pyx_e_4cuda_7ccudart_cudaChannelFormatKindUnsigned = 1,
  __pyx_e_4cuda_7ccudart_cudaChannelFormatKindFloat = 2,
  __pyx_e_4cuda_7ccudart_cudaChannelFormatKindNone = 3,
  __pyx_e_4cuda_7ccudart_cudaChannelFormatKindNV12 = 4,
  __pyx_e_4cuda_7ccudart_cudaChannelFormatKindUnsignedNormalized8X1 = 5,
  __pyx_e_4cuda_7ccudart_cudaChannelFormatKindUnsignedNormalized8X2 = 6,
  __pyx_e_4cuda_7ccudart_cudaChannelFormatKindUnsignedNormalized8X4 = 7,
  __pyx_e_4cuda_7ccudart_cudaChannelFormatKindUnsignedNormalized16X1 = 8,
  __pyx_e_4cuda_7ccudart_cudaChannelFormatKindUnsignedNormalized16X2 = 9,
  __pyx_e_4cuda_7ccudart_cudaChannelFormatKindUnsignedNormalized16X4 = 10,
  __pyx_e_4cuda_7ccudart_cudaChannelFormatKindSignedNormalized8X1 = 11,
  __pyx_e_4cuda_7ccudart_cudaChannelFormatKindSignedNormalized8X2 = 12,
  __pyx_e_4cuda_7ccudart_cudaChannelFormatKindSignedNormalized8X4 = 13,
  __pyx_e_4cuda_7ccudart_cudaChannelFormatKindSignedNormalized16X1 = 14,
  __pyx_e_4cuda_7ccudart_cudaChannelFormatKindSignedNormalized16X2 = 15,
  __pyx_e_4cuda_7ccudart_cudaChannelFormatKindSignedNormalized16X4 = 16,
  __pyx_e_4cuda_7ccudart_cudaChannelFormatKindUnsignedBlockCompressed1 = 17,
  __pyx_e_4cuda_7ccudart_cudaChannelFormatKindUnsignedBlockCompressed1SRGB = 18,
  __pyx_e_4cuda_7ccudart_cudaChannelFormatKindUnsignedBlockCompressed2 = 19,
  __pyx_e_4cuda_7ccudart_cudaChannelFormatKindUnsignedBlockCompressed2SRGB = 20,
  __pyx_e_4cuda_7ccudart_cudaChannelFormatKindUnsignedBlockCompressed3 = 21,
  __pyx_e_4cuda_7ccudart_cudaChannelFormatKindUnsignedBlockCompressed3SRGB = 22,
  __pyx_e_4cuda_7ccudart_cudaChannelFormatKindUnsignedBlockCompressed4 = 23,
  __pyx_e_4cuda_7ccudart_cudaChannelFormatKindSignedBlockCompressed4 = 24,
  __pyx_e_4cuda_7ccudart_cudaChannelFormatKindUnsignedBlockCompressed5 = 25,
  __pyx_e_4cuda_7ccudart_cudaChannelFormatKindSignedBlockCompressed5 = 26,
  __pyx_e_4cuda_7ccudart_cudaChannelFormatKindUnsignedBlockCompressed6H = 27,
  __pyx_e_4cuda_7ccudart_cudaChannelFormatKindSignedBlockCompressed6H = 28,
  __pyx_e_4cuda_7ccudart_cudaChannelFormatKindUnsignedBlockCompressed7 = 29,
  __pyx_e_4cuda_7ccudart_cudaChannelFormatKindUnsignedBlockCompressed7SRGB = 30
};

/* "cuda/ccudart.pxd":219
 *     unsigned int reserved[4]
 * 
 * cdef enum cudaMemoryType:             # <<<<<<<<<<<<<<
 *     cudaMemoryTypeUnregistered = 0
 *     cudaMemoryTypeHost = 1
 */
enum __pyx_t_4cuda_7ccudart_cudaMemoryType {
  __pyx_e_4cuda_7ccudart_cudaMemoryTypeUnregistered = 0,
  __pyx_e_4cuda_7ccudart_cudaMemoryTypeHost = 1,
  __pyx_e_4cuda_7ccudart_cudaMemoryTypeDevice = 2,
  __pyx_e_4cuda_7ccudart_cudaMemoryTypeManaged = 3
};

/* "cuda/ccudart.pxd":225
 *     cudaMemoryTypeManaged = 3
 * 
 * cdef enum cudaMemcpyKind:             # <<<<<<<<<<<<<<
 *     cudaMemcpyHostToHost = 0
 *     cudaMemcpyHostToDevice = 1
 */
enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind {
  __pyx_e_4cuda_7ccudart_cudaMemcpyHostToHost = 0,
  __pyx_e_4cuda_7ccudart_cudaMemcpyHostToDevice = 1,
  __pyx_e_4cuda_7ccudart_cudaMemcpyDeviceToHost = 2,
  __pyx_e_4cuda_7ccudart_cudaMemcpyDeviceToDevice = 3,
  __pyx_e_4cuda_7ccudart_cudaMemcpyDefault = 4
};

/* "cuda/ccudart.pxd":277
 *     size_t height
 * 
 * cdef enum cudaAccessProperty:             # <<<<<<<<<<<<<<
 *     cudaAccessPropertyNormal = 0
 *     cudaAccessPropertyStreaming = 1
 */
enum __pyx_t_4cuda_7ccudart_cudaAccessProperty {
  __pyx_e_4cuda_7ccudart_cudaAccessPropertyNormal = 0,
  __pyx_e_4cuda_7ccudart_cudaAccessPropertyStreaming = 1,
  __pyx_e_4cuda_7ccudart_cudaAccessPropertyPersisting = 2
};

/* "cuda/ccudart.pxd":295
 *     void* userData
 * 
 * cdef enum cudaStreamCaptureStatus:             # <<<<<<<<<<<<<<
 *     cudaStreamCaptureStatusNone = 0
 *     cudaStreamCaptureStatusActive = 1
 */
enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureStatus {
  __pyx_e_4cuda_7ccudart_cudaStreamCaptureStatusNone = 0,
  __pyx_e_4cuda_7ccudart_cudaStreamCaptureStatusActive = 1,
  __pyx_e_4cuda_7ccudart_cudaStreamCaptureStatusInvalidated = 2
};

/* "cuda/ccudart.pxd":300
 *     cudaStreamCaptureStatusInvalidated = 2
 * 
 * cdef enum cudaStreamCaptureMode:             # <<<<<<<<<<<<<<
 *     cudaStreamCaptureModeGlobal = 0
 *     cudaStreamCaptureModeThreadLocal = 1
 */
enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode {
  __pyx_e_4cuda_7ccudart_cudaStreamCaptureModeGlobal = 0,
  __pyx_e_4cuda_7ccudart_cudaStreamCaptureModeThreadLocal = 1,
  __pyx_e_4cuda_7ccudart_cudaStreamCaptureModeRelaxed = 2
};

/* "cuda/ccudart.pxd":305
 *     cudaStreamCaptureModeRelaxed = 2
 * 
 * cdef enum cudaSynchronizationPolicy:             # <<<<<<<<<<<<<<
 *     cudaSyncPolicyAuto = 1
 *     cudaSyncPolicySpin = 2
 */
enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy {
  __pyx_e_4cuda_7ccudart_cudaSyncPolicyAuto = 1,
  __pyx_e_4cuda_7ccudart_cudaSyncPolicySpin = 2,
  __pyx_e_4cuda_7ccudart_cudaSyncPolicyYield = 3,
  __pyx_e_4cuda_7ccudart_cudaSyncPolicyBlockingSync = 4
};

/* "cuda/ccudart.pxd":311
 *     cudaSyncPolicyBlockingSync = 4
 * 
 * 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":319
 *     cudaSynchronizationPolicy syncPolicy
 * 
 * cdef enum cudaStreamUpdateCaptureDependenciesFlags:             # <<<<<<<<<<<<<<
 *     cudaStreamAddCaptureDependencies = 0x0
 *     cudaStreamSetCaptureDependencies = 0x1
 */
enum __pyx_t_4cuda_7ccudart_cudaStreamUpdateCaptureDependenciesFlags {
  __pyx_e_4cuda_7ccudart_cudaStreamAddCaptureDependencies = 0x0,
  __pyx_e_4cuda_7ccudart_cudaStreamSetCaptureDependencies = 0x1
};

/* "cuda/ccudart.pxd":323
 *     cudaStreamSetCaptureDependencies = 0x1
 * 
 * cdef enum cudaUserObjectFlags:             # <<<<<<<<<<<<<<
 *     cudaUserObjectNoDestructorSync = 0x1
 * 
 */
enum __pyx_t_4cuda_7ccudart_cudaUserObjectFlags {
  __pyx_e_4cuda_7ccudart_cudaUserObjectNoDestructorSync = 0x1
};

/* "cuda/ccudart.pxd":326
 *     cudaUserObjectNoDestructorSync = 0x1
 * 
 * cdef enum cudaUserObjectRetainFlags:             # <<<<<<<<<<<<<<
 *     cudaGraphUserObjectMove = 0x1
 * 
 */
enum __pyx_t_4cuda_7ccudart_cudaUserObjectRetainFlags {
  __pyx_e_4cuda_7ccudart_cudaGraphUserObjectMove = 0x1
};

/* "cuda/ccudart.pxd":330
 * 
 * 
 * cdef enum cudaGraphicsRegisterFlags:             # <<<<<<<<<<<<<<
 *     cudaGraphicsRegisterFlagsNone = 0
 *     cudaGraphicsRegisterFlagsReadOnly = 1
 */
enum __pyx_t_4cuda_7ccudart_cudaGraphicsRegisterFlags {
  __pyx_e_4cuda_7ccudart_cudaGraphicsRegisterFlagsNone = 0,
  __pyx_e_4cuda_7ccudart_cudaGraphicsRegisterFlagsReadOnly = 1,
  __pyx_e_4cuda_7ccudart_cudaGraphicsRegisterFlagsWriteDiscard = 2,
  __pyx_e_4cuda_7ccudart_cudaGraphicsRegisterFlagsSurfaceLoadStore = 4,
  __pyx_e_4cuda_7ccudart_cudaGraphicsRegisterFlagsTextureGather = 8
};

/* "cuda/ccudart.pxd":337
 *     cudaGraphicsRegisterFlagsTextureGather = 8
 * 
 * cdef enum cudaGraphicsMapFlags:             # <<<<<<<<<<<<<<
 *     cudaGraphicsMapFlagsNone = 0
 *     cudaGraphicsMapFlagsReadOnly = 1
 */
enum __pyx_t_4cuda_7ccudart_cudaGraphicsMapFlags {
  __pyx_e_4cuda_7ccudart_cudaGraphicsMapFlagsNone = 0,
  __pyx_e_4cuda_7ccudart_cudaGraphicsMapFlagsReadOnly = 1,
  __pyx_e_4cuda_7ccudart_cudaGraphicsMapFlagsWriteDiscard = 2
};

/* "cuda/ccudart.pxd":342
 *     cudaGraphicsMapFlagsWriteDiscard = 2
 * 
 * cdef enum cudaGraphicsCubeFace:             # <<<<<<<<<<<<<<
 *     cudaGraphicsCubeFacePositiveX = 0x00
 *     cudaGraphicsCubeFaceNegativeX = 0x01
 */
enum __pyx_t_4cuda_7ccudart_cudaGraphicsCubeFace {
  __pyx_e_4cuda_7ccudart_cudaGraphicsCubeFacePositiveX = 0x00,
  __pyx_e_4cuda_7ccudart_cudaGraphicsCubeFaceNegativeX = 0x01,
  __pyx_e_4cuda_7ccudart_cudaGraphicsCubeFacePositiveY = 0x02,
  __pyx_e_4cuda_7ccudart_cudaGraphicsCubeFaceNegativeY = 0x03,
  __pyx_e_4cuda_7ccudart_cudaGraphicsCubeFacePositiveZ = 0x04,
  __pyx_e_4cuda_7ccudart_cudaGraphicsCubeFaceNegativeZ = 0x05
};

/* "cuda/ccudart.pxd":350
 *     cudaGraphicsCubeFaceNegativeZ = 0x05
 * 
 * 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
};

/* "cuda/ccudart.pxd":358
 *     int cooperative
 * 
 * cdef enum cudaResourceType:             # <<<<<<<<<<<<<<
 *     cudaResourceTypeArray = 0x00
 *     cudaResourceTypeMipmappedArray = 0x01
 */
enum __pyx_t_4cuda_7ccudart_cudaResourceType {
  __pyx_e_4cuda_7ccudart_cudaResourceTypeArray = 0x00,
  __pyx_e_4cuda_7ccudart_cudaResourceTypeMipmappedArray = 0x01,
  __pyx_e_4cuda_7ccudart_cudaResourceTypeLinear = 0x02,
  __pyx_e_4cuda_7ccudart_cudaResourceTypePitch2D = 0x03
};

/* "cuda/ccudart.pxd":364
 *     cudaResourceTypePitch2D = 0x03
 * 
 * cdef enum cudaResourceViewFormat:             # <<<<<<<<<<<<<<
 *     cudaResViewFormatNone = 0x00
 *     cudaResViewFormatUnsignedChar1 = 0x01
 */
enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat {
  __pyx_e_4cuda_7ccudart_cudaResViewFormatNone = 0x00,
  __pyx_e_4cuda_7ccudart_cudaResViewFormatUnsignedChar1 = 0x01,
  __pyx_e_4cuda_7ccudart_cudaResViewFormatUnsignedChar2 = 0x02,
  __pyx_e_4cuda_7ccudart_cudaResViewFormatUnsignedChar4 = 0x03,
  __pyx_e_4cuda_7ccudart_cudaResViewFormatSignedChar1 = 0x04,
  __pyx_e_4cuda_7ccudart_cudaResViewFormatSignedChar2 = 0x05,
  __pyx_e_4cuda_7ccudart_cudaResViewFormatSignedChar4 = 0x06,
  __pyx_e_4cuda_7ccudart_cudaResViewFormatUnsignedShort1 = 0x07,
  __pyx_e_4cuda_7ccudart_cudaResViewFormatUnsignedShort2 = 0x08,
  __pyx_e_4cuda_7ccudart_cudaResViewFormatUnsignedShort4 = 0x09,
  __pyx_e_4cuda_7ccudart_cudaResViewFormatSignedShort1 = 0x0a,
  __pyx_e_4cuda_7ccudart_cudaResViewFormatSignedShort2 = 0x0b,
  __pyx_e_4cuda_7ccudart_cudaResViewFormatSignedShort4 = 0x0c,
  __pyx_e_4cuda_7ccudart_cudaResViewFormatUnsignedInt1 = 0x0d,
  __pyx_e_4cuda_7ccudart_cudaResViewFormatUnsignedInt2 = 0x0e,
  __pyx_e_4cuda_7ccudart_cudaResViewFormatUnsignedInt4 = 0x0f,
  __pyx_e_4cuda_7ccudart_cudaResViewFormatSignedInt1 = 0x10,
  __pyx_e_4cuda_7ccudart_cudaResViewFormatSignedInt2 = 0x11,
  __pyx_e_4cuda_7ccudart_cudaResViewFormatSignedInt4 = 0x12,
  __pyx_e_4cuda_7ccudart_cudaResViewFormatHalf1 = 0x13,
  __pyx_e_4cuda_7ccudart_cudaResViewFormatHalf2 = 0x14,
  __pyx_e_4cuda_7ccudart_cudaResViewFormatHalf4 = 0x15,
  __pyx_e_4cuda_7ccudart_cudaResViewFormatFloat1 = 0x16,
  __pyx_e_4cuda_7ccudart_cudaResViewFormatFloat2 = 0x17,
  __pyx_e_4cuda_7ccudart_cudaResViewFormatFloat4 = 0x18,
  __pyx_e_4cuda_7ccudart_cudaResViewFormatUnsignedBlockCompressed1 = 0x19,
  __pyx_e_4cuda_7ccudart_cudaResViewFormatUnsignedBlockCompressed2 = 0x1a,
  __pyx_e_4cuda_7ccudart_cudaResViewFormatUnsignedBlockCompressed3 = 0x1b,
  __pyx_e_4cuda_7ccudart_cudaResViewFormatUnsignedBlockCompressed4 = 0x1c,
  __pyx_e_4cuda_7ccudart_cudaResViewFormatSignedBlockCompressed4 = 0x1d,
  __pyx_e_4cuda_7ccudart_cudaResViewFormatUnsignedBlockCompressed5 = 0x1e,
  __pyx_e_4cuda_7ccudart_cudaResViewFormatSignedBlockCompressed5 = 0x1f,
  __pyx_e_4cuda_7ccudart_cudaResViewFormatUnsignedBlockCompressed6H = 0x20,
  __pyx_e_4cuda_7ccudart_cudaResViewFormatSignedBlockCompressed6H = 0x21,
  __pyx_e_4cuda_7ccudart_cudaResViewFormatUnsignedBlockCompressed7 = 0x22
};

/* "cuda/ccudart.pxd":457
 *     int preferredShmemCarveout
 * 
 * cdef enum cudaFuncAttribute:             # <<<<<<<<<<<<<<
 *     cudaFuncAttributeMaxDynamicSharedMemorySize = 8
 *     cudaFuncAttributePreferredSharedMemoryCarveout = 9
 */
enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute {
  __pyx_e_4cuda_7ccudart_cudaFuncAttributeMaxDynamicSharedMemorySize = 8,
  __pyx_e_4cuda_7ccudart_cudaFuncAttributePreferredSharedMemoryCarveout = 9,
  __pyx_e_4cuda_7ccudart_cudaFuncAttributeMax
};

/* "cuda/ccudart.pxd":462
 *     cudaFuncAttributeMax
 * 
 * cdef enum cudaFuncCache:             # <<<<<<<<<<<<<<
 *     cudaFuncCachePreferNone = 0
 *     cudaFuncCachePreferShared = 1
 */
enum __pyx_t_4cuda_7ccudart_cudaFuncCache {
  __pyx_e_4cuda_7ccudart_cudaFuncCachePreferNone = 0,
  __pyx_e_4cuda_7ccudart_cudaFuncCachePreferShared = 1,
  __pyx_e_4cuda_7ccudart_cudaFuncCachePreferL1 = 2,
  __pyx_e_4cuda_7ccudart_cudaFuncCachePreferEqual = 3
};

/* "cuda/ccudart.pxd":468
 *     cudaFuncCachePreferEqual = 3
 * 
 * cdef enum cudaSharedMemConfig:             # <<<<<<<<<<<<<<
 *     cudaSharedMemBankSizeDefault = 0
 *     cudaSharedMemBankSizeFourByte = 1
 */
enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig {
  __pyx_e_4cuda_7ccudart_cudaSharedMemBankSizeDefault = 0,
  __pyx_e_4cuda_7ccudart_cudaSharedMemBankSizeFourByte = 1,
  __pyx_e_4cuda_7ccudart_cudaSharedMemBankSizeEightByte = 2
};

/* "cuda/ccudart.pxd":473
 *     cudaSharedMemBankSizeEightByte = 2
 * 
 * cdef enum cudaSharedCarveout:             # <<<<<<<<<<<<<<
 *     cudaSharedmemCarveoutDefault = -1
 *     cudaSharedmemCarveoutMaxShared = 100
 */
enum __pyx_t_4cuda_7ccudart_cudaSharedCarveout {
  __pyx_e_4cuda_7ccudart_cudaSharedmemCarveoutDefault = -1L,
  __pyx_e_4cuda_7ccudart_cudaSharedmemCarveoutMaxShared = 0x64,
  __pyx_e_4cuda_7ccudart_cudaSharedmemCarveoutMaxL1 = 0
};

/* "cuda/ccudart.pxd":478
 *     cudaSharedmemCarveoutMaxL1 = 0
 * 
 * cdef enum cudaComputeMode:             # <<<<<<<<<<<<<<
 *     cudaComputeModeDefault = 0
 *     cudaComputeModeExclusive = 1
 */
enum __pyx_t_4cuda_7ccudart_cudaComputeMode {
  __pyx_e_4cuda_7ccudart_cudaComputeModeDefault = 0,
  __pyx_e_4cuda_7ccudart_cudaComputeModeExclusive = 1,
  __pyx_e_4cuda_7ccudart_cudaComputeModeProhibited = 2,
  __pyx_e_4cuda_7ccudart_cudaComputeModeExclusiveProcess = 3
};

/* "cuda/ccudart.pxd":484
 *     cudaComputeModeExclusiveProcess = 3
 * 
 * cdef enum cudaLimit:             # <<<<<<<<<<<<<<
 *     cudaLimitStackSize = 0x00
 *     cudaLimitPrintfFifoSize = 0x01
 */
enum __pyx_t_4cuda_7ccudart_cudaLimit {
  __pyx_e_4cuda_7ccudart_cudaLimitStackSize = 0x00,
  __pyx_e_4cuda_7ccudart_cudaLimitPrintfFifoSize = 0x01,
  __pyx_e_4cuda_7ccudart_cudaLimitMallocHeapSize = 0x02,
  __pyx_e_4cuda_7ccudart_cudaLimitDevRuntimeSyncDepth = 0x03,
  __pyx_e_4cuda_7ccudart_cudaLimitDevRuntimePendingLaunchCount = 0x04,
  __pyx_e_4cuda_7ccudart_cudaLimitMaxL2FetchGranularity = 0x05,
  __pyx_e_4cuda_7ccudart_cudaLimitPersistingL2CacheSize = 0x06
};

/* "cuda/ccudart.pxd":493
 *     cudaLimitPersistingL2CacheSize = 0x06
 * 
 * cdef enum cudaMemoryAdvise:             # <<<<<<<<<<<<<<
 *     cudaMemAdviseSetReadMostly = 1
 *     cudaMemAdviseUnsetReadMostly = 2
 */
enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise {
  __pyx_e_4cuda_7ccudart_cudaMemAdviseSetReadMostly = 1,
  __pyx_e_4cuda_7ccudart_cudaMemAdviseUnsetReadMostly = 2,
  __pyx_e_4cuda_7ccudart_cudaMemAdviseSetPreferredLocation = 3,
  __pyx_e_4cuda_7ccudart_cudaMemAdviseUnsetPreferredLocation = 4,
  __pyx_e_4cuda_7ccudart_cudaMemAdviseSetAccessedBy = 5,
  __pyx_e_4cuda_7ccudart_cudaMemAdviseUnsetAccessedBy = 6
};

/* "cuda/ccudart.pxd":501
 *     cudaMemAdviseUnsetAccessedBy = 6
 * 
 * cdef enum cudaMemRangeAttribute:             # <<<<<<<<<<<<<<
 *     cudaMemRangeAttributeReadMostly = 1
 *     cudaMemRangeAttributePreferredLocation = 2
 */
enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute {
  __pyx_e_4cuda_7ccudart_cudaMemRangeAttributeReadMostly = 1,
  __pyx_e_4cuda_7ccudart_cudaMemRangeAttributePreferredLocation = 2,
  __pyx_e_4cuda_7ccudart_cudaMemRangeAttributeAccessedBy = 3,
  __pyx_e_4cuda_7ccudart_cudaMemRangeAttributeLastPrefetchLocation = 4
};

/* "cuda/ccudart.pxd":507
 *     cudaMemRangeAttributeLastPrefetchLocation = 4
 * 
 * cdef enum cudaOutputMode:             # <<<<<<<<<<<<<<
 *     cudaKeyValuePair = 0x00
 *     cudaCSV = 0x01
 */
enum __pyx_t_4cuda_7ccudart_cudaOutputMode {
  __pyx_e_4cuda_7ccudart_cudaKeyValuePair = 0x00,
  __pyx_e_4cuda_7ccudart_cudaCSV = 0x01
};

/* "cuda/ccudart.pxd":511
 *     cudaCSV = 0x01
 * 
 * cdef enum cudaFlushGPUDirectRDMAWritesOptions:             # <<<<<<<<<<<<<<
 *     cudaFlushGPUDirectRDMAWritesOptionHost = 1<<0
 *     cudaFlushGPUDirectRDMAWritesOptionMemOps = 1<<1
 */
enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesOptions {

  /* "cuda/ccudart.pxd":513
 * cdef enum cudaFlushGPUDirectRDMAWritesOptions:
 *     cudaFlushGPUDirectRDMAWritesOptionHost = 1<<0
 *     cudaFlushGPUDirectRDMAWritesOptionMemOps = 1<<1             # <<<<<<<<<<<<<<
 * 
 * cdef enum cudaGPUDirectRDMAWritesOrdering:
 */
  __pyx_e_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesOptionHost = (1 << 0),
  __pyx_e_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesOptionMemOps = (1 << 1)
};

/* "cuda/ccudart.pxd":515
 *     cudaFlushGPUDirectRDMAWritesOptionMemOps = 1<<1
 * 
 * cdef enum cudaGPUDirectRDMAWritesOrdering:             # <<<<<<<<<<<<<<
 *     cudaGPUDirectRDMAWritesOrderingNone = 0
 *     cudaGPUDirectRDMAWritesOrderingOwner = 100
 */
enum __pyx_t_4cuda_7ccudart_cudaGPUDirectRDMAWritesOrdering {
  __pyx_e_4cuda_7ccudart_cudaGPUDirectRDMAWritesOrderingNone = 0,
  __pyx_e_4cuda_7ccudart_cudaGPUDirectRDMAWritesOrderingOwner = 0x64,
  __pyx_e_4cuda_7ccudart_cudaGPUDirectRDMAWritesOrderingAllDevices = 0xC8
};

/* "cuda/ccudart.pxd":520
 *     cudaGPUDirectRDMAWritesOrderingAllDevices = 200
 * 
 * cdef enum cudaFlushGPUDirectRDMAWritesScope:             # <<<<<<<<<<<<<<
 *     cudaFlushGPUDirectRDMAWritesToOwner = 100
 *     cudaFlushGPUDirectRDMAWritesToAllDevices = 200
 */
enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope {
  __pyx_e_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesToOwner = 0x64,
  __pyx_e_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesToAllDevices = 0xC8
};

/* "cuda/ccudart.pxd":524
 *     cudaFlushGPUDirectRDMAWritesToAllDevices = 200
 * 
 * cdef enum cudaFlushGPUDirectRDMAWritesTarget:             # <<<<<<<<<<<<<<
 *     cudaFlushGPUDirectRDMAWritesTargetCurrentDevice
 * 
 */
enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget {
  __pyx_e_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTargetCurrentDevice
};

/* "cuda/ccudart.pxd":527
 *     cudaFlushGPUDirectRDMAWritesTargetCurrentDevice
 * 
 * cdef enum cudaDeviceAttr:             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxThreadsPerBlock = 1
 *     cudaDevAttrMaxBlockDimX = 2
 */
enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr {
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxThreadsPerBlock = 1,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxBlockDimX = 2,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxBlockDimY = 3,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxBlockDimZ = 4,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxGridDimX = 5,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxGridDimY = 6,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxGridDimZ = 7,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxSharedMemoryPerBlock = 8,
  __pyx_e_4cuda_7ccudart_cudaDevAttrTotalConstantMemory = 9,
  __pyx_e_4cuda_7ccudart_cudaDevAttrWarpSize = 10,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxPitch = 11,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxRegistersPerBlock = 12,
  __pyx_e_4cuda_7ccudart_cudaDevAttrClockRate = 13,
  __pyx_e_4cuda_7ccudart_cudaDevAttrTextureAlignment = 14,
  __pyx_e_4cuda_7ccudart_cudaDevAttrGpuOverlap = 15,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMultiProcessorCount = 16,
  __pyx_e_4cuda_7ccudart_cudaDevAttrKernelExecTimeout = 17,
  __pyx_e_4cuda_7ccudart_cudaDevAttrIntegrated = 18,
  __pyx_e_4cuda_7ccudart_cudaDevAttrCanMapHostMemory = 19,
  __pyx_e_4cuda_7ccudart_cudaDevAttrComputeMode = 20,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxTexture1DWidth = 21,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxTexture2DWidth = 22,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxTexture2DHeight = 23,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxTexture3DWidth = 24,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxTexture3DHeight = 25,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxTexture3DDepth = 26,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxTexture2DLayeredWidth = 27,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxTexture2DLayeredHeight = 28,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxTexture2DLayeredLayers = 29,
  __pyx_e_4cuda_7ccudart_cudaDevAttrSurfaceAlignment = 30,
  __pyx_e_4cuda_7ccudart_cudaDevAttrConcurrentKernels = 31,
  __pyx_e_4cuda_7ccudart_cudaDevAttrEccEnabled = 32,
  __pyx_e_4cuda_7ccudart_cudaDevAttrPciBusId = 33,
  __pyx_e_4cuda_7ccudart_cudaDevAttrPciDeviceId = 34,
  __pyx_e_4cuda_7ccudart_cudaDevAttrTccDriver = 35,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMemoryClockRate = 36,
  __pyx_e_4cuda_7ccudart_cudaDevAttrGlobalMemoryBusWidth = 37,
  __pyx_e_4cuda_7ccudart_cudaDevAttrL2CacheSize = 38,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxThreadsPerMultiProcessor = 39,
  __pyx_e_4cuda_7ccudart_cudaDevAttrAsyncEngineCount = 40,
  __pyx_e_4cuda_7ccudart_cudaDevAttrUnifiedAddressing = 41,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxTexture1DLayeredWidth = 42,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxTexture1DLayeredLayers = 43,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxTexture2DGatherWidth = 45,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxTexture2DGatherHeight = 46,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxTexture3DWidthAlt = 47,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxTexture3DHeightAlt = 48,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxTexture3DDepthAlt = 49,
  __pyx_e_4cuda_7ccudart_cudaDevAttrPciDomainId = 50,
  __pyx_e_4cuda_7ccudart_cudaDevAttrTexturePitchAlignment = 51,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxTextureCubemapWidth = 52,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxTextureCubemapLayeredWidth = 53,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxTextureCubemapLayeredLayers = 54,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxSurface1DWidth = 55,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxSurface2DWidth = 56,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxSurface2DHeight = 57,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxSurface3DWidth = 58,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxSurface3DHeight = 59,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxSurface3DDepth = 60,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxSurface1DLayeredWidth = 61,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxSurface1DLayeredLayers = 62,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxSurface2DLayeredWidth = 63,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxSurface2DLayeredHeight = 64,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxSurface2DLayeredLayers = 65,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxSurfaceCubemapWidth = 66,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxTexture1DLinearWidth = 69,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxTexture2DLinearWidth = 70,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxTexture2DLinearHeight = 71,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxTexture2DLinearPitch = 72,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxTexture2DMipmappedWidth = 73,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxTexture2DMipmappedHeight = 74,
  __pyx_e_4cuda_7ccudart_cudaDevAttrComputeCapabilityMajor = 75,
  __pyx_e_4cuda_7ccudart_cudaDevAttrComputeCapabilityMinor = 76,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxTexture1DMipmappedWidth = 77,
  __pyx_e_4cuda_7ccudart_cudaDevAttrStreamPrioritiesSupported = 78,
  __pyx_e_4cuda_7ccudart_cudaDevAttrGlobalL1CacheSupported = 79,
  __pyx_e_4cuda_7ccudart_cudaDevAttrLocalL1CacheSupported = 80,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxRegistersPerMultiprocessor = 82,
  __pyx_e_4cuda_7ccudart_cudaDevAttrManagedMemory = 83,
  __pyx_e_4cuda_7ccudart_cudaDevAttrIsMultiGpuBoard = 84,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMultiGpuBoardGroupID = 85,
  __pyx_e_4cuda_7ccudart_cudaDevAttrHostNativeAtomicSupported = 86,
  __pyx_e_4cuda_7ccudart_cudaDevAttrSingleToDoublePrecisionPerfRatio = 87,
  __pyx_e_4cuda_7ccudart_cudaDevAttrPageableMemoryAccess = 88,
  __pyx_e_4cuda_7ccudart_cudaDevAttrConcurrentManagedAccess = 89,
  __pyx_e_4cuda_7ccudart_cudaDevAttrComputePreemptionSupported = 90,
  __pyx_e_4cuda_7ccudart_cudaDevAttrCanUseHostPointerForRegisteredMem = 91,
  __pyx_e_4cuda_7ccudart_cudaDevAttrReserved92 = 92,
  __pyx_e_4cuda_7ccudart_cudaDevAttrReserved93 = 93,
  __pyx_e_4cuda_7ccudart_cudaDevAttrReserved94 = 94,
  __pyx_e_4cuda_7ccudart_cudaDevAttrCooperativeLaunch = 95,
  __pyx_e_4cuda_7ccudart_cudaDevAttrCooperativeMultiDeviceLaunch = 96,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxSharedMemoryPerBlockOptin = 97,
  __pyx_e_4cuda_7ccudart_cudaDevAttrCanFlushRemoteWrites = 98,
  __pyx_e_4cuda_7ccudart_cudaDevAttrHostRegisterSupported = 99,
  __pyx_e_4cuda_7ccudart_cudaDevAttrPageableMemoryAccessUsesHostPageTables = 0x64,
  __pyx_e_4cuda_7ccudart_cudaDevAttrDirectManagedMemAccessFromHost = 0x65,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxBlocksPerMultiprocessor = 0x6A,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxPersistingL2CacheSize = 0x6C,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxAccessPolicyWindowSize = 0x6D,
  __pyx_e_4cuda_7ccudart_cudaDevAttrReservedSharedMemoryPerBlock = 0x6F,
  __pyx_e_4cuda_7ccudart_cudaDevAttrSparseCudaArraySupported = 0x70,
  __pyx_e_4cuda_7ccudart_cudaDevAttrHostRegisterReadOnlySupported = 0x71,
  __pyx_e_4cuda_7ccudart_cudaDevAttrTimelineSemaphoreInteropSupported = 0x72,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMaxTimelineSemaphoreInteropSupported = 0x72,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMemoryPoolsSupported = 0x73,
  __pyx_e_4cuda_7ccudart_cudaDevAttrGPUDirectRDMASupported = 0x74,
  __pyx_e_4cuda_7ccudart_cudaDevAttrGPUDirectRDMAFlushWritesOptions = 0x75,
  __pyx_e_4cuda_7ccudart_cudaDevAttrGPUDirectRDMAWritesOrdering = 0x76,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMemoryPoolSupportedHandleTypes = 0x77,
  __pyx_e_4cuda_7ccudart_cudaDevAttrMax
};

/* "cuda/ccudart.pxd":643
 *     cudaDevAttrMax
 * 
 * cdef enum cudaMemPoolAttr:             # <<<<<<<<<<<<<<
 *     cudaMemPoolReuseFollowEventDependencies = 0x1
 *     cudaMemPoolReuseAllowOpportunistic = 0x2
 */
enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr {
  __pyx_e_4cuda_7ccudart_cudaMemPoolReuseFollowEventDependencies = 0x1,
  __pyx_e_4cuda_7ccudart_cudaMemPoolReuseAllowOpportunistic = 0x2,
  __pyx_e_4cuda_7ccudart_cudaMemPoolReuseAllowInternalDependencies = 0x3,
  __pyx_e_4cuda_7ccudart_cudaMemPoolAttrReleaseThreshold = 0x4,
  __pyx_e_4cuda_7ccudart_cudaMemPoolAttrReservedMemCurrent = 0x5,
  __pyx_e_4cuda_7ccudart_cudaMemPoolAttrReservedMemHigh = 0x6,
  __pyx_e_4cuda_7ccudart_cudaMemPoolAttrUsedMemCurrent = 0x7,
  __pyx_e_4cuda_7ccudart_cudaMemPoolAttrUsedMemHigh = 0x8
};

/* "cuda/ccudart.pxd":653
 *     cudaMemPoolAttrUsedMemHigh = 0x8
 * 
 * cdef enum cudaMemLocationType:             # <<<<<<<<<<<<<<
 *     cudaMemLocationTypeInvalid = 0
 *     cudaMemLocationTypeDevice = 1
 */
enum __pyx_t_4cuda_7ccudart_cudaMemLocationType {
  __pyx_e_4cuda_7ccudart_cudaMemLocationTypeInvalid = 0,
  __pyx_e_4cuda_7ccudart_cudaMemLocationTypeDevice = 1
};

/* "cuda/ccudart.pxd":661
 *     int id
 * 
 * cdef enum cudaMemAccessFlags:             # <<<<<<<<<<<<<<
 *     cudaMemAccessFlagsProtNone = 0
 *     cudaMemAccessFlagsProtRead = 1
 */
enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags {
  __pyx_e_4cuda_7ccudart_cudaMemAccessFlagsProtNone = 0,
  __pyx_e_4cuda_7ccudart_cudaMemAccessFlagsProtRead = 1,
  __pyx_e_4cuda_7ccudart_cudaMemAccessFlagsProtReadWrite = 3
};

/* "cuda/ccudart.pxd":670
 *     cudaMemAccessFlags flags
 * 
 * cdef enum cudaMemAllocationType:             # <<<<<<<<<<<<<<
 *     cudaMemAllocationTypeInvalid = 0x0
 *     cudaMemAllocationTypePinned = 0x1
 */
enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType {
  __pyx_e_4cuda_7ccudart_cudaMemAllocationTypeInvalid = 0x0,
  __pyx_e_4cuda_7ccudart_cudaMemAllocationTypePinned = 0x1,
  __pyx_e_4cuda_7ccudart_cudaMemAllocationTypeMax = 0x7FFFFFFF
};

/* "cuda/ccudart.pxd":675
 *     cudaMemAllocationTypeMax = 0x7FFFFFFF
 * 
 * cdef enum cudaMemAllocationHandleType:             # <<<<<<<<<<<<<<
 *     cudaMemHandleTypeNone = 0x0
 *     cudaMemHandleTypePosixFileDescriptor = 0x1
 */
enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType {
  __pyx_e_4cuda_7ccudart_cudaMemHandleTypeNone = 0x0,
  __pyx_e_4cuda_7ccudart_cudaMemHandleTypePosixFileDescriptor = 0x1,
  __pyx_e_4cuda_7ccudart_cudaMemHandleTypeWin32 = 0x2,
  __pyx_e_4cuda_7ccudart_cudaMemHandleTypeWin32Kmt = 0x4
};

/* "cuda/ccudart.pxd":698
 *     void* dptr
 * 
 * cdef enum cudaGraphMemAttributeType:             # <<<<<<<<<<<<<<
 *     cudaGraphMemAttrUsedMemCurrent = 0x1
 *     cudaGraphMemAttrUsedMemHigh = 0x2
 */
enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType {
  __pyx_e_4cuda_7ccudart_cudaGraphMemAttrUsedMemCurrent = 0x1,
  __pyx_e_4cuda_7ccudart_cudaGraphMemAttrUsedMemHigh = 0x2,
  __pyx_e_4cuda_7ccudart_cudaGraphMemAttrReservedMemCurrent = 0x3,
  __pyx_e_4cuda_7ccudart_cudaGraphMemAttrReservedMemHigh = 0x4
};

/* "cuda/ccudart.pxd":704
 *     cudaGraphMemAttrReservedMemHigh = 0x4
 * 
 * cdef enum cudaDeviceP2PAttr:             # <<<<<<<<<<<<<<
 *     cudaDevP2PAttrPerformanceRank = 1
 *     cudaDevP2PAttrAccessSupported = 2
 */
enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr {
  __pyx_e_4cuda_7ccudart_cudaDevP2PAttrPerformanceRank = 1,
  __pyx_e_4cuda_7ccudart_cudaDevP2PAttrAccessSupported = 2,
  __pyx_e_4cuda_7ccudart_cudaDevP2PAttrNativeAtomicSupported = 3,
  __pyx_e_4cuda_7ccudart_cudaDevP2PAttrCudaArrayAccessSupported = 4
};

/* "cuda/ccudart.pxd":809
 * ctypedef cudaIpcMemHandle_st cudaIpcMemHandle_t
 * 
 * cdef enum cudaExternalMemoryHandleType:             # <<<<<<<<<<<<<<
 *     cudaExternalMemoryHandleTypeOpaqueFd = 1
 *     cudaExternalMemoryHandleTypeOpaqueWin32 = 2
 */
enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType {
  __pyx_e_4cuda_7ccudart_cudaExternalMemoryHandleTypeOpaqueFd = 1,
  __pyx_e_4cuda_7ccudart_cudaExternalMemoryHandleTypeOpaqueWin32 = 2,
  __pyx_e_4cuda_7ccudart_cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3,
  __pyx_e_4cuda_7ccudart_cudaExternalMemoryHandleTypeD3D12Heap = 4,
  __pyx_e_4cuda_7ccudart_cudaExternalMemoryHandleTypeD3D12Resource = 5,
  __pyx_e_4cuda_7ccudart_cudaExternalMemoryHandleTypeD3D11Resource = 6,
  __pyx_e_4cuda_7ccudart_cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7,
  __pyx_e_4cuda_7ccudart_cudaExternalMemoryHandleTypeNvSciBuf = 8
};

/* "cuda/ccudart.pxd":846
 *     unsigned int numLevels
 * 
 * cdef enum cudaExternalSemaphoreHandleType:             # <<<<<<<<<<<<<<
 *     cudaExternalSemaphoreHandleTypeOpaqueFd = 1
 *     cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2
 */
enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType {
  __pyx_e_4cuda_7ccudart_cudaExternalSemaphoreHandleTypeOpaqueFd = 1,
  __pyx_e_4cuda_7ccudart_cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2,
  __pyx_e_4cuda_7ccudart_cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3,
  __pyx_e_4cuda_7ccudart_cudaExternalSemaphoreHandleTypeD3D12Fence = 4,
  __pyx_e_4cuda_7ccudart_cudaExternalSemaphoreHandleTypeD3D11Fence = 5,
  __pyx_e_4cuda_7ccudart_cudaExternalSemaphoreHandleTypeNvSciSync = 6,
  __pyx_e_4cuda_7ccudart_cudaExternalSemaphoreHandleTypeKeyedMutex = 7,
  __pyx_e_4cuda_7ccudart_cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8,
  __pyx_e_4cuda_7ccudart_cudaExternalSemaphoreHandleTypeTimelineSemaphoreFd = 9,
  __pyx_e_4cuda_7ccudart_cudaExternalSemaphoreHandleTypeTimelineSemaphoreWin32 = 10
};

/* "cuda/ccudart.pxd":969
 * ctypedef CUmemPoolHandle_st* cudaMemPool_t
 * 
 * cdef enum cudaCGScope:             # <<<<<<<<<<<<<<
 *     cudaCGScopeInvalid = 0
 *     cudaCGScopeGrid = 1
 */
enum __pyx_t_4cuda_7ccudart_cudaCGScope {
  __pyx_e_4cuda_7ccudart_cudaCGScopeInvalid = 0,
  __pyx_e_4cuda_7ccudart_cudaCGScopeGrid = 1,
  __pyx_e_4cuda_7ccudart_cudaCGScopeMultiGrid = 2
};

/* "cuda/ccudart.pxd":992
 *     unsigned int numExtSems
 * 
 * cdef enum cudaGraphNodeType:             # <<<<<<<<<<<<<<
 *     cudaGraphNodeTypeKernel = 0x00
 *     cudaGraphNodeTypeMemcpy = 0x01
 */
enum __pyx_t_4cuda_7ccudart_cudaGraphNodeType {
  __pyx_e_4cuda_7ccudart_cudaGraphNodeTypeKernel = 0x00,
  __pyx_e_4cuda_7ccudart_cudaGraphNodeTypeMemcpy = 0x01,
  __pyx_e_4cuda_7ccudart_cudaGraphNodeTypeMemset = 0x02,
  __pyx_e_4cuda_7ccudart_cudaGraphNodeTypeHost = 0x03,
  __pyx_e_4cuda_7ccudart_cudaGraphNodeTypeGraph = 0x04,
  __pyx_e_4cuda_7ccudart_cudaGraphNodeTypeEmpty = 0x05,
  __pyx_e_4cuda_7ccudart_cudaGraphNodeTypeWaitEvent = 0x06,
  __pyx_e_4cuda_7ccudart_cudaGraphNodeTypeEventRecord = 0x07,
  __pyx_e_4cuda_7ccudart_cudaGraphNodeTypeExtSemaphoreSignal = 0x08,
  __pyx_e_4cuda_7ccudart_cudaGraphNodeTypeExtSemaphoreWait = 0x09,
  __pyx_e_4cuda_7ccudart_cudaGraphNodeTypeMemAlloc = 0x0a,
  __pyx_e_4cuda_7ccudart_cudaGraphNodeTypeMemFree = 0x0b,
  __pyx_e_4cuda_7ccudart_cudaGraphNodeTypeCount
};

/* "cuda/ccudart.pxd":1012
 * ctypedef CUgraphExec_st* cudaGraphExec_t
 * 
 * cdef enum cudaGraphExecUpdateResult:             # <<<<<<<<<<<<<<
 *     cudaGraphExecUpdateSuccess = 0x0
 *     cudaGraphExecUpdateError = 0x1
 */
enum __pyx_t_4cuda_7ccudart_cudaGraphExecUpdateResult {
  __pyx_e_4cuda_7ccudart_cudaGraphExecUpdateSuccess = 0x0,
  __pyx_e_4cuda_7ccudart_cudaGraphExecUpdateError = 0x1,
  __pyx_e_4cuda_7ccudart_cudaGraphExecUpdateErrorTopologyChanged = 0x2,
  __pyx_e_4cuda_7ccudart_cudaGraphExecUpdateErrorNodeTypeChanged = 0x3,
  __pyx_e_4cuda_7ccudart_cudaGraphExecUpdateErrorFunctionChanged = 0x4,
  __pyx_e_4cuda_7ccudart_cudaGraphExecUpdateErrorParametersChanged = 0x5,
  __pyx_e_4cuda_7ccudart_cudaGraphExecUpdateErrorNotSupported = 0x6,
  __pyx_e_4cuda_7ccudart_cudaGraphExecUpdateErrorUnsupportedFunctionChange = 0x7
};

/* "cuda/ccudart.pxd":1022
 *     cudaGraphExecUpdateErrorUnsupportedFunctionChange = 0x7
 * 
 * cdef enum cudaGetDriverEntryPointFlags:             # <<<<<<<<<<<<<<
 *     cudaEnableDefault = 0x0
 *     cudaEnableLegacyStream = 0x1
 */
enum __pyx_t_4cuda_7ccudart_cudaGetDriverEntryPointFlags {
  __pyx_e_4cuda_7ccudart_cudaEnableDefault = 0x0,
  __pyx_e_4cuda_7ccudart_cudaEnableLegacyStream = 0x1,
  __pyx_e_4cuda_7ccudart_cudaEnablePerThreadDefaultStream = 0x2
};

/* "cuda/ccudart.pxd":1027
 *     cudaEnablePerThreadDefaultStream = 0x2
 * 
 * cdef enum cudaGraphDebugDotFlags:             # <<<<<<<<<<<<<<
 *     cudaGraphDebugDotFlagsVerbose = 1<<0
 *     cudaGraphDebugDotFlagsKernelNodeParams = 1<<2
 */
enum __pyx_t_4cuda_7ccudart_cudaGraphDebugDotFlags {

  /* "cuda/ccudart.pxd":1037
 *     cudaGraphDebugDotFlagsExtSemasWaitNodeParams = 1<<8
 *     cudaGraphDebugDotFlagsKernelNodeAttributes = 1<<9
 *     cudaGraphDebugDotFlagsHandles = 1<<10             # <<<<<<<<<<<<<<
 * 
 * cdef enum cudaGraphInstantiateFlags:
 */
  __pyx_e_4cuda_7ccudart_cudaGraphDebugDotFlagsVerbose = (1 << 0),
  __pyx_e_4cuda_7ccudart_cudaGraphDebugDotFlagsKernelNodeParams = (1 << 2),
  __pyx_e_4cuda_7ccudart_cudaGraphDebugDotFlagsMemcpyNodeParams = (1 << 3),
  __pyx_e_4cuda_7ccudart_cudaGraphDebugDotFlagsMemsetNodeParams = (1 << 4),
  __pyx_e_4cuda_7ccudart_cudaGraphDebugDotFlagsHostNodeParams = (1 << 5),
  __pyx_e_4cuda_7ccudart_cudaGraphDebugDotFlagsEventNodeParams = (1 << 6),
  __pyx_e_4cuda_7ccudart_cudaGraphDebugDotFlagsExtSemasSignalNodeParams = (1 << 7),
  __pyx_e_4cuda_7ccudart_cudaGraphDebugDotFlagsExtSemasWaitNodeParams = (1 << 8),
  __pyx_e_4cuda_7ccudart_cudaGraphDebugDotFlagsKernelNodeAttributes = (1 << 9),
  __pyx_e_4cuda_7ccudart_cudaGraphDebugDotFlagsHandles = (1 << 10)
};

/* "cuda/ccudart.pxd":1039
 *     cudaGraphDebugDotFlagsHandles = 1<<10
 * 
 * cdef enum cudaGraphInstantiateFlags:             # <<<<<<<<<<<<<<
 *     cudaGraphInstantiateFlagAutoFreeOnLaunch = 1
 * 
 */
enum __pyx_t_4cuda_7ccudart_cudaGraphInstantiateFlags {
  __pyx_e_4cuda_7ccudart_cudaGraphInstantiateFlagAutoFreeOnLaunch = 1
};

/* "cuda/ccudart.pxd":1042
 *     cudaGraphInstantiateFlagAutoFreeOnLaunch = 1
 * 
 * cdef enum cudaSurfaceBoundaryMode:             # <<<<<<<<<<<<<<
 *     cudaBoundaryModeZero = 0
 *     cudaBoundaryModeClamp = 1
 */
enum __pyx_t_4cuda_7ccudart_cudaSurfaceBoundaryMode {
  __pyx_e_4cuda_7ccudart_cudaBoundaryModeZero = 0,
  __pyx_e_4cuda_7ccudart_cudaBoundaryModeClamp = 1,
  __pyx_e_4cuda_7ccudart_cudaBoundaryModeTrap = 2
};

/* "cuda/ccudart.pxd":1047
 *     cudaBoundaryModeTrap = 2
 * 
 * cdef enum cudaSurfaceFormatMode:             # <<<<<<<<<<<<<<
 *     cudaFormatModeForced = 0
 *     cudaFormatModeAuto = 1
 */
enum __pyx_t_4cuda_7ccudart_cudaSurfaceFormatMode {
  __pyx_e_4cuda_7ccudart_cudaFormatModeForced = 0,
  __pyx_e_4cuda_7ccudart_cudaFormatModeAuto = 1
};

/* "cuda/ccudart.pxd":1053
 * ctypedef unsigned long long cudaSurfaceObject_t
 * 
 * cdef enum cudaTextureAddressMode:             # <<<<<<<<<<<<<<
 *     cudaAddressModeWrap = 0
 *     cudaAddressModeClamp = 1
 */
enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode {
  __pyx_e_4cuda_7ccudart_cudaAddressModeWrap = 0,
  __pyx_e_4cuda_7ccudart_cudaAddressModeClamp = 1,
  __pyx_e_4cuda_7ccudart_cudaAddressModeMirror = 2,
  __pyx_e_4cuda_7ccudart_cudaAddressModeBorder = 3
};

/* "cuda/ccudart.pxd":1059
 *     cudaAddressModeBorder = 3
 * 
 * cdef enum cudaTextureFilterMode:             # <<<<<<<<<<<<<<
 *     cudaFilterModePoint = 0
 *     cudaFilterModeLinear = 1
 */
enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode {
  __pyx_e_4cuda_7ccudart_cudaFilterModePoint = 0,
  __pyx_e_4cuda_7ccudart_cudaFilterModeLinear = 1
};

/* "cuda/ccudart.pxd":1063
 *     cudaFilterModeLinear = 1
 * 
 * cdef enum cudaTextureReadMode:             # <<<<<<<<<<<<<<
 *     cudaReadModeElementType = 0
 *     cudaReadModeNormalizedFloat = 1
 */
enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode {
  __pyx_e_4cuda_7ccudart_cudaReadModeElementType = 0,
  __pyx_e_4cuda_7ccudart_cudaReadModeNormalizedFloat = 1
};

/* "cuda/ccudart.pxd":1083
 * ctypedef unsigned long long cudaTextureObject_t
 * 
 * cdef enum cudaDataType_t:             # <<<<<<<<<<<<<<
 *     CUDA_R_16F = 2
 *     CUDA_C_16F = 6
 */
enum __pyx_t_4cuda_7ccudart_cudaDataType_t {
  __pyx_e_4cuda_7ccudart_CUDA_R_16F = 2,
  __pyx_e_4cuda_7ccudart_CUDA_C_16F = 6,
  __pyx_e_4cuda_7ccudart_CUDA_R_16BF = 14,
  __pyx_e_4cuda_7ccudart_CUDA_C_16BF = 15,
  __pyx_e_4cuda_7ccudart_CUDA_R_32F = 0,
  __pyx_e_4cuda_7ccudart_CUDA_C_32F = 4,
  __pyx_e_4cuda_7ccudart_CUDA_R_64F = 1,
  __pyx_e_4cuda_7ccudart_CUDA_C_64F = 5,
  __pyx_e_4cuda_7ccudart_CUDA_R_4I = 16,
  __pyx_e_4cuda_7ccudart_CUDA_C_4I = 17,
  __pyx_e_4cuda_7ccudart_CUDA_R_4U = 18,
  __pyx_e_4cuda_7ccudart_CUDA_C_4U = 19,
  __pyx_e_4cuda_7ccudart_CUDA_R_8I = 3,
  __pyx_e_4cuda_7ccudart_CUDA_C_8I = 7,
  __pyx_e_4cuda_7ccudart_CUDA_R_8U = 8,
  __pyx_e_4cuda_7ccudart_CUDA_C_8U = 9,
  __pyx_e_4cuda_7ccudart_CUDA_R_16I = 20,
  __pyx_e_4cuda_7ccudart_CUDA_C_16I = 21,
  __pyx_e_4cuda_7ccudart_CUDA_R_16U = 22,
  __pyx_e_4cuda_7ccudart_CUDA_C_16U = 23,
  __pyx_e_4cuda_7ccudart_CUDA_R_32I = 10,
  __pyx_e_4cuda_7ccudart_CUDA_C_32I = 11,
  __pyx_e_4cuda_7ccudart_CUDA_R_32U = 12,
  __pyx_e_4cuda_7ccudart_CUDA_C_32U = 13,
  __pyx_e_4cuda_7ccudart_CUDA_R_64I = 24,
  __pyx_e_4cuda_7ccudart_CUDA_C_64I = 25,
  __pyx_e_4cuda_7ccudart_CUDA_R_64U = 26,
  __pyx_e_4cuda_7ccudart_CUDA_C_64U = 27
};

/* "cuda/ccudart.pxd":1115
 * ctypedef cudaDataType_t cudaDataType
 * 
 * cdef enum libraryPropertyType_t:             # <<<<<<<<<<<<<<
 *     MAJOR_VERSION
 *     MINOR_VERSION
 */
enum __pyx_t_4cuda_7ccudart_libraryPropertyType_t {
  __pyx_e_4cuda_7ccudart_MAJOR_VERSION,
  __pyx_e_4cuda_7ccudart_MINOR_VERSION,
  __pyx_e_4cuda_7ccudart_PATCH_LEVEL
};

/* "cuda/ccudart.pxd":1640
 * cdef cudaExtent make_cudaExtent(size_t w, size_t h, size_t d) nogil
 * 
 * cdef enum: cudaHostAllocDefault = 0x00             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaHostAllocPortable = 0x01
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaHostAllocDefault = 0x00
};

/* "cuda/ccudart.pxd":1642
 * cdef enum: cudaHostAllocDefault = 0x00
 * 
 * cdef enum: cudaHostAllocPortable = 0x01             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaHostAllocMapped = 0x02
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaHostAllocPortable = 0x01
};

/* "cuda/ccudart.pxd":1644
 * cdef enum: cudaHostAllocPortable = 0x01
 * 
 * cdef enum: cudaHostAllocMapped = 0x02             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaHostAllocWriteCombined = 0x04
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaHostAllocMapped = 0x02
};

/* "cuda/ccudart.pxd":1646
 * cdef enum: cudaHostAllocMapped = 0x02
 * 
 * cdef enum: cudaHostAllocWriteCombined = 0x04             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaHostRegisterDefault = 0x00
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaHostAllocWriteCombined = 0x04
};

/* "cuda/ccudart.pxd":1648
 * cdef enum: cudaHostAllocWriteCombined = 0x04
 * 
 * cdef enum: cudaHostRegisterDefault = 0x00             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaHostRegisterPortable = 0x01
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaHostRegisterDefault = 0x00
};

/* "cuda/ccudart.pxd":1650
 * cdef enum: cudaHostRegisterDefault = 0x00
 * 
 * cdef enum: cudaHostRegisterPortable = 0x01             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaHostRegisterMapped = 0x02
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaHostRegisterPortable = 0x01
};

/* "cuda/ccudart.pxd":1652
 * cdef enum: cudaHostRegisterPortable = 0x01
 * 
 * cdef enum: cudaHostRegisterMapped = 0x02             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaHostRegisterIoMemory = 0x04
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaHostRegisterMapped = 0x02
};

/* "cuda/ccudart.pxd":1654
 * cdef enum: cudaHostRegisterMapped = 0x02
 * 
 * cdef enum: cudaHostRegisterIoMemory = 0x04             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaHostRegisterReadOnly = 0x08
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaHostRegisterIoMemory = 0x04
};

/* "cuda/ccudart.pxd":1656
 * cdef enum: cudaHostRegisterIoMemory = 0x04
 * 
 * cdef enum: cudaHostRegisterReadOnly = 0x08             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaPeerAccessDefault = 0x00
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaHostRegisterReadOnly = 0x08
};

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

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

/* "cuda/ccudart.pxd":1662
 * cdef enum: cudaStreamDefault = 0x00
 * 
 * cdef enum: cudaStreamNonBlocking = 0x01             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaStreamLegacy = 0x1
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaStreamNonBlocking = 0x01
};

/* "cuda/ccudart.pxd":1664
 * cdef enum: cudaStreamNonBlocking = 0x01
 * 
 * cdef enum: cudaStreamLegacy = 0x1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaStreamPerThread = 0x2
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaStreamLegacy = 0x1
};

/* "cuda/ccudart.pxd":1666
 * cdef enum: cudaStreamLegacy = 0x1
 * 
 * cdef enum: cudaStreamPerThread = 0x2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaEventDefault = 0x00
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaStreamPerThread = 0x2
};

/* "cuda/ccudart.pxd":1668
 * cdef enum: cudaStreamPerThread = 0x2
 * 
 * cdef enum: cudaEventDefault = 0x00             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaEventBlockingSync = 0x01
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaEventDefault = 0x00
};

/* "cuda/ccudart.pxd":1670
 * cdef enum: cudaEventDefault = 0x00
 * 
 * cdef enum: cudaEventBlockingSync = 0x01             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaEventDisableTiming = 0x02
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaEventBlockingSync = 0x01
};

/* "cuda/ccudart.pxd":1672
 * cdef enum: cudaEventBlockingSync = 0x01
 * 
 * cdef enum: cudaEventDisableTiming = 0x02             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaEventInterprocess = 0x04
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaEventDisableTiming = 0x02
};

/* "cuda/ccudart.pxd":1674
 * cdef enum: cudaEventDisableTiming = 0x02
 * 
 * cdef enum: cudaEventInterprocess = 0x04             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaEventRecordDefault = 0x00
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaEventInterprocess = 0x04
};

/* "cuda/ccudart.pxd":1676
 * cdef enum: cudaEventInterprocess = 0x04
 * 
 * cdef enum: cudaEventRecordDefault = 0x00             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaEventRecordExternal = 0x01
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaEventRecordDefault = 0x00
};

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

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

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

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

/* "cuda/ccudart.pxd":1686
 * cdef enum: cudaDeviceScheduleAuto = 0x00
 * 
 * cdef enum: cudaDeviceScheduleSpin = 0x01             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaDeviceScheduleYield = 0x02
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaDeviceScheduleSpin = 0x01
};

/* "cuda/ccudart.pxd":1688
 * cdef enum: cudaDeviceScheduleSpin = 0x01
 * 
 * cdef enum: cudaDeviceScheduleYield = 0x02             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaDeviceScheduleBlockingSync = 0x04
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaDeviceScheduleYield = 0x02
};

/* "cuda/ccudart.pxd":1690
 * cdef enum: cudaDeviceScheduleYield = 0x02
 * 
 * cdef enum: cudaDeviceScheduleBlockingSync = 0x04             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaDeviceBlockingSync = 0x04
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaDeviceScheduleBlockingSync = 0x04
};

/* "cuda/ccudart.pxd":1692
 * cdef enum: cudaDeviceScheduleBlockingSync = 0x04
 * 
 * cdef enum: cudaDeviceBlockingSync = 0x04             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaDeviceScheduleMask = 0x07
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaDeviceBlockingSync = 0x04
};

/* "cuda/ccudart.pxd":1694
 * cdef enum: cudaDeviceBlockingSync = 0x04
 * 
 * cdef enum: cudaDeviceScheduleMask = 0x07             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaDeviceMapHost = 0x08
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaDeviceScheduleMask = 0x07
};

/* "cuda/ccudart.pxd":1696
 * cdef enum: cudaDeviceScheduleMask = 0x07
 * 
 * cdef enum: cudaDeviceMapHost = 0x08             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaDeviceLmemResizeToMax = 0x10
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaDeviceMapHost = 0x08
};

/* "cuda/ccudart.pxd":1698
 * cdef enum: cudaDeviceMapHost = 0x08
 * 
 * cdef enum: cudaDeviceLmemResizeToMax = 0x10             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaDeviceMask = 0x1f
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaDeviceLmemResizeToMax = 0x10
};

/* "cuda/ccudart.pxd":1700
 * cdef enum: cudaDeviceLmemResizeToMax = 0x10
 * 
 * cdef enum: cudaDeviceMask = 0x1f             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaArrayDefault = 0x00
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaDeviceMask = 0x1f
};

/* "cuda/ccudart.pxd":1702
 * cdef enum: cudaDeviceMask = 0x1f
 * 
 * cdef enum: cudaArrayDefault = 0x00             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaArrayLayered = 0x01
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaArrayDefault = 0x00
};

/* "cuda/ccudart.pxd":1704
 * cdef enum: cudaArrayDefault = 0x00
 * 
 * cdef enum: cudaArrayLayered = 0x01             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaArraySurfaceLoadStore = 0x02
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaArrayLayered = 0x01
};

/* "cuda/ccudart.pxd":1706
 * cdef enum: cudaArrayLayered = 0x01
 * 
 * cdef enum: cudaArraySurfaceLoadStore = 0x02             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaArrayCubemap = 0x04
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaArraySurfaceLoadStore = 0x02
};

/* "cuda/ccudart.pxd":1708
 * cdef enum: cudaArraySurfaceLoadStore = 0x02
 * 
 * cdef enum: cudaArrayCubemap = 0x04             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaArrayTextureGather = 0x08
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaArrayCubemap = 0x04
};

/* "cuda/ccudart.pxd":1710
 * cdef enum: cudaArrayCubemap = 0x04
 * 
 * cdef enum: cudaArrayTextureGather = 0x08             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaArrayColorAttachment = 0x20
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaArrayTextureGather = 0x08
};

/* "cuda/ccudart.pxd":1712
 * cdef enum: cudaArrayTextureGather = 0x08
 * 
 * cdef enum: cudaArrayColorAttachment = 0x20             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaArraySparse = 0x40
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaArrayColorAttachment = 0x20
};

/* "cuda/ccudart.pxd":1714
 * cdef enum: cudaArrayColorAttachment = 0x20
 * 
 * cdef enum: cudaArraySparse = 0x40             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaIpcMemLazyEnablePeerAccess = 0x01
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaArraySparse = 0x40
};

/* "cuda/ccudart.pxd":1716
 * cdef enum: cudaArraySparse = 0x40
 * 
 * cdef enum: cudaIpcMemLazyEnablePeerAccess = 0x01             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaMemAttachGlobal = 0x01
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaIpcMemLazyEnablePeerAccess = 0x01
};

/* "cuda/ccudart.pxd":1718
 * cdef enum: cudaIpcMemLazyEnablePeerAccess = 0x01
 * 
 * cdef enum: cudaMemAttachGlobal = 0x01             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaMemAttachHost = 0x02
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaMemAttachGlobal = 0x01
};

/* "cuda/ccudart.pxd":1720
 * cdef enum: cudaMemAttachGlobal = 0x01
 * 
 * cdef enum: cudaMemAttachHost = 0x02             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaMemAttachSingle = 0x04
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaMemAttachHost = 0x02
};

/* "cuda/ccudart.pxd":1722
 * cdef enum: cudaMemAttachHost = 0x02
 * 
 * cdef enum: cudaMemAttachSingle = 0x04             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaOccupancyDefault = 0x00
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaMemAttachSingle = 0x04
};

/* "cuda/ccudart.pxd":1724
 * cdef enum: cudaMemAttachSingle = 0x04
 * 
 * cdef enum: cudaOccupancyDefault = 0x00             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaOccupancyDisableCachingOverride = 0x01
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaOccupancyDefault = 0x00
};

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

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

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

/* "cuda/ccudart.pxd":1732
 * cdef enum: cudaInvalidDeviceId = -2
 * 
 * cdef enum: cudaCooperativeLaunchMultiDeviceNoPreSync = 0x01             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaCooperativeLaunchMultiDeviceNoPostSync = 0x02
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaCooperativeLaunchMultiDeviceNoPreSync = 0x01
};

/* "cuda/ccudart.pxd":1734
 * cdef enum: cudaCooperativeLaunchMultiDeviceNoPreSync = 0x01
 * 
 * cdef enum: cudaCooperativeLaunchMultiDeviceNoPostSync = 0x02             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaArraySparsePropertiesSingleMipTail = 0x1
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaCooperativeLaunchMultiDeviceNoPostSync = 0x02
};

/* "cuda/ccudart.pxd":1736
 * cdef enum: cudaCooperativeLaunchMultiDeviceNoPostSync = 0x02
 * 
 * cdef enum: cudaArraySparsePropertiesSingleMipTail = 0x1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CUDA_IPC_HANDLE_SIZE = 64
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaArraySparsePropertiesSingleMipTail = 0x1
};

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

/* "cuda/ccudart.pxd":1740
 * cdef enum: CUDA_IPC_HANDLE_SIZE = 64
 * 
 * cdef enum: cudaExternalMemoryDedicated = 0x1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaExternalSemaphoreSignalSkipNvSciBufMemSync = 0x01
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaExternalMemoryDedicated = 0x1
};

/* "cuda/ccudart.pxd":1742
 * cdef enum: cudaExternalMemoryDedicated = 0x1
 * 
 * cdef enum: cudaExternalSemaphoreSignalSkipNvSciBufMemSync = 0x01             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaExternalSemaphoreWaitSkipNvSciBufMemSync = 0x02
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaExternalSemaphoreSignalSkipNvSciBufMemSync = 0x01
};

/* "cuda/ccudart.pxd":1744
 * cdef enum: cudaExternalSemaphoreSignalSkipNvSciBufMemSync = 0x01
 * 
 * cdef enum: cudaExternalSemaphoreWaitSkipNvSciBufMemSync = 0x02             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaNvSciSyncAttrSignal = 0x1
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaExternalSemaphoreWaitSkipNvSciBufMemSync = 0x02
};

/* "cuda/ccudart.pxd":1746
 * cdef enum: cudaExternalSemaphoreWaitSkipNvSciBufMemSync = 0x02
 * 
 * cdef enum: cudaNvSciSyncAttrSignal = 0x1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaNvSciSyncAttrWait = 0x2
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaNvSciSyncAttrSignal = 0x1
};

/* "cuda/ccudart.pxd":1748
 * cdef enum: cudaNvSciSyncAttrSignal = 0x1
 * 
 * cdef enum: cudaNvSciSyncAttrWait = 0x2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaSurfaceType1D = 0x01
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaNvSciSyncAttrWait = 0x2
};

/* "cuda/ccudart.pxd":1750
 * cdef enum: cudaNvSciSyncAttrWait = 0x2
 * 
 * cdef enum: cudaSurfaceType1D = 0x01             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaSurfaceType2D = 0x02
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaSurfaceType1D = 0x01
};

/* "cuda/ccudart.pxd":1752
 * cdef enum: cudaSurfaceType1D = 0x01
 * 
 * cdef enum: cudaSurfaceType2D = 0x02             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaSurfaceType3D = 0x03
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaSurfaceType2D = 0x02
};

/* "cuda/ccudart.pxd":1754
 * cdef enum: cudaSurfaceType2D = 0x02
 * 
 * cdef enum: cudaSurfaceType3D = 0x03             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaSurfaceTypeCubemap = 0x0C
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaSurfaceType3D = 0x03
};

/* "cuda/ccudart.pxd":1756
 * cdef enum: cudaSurfaceType3D = 0x03
 * 
 * cdef enum: cudaSurfaceTypeCubemap = 0x0C             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaSurfaceType1DLayered = 0xF1
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaSurfaceTypeCubemap = 0x0C
};

/* "cuda/ccudart.pxd":1758
 * cdef enum: cudaSurfaceTypeCubemap = 0x0C
 * 
 * cdef enum: cudaSurfaceType1DLayered = 0xF1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaSurfaceType2DLayered = 0xF2
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaSurfaceType1DLayered = 0xF1
};

/* "cuda/ccudart.pxd":1760
 * cdef enum: cudaSurfaceType1DLayered = 0xF1
 * 
 * cdef enum: cudaSurfaceType2DLayered = 0xF2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaSurfaceTypeCubemapLayered = 0xFC
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaSurfaceType2DLayered = 0xF2
};

/* "cuda/ccudart.pxd":1762
 * cdef enum: cudaSurfaceType2DLayered = 0xF2
 * 
 * cdef enum: cudaSurfaceTypeCubemapLayered = 0xFC             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaTextureType1D = 0x01
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaSurfaceTypeCubemapLayered = 0xFC
};

/* "cuda/ccudart.pxd":1764
 * cdef enum: cudaSurfaceTypeCubemapLayered = 0xFC
 * 
 * cdef enum: cudaTextureType1D = 0x01             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaTextureType2D = 0x02
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaTextureType1D = 0x01
};

/* "cuda/ccudart.pxd":1766
 * cdef enum: cudaTextureType1D = 0x01
 * 
 * cdef enum: cudaTextureType2D = 0x02             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaTextureType3D = 0x03
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaTextureType2D = 0x02
};

/* "cuda/ccudart.pxd":1768
 * cdef enum: cudaTextureType2D = 0x02
 * 
 * cdef enum: cudaTextureType3D = 0x03             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaTextureTypeCubemap = 0x0C
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaTextureType3D = 0x03
};

/* "cuda/ccudart.pxd":1770
 * cdef enum: cudaTextureType3D = 0x03
 * 
 * cdef enum: cudaTextureTypeCubemap = 0x0C             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaTextureType1DLayered = 0xF1
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaTextureTypeCubemap = 0x0C
};

/* "cuda/ccudart.pxd":1772
 * cdef enum: cudaTextureTypeCubemap = 0x0C
 * 
 * cdef enum: cudaTextureType1DLayered = 0xF1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaTextureType2DLayered = 0xF2
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaTextureType1DLayered = 0xF1
};

/* "cuda/ccudart.pxd":1774
 * cdef enum: cudaTextureType1DLayered = 0xF1
 * 
 * cdef enum: cudaTextureType2DLayered = 0xF2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: cudaTextureTypeCubemapLayered = 0xFC
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaTextureType2DLayered = 0xF2
};

/* "cuda/ccudart.pxd":1776
 * cdef enum: cudaTextureType2DLayered = 0xF2
 * 
 * cdef enum: cudaTextureTypeCubemapLayered = 0xFC             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CUDART_VERSION = 11050
 */
enum  {
  __pyx_e_4cuda_7ccudart_cudaTextureTypeCubemapLayered = 0xFC
};

/* "cuda/ccudart.pxd":1778
 * cdef enum: cudaTextureTypeCubemapLayered = 0xFC
 * 
 * cdef enum: CUDART_VERSION = 11050             # <<<<<<<<<<<<<<
 */
enum  {
  __pyx_e_4cuda_7ccudart_CUDART_VERSION = 0x2B2A
};

/* "cuda/ccudart.pxd":15
 *     cudaRoundMinInf
 * 
 * cdef struct dim3:             # <<<<<<<<<<<<<<
 *     unsigned int x
 *     unsigned int y
 */
struct __pyx_t_4cuda_7ccudart_dim3 {
  unsigned int x;
  unsigned int y;
  unsigned int z;
};

/* "cuda/ccudart.pxd":178
 *     cudaChannelFormatKindUnsignedBlockCompressed7SRGB = 30
 * 
 * cdef struct cudaChannelFormatDesc:             # <<<<<<<<<<<<<<
 *     int x
 *     int y
 */
struct __pyx_t_4cuda_7ccudart_cudaChannelFormatDesc {
  int x;
  int y;
  int z;
  int w;
  enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind f;
};

/* "cuda/ccudart.pxd":188
 *     cdef struct cudaArray:
 *         pass
 * ctypedef cudaArray* cudaArray_t             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "":
 */
typedef struct cudaArray *__pyx_t_4cuda_7ccudart_cudaArray_t;

/* "cuda/ccudart.pxd":193
 *     cdef struct cudaArray:
 *         pass
 * ctypedef cudaArray* cudaArray_const_t             # <<<<<<<<<<<<<<
 * 
 * 
 */
typedef struct cudaArray *__pyx_t_4cuda_7ccudart_cudaArray_const_t;

/* "cuda/ccudart.pxd":199
 *     cdef struct cudaMipmappedArray:
 *         pass
 * ctypedef cudaMipmappedArray* cudaMipmappedArray_t             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "":
 */
typedef struct cudaMipmappedArray *__pyx_t_4cuda_7ccudart_cudaMipmappedArray_t;

/* "cuda/ccudart.pxd":204
 *     cdef struct cudaMipmappedArray:
 *         pass
 * ctypedef cudaMipmappedArray* cudaMipmappedArray_const_t             # <<<<<<<<<<<<<<
 * 
 * 
 */
typedef struct cudaMipmappedArray *__pyx_t_4cuda_7ccudart_cudaMipmappedArray_const_t;

/* "cuda/ccudart.pxd":207
 * 
 * 
 * cdef struct _cudaArraySparseProperties_tileExtent_s:             # <<<<<<<<<<<<<<
 *     unsigned int width
 *     unsigned int height
 */
struct __pyx_t_4cuda_7ccudart__cudaArraySparseProperties_tileExtent_s {
  unsigned int width;
  unsigned int height;
  unsigned int depth;
};

/* "cuda/ccudart.pxd":212
 *     unsigned int depth
 * 
 * cdef struct cudaArraySparseProperties:             # <<<<<<<<<<<<<<
 *     _cudaArraySparseProperties_tileExtent_s tileExtent
 *     unsigned int miptailFirstLevel
 */
struct __pyx_t_4cuda_7ccudart_cudaArraySparseProperties {
  struct __pyx_t_4cuda_7ccudart__cudaArraySparseProperties_tileExtent_s tileExtent;
  unsigned int miptailFirstLevel;
  unsigned PY_LONG_LONG miptailSize;
  unsigned int flags;
  unsigned int reserved[4];
};

/* "cuda/ccudart.pxd":232
 *     cudaMemcpyDefault = 4
 * 
 * cdef struct cudaPitchedPtr:             # <<<<<<<<<<<<<<
 *     void* ptr
 *     size_t pitch
 */
struct __pyx_t_4cuda_7ccudart_cudaPitchedPtr {
  void *ptr;
  size_t pitch;
  size_t xsize;
  size_t ysize;
};

/* "cuda/ccudart.pxd":238
 *     size_t ysize
 * 
 * cdef struct cudaExtent:             # <<<<<<<<<<<<<<
 *     size_t width
 *     size_t height
 */
struct __pyx_t_4cuda_7ccudart_cudaExtent {
  size_t width;
  size_t height;
  size_t depth;
};

/* "cuda/ccudart.pxd":243
 *     size_t depth
 * 
 * cdef struct cudaPos:             # <<<<<<<<<<<<<<
 *     size_t x
 *     size_t y
 */
struct __pyx_t_4cuda_7ccudart_cudaPos {
  size_t x;
  size_t y;
  size_t z;
};

/* "cuda/ccudart.pxd":248
 *     size_t z
 * 
 * cdef struct cudaMemcpy3DParms:             # <<<<<<<<<<<<<<
 *     cudaArray_t srcArray
 *     cudaPos srcPos
 */
struct __pyx_t_4cuda_7ccudart_cudaMemcpy3DParms {
  __pyx_t_4cuda_7ccudart_cudaArray_t srcArray;
  struct __pyx_t_4cuda_7ccudart_cudaPos srcPos;
  struct __pyx_t_4cuda_7ccudart_cudaPitchedPtr srcPtr;
  __pyx_t_4cuda_7ccudart_cudaArray_t dstArray;
  struct __pyx_t_4cuda_7ccudart_cudaPos dstPos;
  struct __pyx_t_4cuda_7ccudart_cudaPitchedPtr dstPtr;
  struct __pyx_t_4cuda_7ccudart_cudaExtent extent;
  enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind kind;
};

/* "cuda/ccudart.pxd":258
 *     cudaMemcpyKind kind
 * 
 * cdef struct cudaMemcpy3DPeerParms:             # <<<<<<<<<<<<<<
 *     cudaArray_t srcArray
 *     cudaPos srcPos
 */
struct __pyx_t_4cuda_7ccudart_cudaMemcpy3DPeerParms {
  __pyx_t_4cuda_7ccudart_cudaArray_t srcArray;
  struct __pyx_t_4cuda_7ccudart_cudaPos srcPos;
  struct __pyx_t_4cuda_7ccudart_cudaPitchedPtr srcPtr;
  int srcDevice;
  __pyx_t_4cuda_7ccudart_cudaArray_t dstArray;
  struct __pyx_t_4cuda_7ccudart_cudaPos dstPos;
  struct __pyx_t_4cuda_7ccudart_cudaPitchedPtr dstPtr;
  int dstDevice;
  struct __pyx_t_4cuda_7ccudart_cudaExtent extent;
};

/* "cuda/ccudart.pxd":269
 *     cudaExtent extent
 * 
 * cdef struct cudaMemsetParams:             # <<<<<<<<<<<<<<
 *     void* dst
 *     size_t pitch
 */
struct __pyx_t_4cuda_7ccudart_cudaMemsetParams {
  void *dst;
  size_t pitch;
  unsigned int value;
  unsigned int elementSize;
  size_t width;
  size_t height;
};

/* "cuda/ccudart.pxd":282
 *     cudaAccessPropertyPersisting = 2
 * 
 * cdef struct cudaAccessPolicyWindow:             # <<<<<<<<<<<<<<
 *     void* base_ptr
 *     size_t num_bytes
 */
struct __pyx_t_4cuda_7ccudart_cudaAccessPolicyWindow {
  void *base_ptr;
  size_t num_bytes;
  float hitRatio;
  enum __pyx_t_4cuda_7ccudart_cudaAccessProperty hitProp;
  enum __pyx_t_4cuda_7ccudart_cudaAccessProperty missProp;
};

/* "cuda/ccudart.pxd":289
 *     cudaAccessProperty missProp
 * 
 * ctypedef void (*cudaHostFn_t)(void* userData)             # <<<<<<<<<<<<<<
 * 
 * cdef struct cudaHostNodeParams:
 */
typedef void (*__pyx_t_4cuda_7ccudart_cudaHostFn_t)(void *);

/* "cuda/ccudart.pxd":291
 * ctypedef void (*cudaHostFn_t)(void* userData)
 * 
 * cdef struct cudaHostNodeParams:             # <<<<<<<<<<<<<<
 *     cudaHostFn_t fn
 *     void* userData
 */
struct __pyx_t_4cuda_7ccudart_cudaHostNodeParams {
  __pyx_t_4cuda_7ccudart_cudaHostFn_t fn;
  void *userData;
};

/* "cuda/ccudart.pxd":315
 *     cudaStreamAttributeSynchronizationPolicy = 3
 * 
 * cdef union cudaStreamAttrValue:             # <<<<<<<<<<<<<<
 *     cudaAccessPolicyWindow accessPolicyWindow
 *     cudaSynchronizationPolicy syncPolicy
 */
union __pyx_t_4cuda_7ccudart_cudaStreamAttrValue {
  struct __pyx_t_4cuda_7ccudart_cudaAccessPolicyWindow accessPolicyWindow;
  enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy syncPolicy;
};

/* "cuda/ccudart.pxd":354
 *     cudaKernelNodeAttributeCooperative = 2
 * 
 * cdef union cudaKernelNodeAttrValue:             # <<<<<<<<<<<<<<
 *     cudaAccessPolicyWindow accessPolicyWindow
 *     int cooperative
 */
union __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrValue {
  struct __pyx_t_4cuda_7ccudart_cudaAccessPolicyWindow accessPolicyWindow;
  int cooperative;
};

/* "cuda/ccudart.pxd":401
 *     cudaResViewFormatUnsignedBlockCompressed7 = 0x22
 * 
 * cdef struct _cudaResourceDesc_res_res_array_s:             # <<<<<<<<<<<<<<
 *     cudaArray_t array
 * 
 */
struct __pyx_t_4cuda_7ccudart__cudaResourceDesc_res_res_array_s {
  __pyx_t_4cuda_7ccudart_cudaArray_t array;
};

/* "cuda/ccudart.pxd":404
 *     cudaArray_t array
 * 
 * cdef struct _cudaResourceDesc_res_res_mipmap_s:             # <<<<<<<<<<<<<<
 *     cudaMipmappedArray_t mipmap
 * 
 */
struct __pyx_t_4cuda_7ccudart__cudaResourceDesc_res_res_mipmap_s {
  __pyx_t_4cuda_7ccudart_cudaMipmappedArray_t mipmap;
};

/* "cuda/ccudart.pxd":407
 *     cudaMipmappedArray_t mipmap
 * 
 * cdef struct _cudaResourceDesc_res_res_linear_s:             # <<<<<<<<<<<<<<
 *     void* devPtr
 *     cudaChannelFormatDesc desc
 */
struct __pyx_t_4cuda_7ccudart__cudaResourceDesc_res_res_linear_s {
  void *devPtr;
  struct __pyx_t_4cuda_7ccudart_cudaChannelFormatDesc desc;
  size_t sizeInBytes;
};

/* "cuda/ccudart.pxd":412
 *     size_t sizeInBytes
 * 
 * cdef struct _cudaResourceDesc_res_res_pitch2D_s:             # <<<<<<<<<<<<<<
 *     void* devPtr
 *     cudaChannelFormatDesc desc
 */
struct __pyx_t_4cuda_7ccudart__cudaResourceDesc_res_res_pitch2D_s {
  void *devPtr;
  struct __pyx_t_4cuda_7ccudart_cudaChannelFormatDesc desc;
  size_t width;
  size_t height;
  size_t pitchInBytes;
};

/* "cuda/ccudart.pxd":419
 *     size_t pitchInBytes
 * 
 * cdef union _cudaResourceDesc_res_u:             # <<<<<<<<<<<<<<
 *     _cudaResourceDesc_res_res_array_s array
 *     _cudaResourceDesc_res_res_mipmap_s mipmap
 */
union __pyx_t_4cuda_7ccudart__cudaResourceDesc_res_u {
  struct __pyx_t_4cuda_7ccudart__cudaResourceDesc_res_res_array_s array;
  struct __pyx_t_4cuda_7ccudart__cudaResourceDesc_res_res_mipmap_s mipmap;
  struct __pyx_t_4cuda_7ccudart__cudaResourceDesc_res_res_linear_s linear;
  struct __pyx_t_4cuda_7ccudart__cudaResourceDesc_res_res_pitch2D_s pitch2D;
};

/* "cuda/ccudart.pxd":425
 *     _cudaResourceDesc_res_res_pitch2D_s pitch2D
 * 
 * cdef struct cudaResourceDesc:             # <<<<<<<<<<<<<<
 *     cudaResourceType resType
 *     _cudaResourceDesc_res_u res
 */
struct __pyx_t_4cuda_7ccudart_cudaResourceDesc {
  enum __pyx_t_4cuda_7ccudart_cudaResourceType resType;
  union __pyx_t_4cuda_7ccudart__cudaResourceDesc_res_u res;
};

/* "cuda/ccudart.pxd":429
 *     _cudaResourceDesc_res_u res
 * 
 * cdef struct cudaResourceViewDesc:             # <<<<<<<<<<<<<<
 *     cudaResourceViewFormat format
 *     size_t width
 */
struct __pyx_t_4cuda_7ccudart_cudaResourceViewDesc {
  enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat format;
  size_t width;
  size_t height;
  size_t depth;
  unsigned int firstMipmapLevel;
  unsigned int lastMipmapLevel;
  unsigned int firstLayer;
  unsigned int lastLayer;
};

/* "cuda/ccudart.pxd":439
 *     unsigned int lastLayer
 * 
 * cdef struct cudaPointerAttributes:             # <<<<<<<<<<<<<<
 *     cudaMemoryType type
 *     int device
 */
struct __pyx_t_4cuda_7ccudart_cudaPointerAttributes {
  enum __pyx_t_4cuda_7ccudart_cudaMemoryType type;
  int device;
  void *devicePointer;
  void *hostPointer;
};

/* "cuda/ccudart.pxd":445
 *     void* hostPointer
 * 
 * cdef struct cudaFuncAttributes:             # <<<<<<<<<<<<<<
 *     size_t sharedSizeBytes
 *     size_t constSizeBytes
 */
struct __pyx_t_4cuda_7ccudart_cudaFuncAttributes {
  size_t sharedSizeBytes;
  size_t constSizeBytes;
  size_t localSizeBytes;
  int maxThreadsPerBlock;
  int numRegs;
  int ptxVersion;
  int binaryVersion;
  int cacheModeCA;
  int maxDynamicSharedSizeBytes;
  int preferredShmemCarveout;
};

/* "cuda/ccudart.pxd":657
 *     cudaMemLocationTypeDevice = 1
 * 
 * cdef struct cudaMemLocation:             # <<<<<<<<<<<<<<
 *     cudaMemLocationType type
 *     int id
 */
struct __pyx_t_4cuda_7ccudart_cudaMemLocation {
  enum __pyx_t_4cuda_7ccudart_cudaMemLocationType type;
  int id;
};

/* "cuda/ccudart.pxd":666
 *     cudaMemAccessFlagsProtReadWrite = 3
 * 
 * cdef struct cudaMemAccessDesc:             # <<<<<<<<<<<<<<
 *     cudaMemLocation location
 *     cudaMemAccessFlags flags
 */
struct __pyx_t_4cuda_7ccudart_cudaMemAccessDesc {
  struct __pyx_t_4cuda_7ccudart_cudaMemLocation location;
  enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags flags;
};

/* "cuda/ccudart.pxd":681
 *     cudaMemHandleTypeWin32Kmt = 0x4
 * 
 * cdef struct cudaMemPoolProps:             # <<<<<<<<<<<<<<
 *     cudaMemAllocationType allocType
 *     cudaMemAllocationHandleType handleTypes
 */
struct __pyx_t_4cuda_7ccudart_cudaMemPoolProps {
  enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType allocType;
  enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType handleTypes;
  struct __pyx_t_4cuda_7ccudart_cudaMemLocation location;
  void *win32SecurityAttributes;
  unsigned char reserved[64];
};

/* "cuda/ccudart.pxd":688
 *     unsigned char reserved[64]
 * 
 * cdef struct cudaMemPoolPtrExportData:             # <<<<<<<<<<<<<<
 *     unsigned char reserved[64]
 * 
 */
struct __pyx_t_4cuda_7ccudart_cudaMemPoolPtrExportData {
  unsigned char reserved[64];
};

/* "cuda/ccudart.pxd":691
 *     unsigned char reserved[64]
 * 
 * cdef struct cudaMemAllocNodeParams:             # <<<<<<<<<<<<<<
 *     cudaMemPoolProps poolProps
 *     const cudaMemAccessDesc* accessDescs
 */
struct __pyx_t_4cuda_7ccudart_cudaMemAllocNodeParams {
  struct __pyx_t_4cuda_7ccudart_cudaMemPoolProps poolProps;
  struct __pyx_t_4cuda_7ccudart_cudaMemAccessDesc const *accessDescs;
  size_t accessDescCount;
  size_t bytesize;
  void *dptr;
};

/* "cuda/ccudart.pxd":710
 *     cudaDevP2PAttrCudaArrayAccessSupported = 4
 * 
 * cdef struct CUuuid_st:             # <<<<<<<<<<<<<<
 *     char bytes[16]
 * 
 */
struct __pyx_t_4cuda_7ccudart_CUuuid_st {
  char bytes[16];
};

/* "cuda/ccudart.pxd":713
 *     char bytes[16]
 * 
 * ctypedef CUuuid_st CUuuid             # <<<<<<<<<<<<<<
 * 
 * ctypedef CUuuid_st cudaUUID_t
 */
typedef struct __pyx_t_4cuda_7ccudart_CUuuid_st __pyx_t_4cuda_7ccudart_CUuuid;

/* "cuda/ccudart.pxd":715
 * ctypedef CUuuid_st CUuuid
 * 
 * ctypedef CUuuid_st cudaUUID_t             # <<<<<<<<<<<<<<
 * 
 * cdef struct cudaDeviceProp:
 */
typedef struct __pyx_t_4cuda_7ccudart_CUuuid_st __pyx_t_4cuda_7ccudart_cudaUUID_t;

/* "cuda/ccudart.pxd":717
 * ctypedef CUuuid_st cudaUUID_t
 * 
 * cdef struct cudaDeviceProp:             # <<<<<<<<<<<<<<
 *     char name[256]
 *     cudaUUID_t uuid
 */
struct __pyx_t_4cuda_7ccudart_cudaDeviceProp {
  char name[0x100];
  __pyx_t_4cuda_7ccudart_cudaUUID_t uuid;
  char luid[8];
  unsigned int luidDeviceNodeMask;
  size_t totalGlobalMem;
  size_t sharedMemPerBlock;
  int regsPerBlock;
  int warpSize;
  size_t memPitch;
  int maxThreadsPerBlock;
  int maxThreadsDim[3];
  int maxGridSize[3];
  int clockRate;
  size_t totalConstMem;
  int major;
  int minor;
  size_t textureAlignment;
  size_t texturePitchAlignment;
  int deviceOverlap;
  int multiProcessorCount;
  int kernelExecTimeoutEnabled;
  int integrated;
  int canMapHostMemory;
  int computeMode;
  int maxTexture1D;
  int maxTexture1DMipmap;
  int maxTexture1DLinear;
  int maxTexture2D[2];
  int maxTexture2DMipmap[2];
  int maxTexture2DLinear[3];
  int maxTexture2DGather[2];
  int maxTexture3D[3];
  int maxTexture3DAlt[3];
  int maxTextureCubemap;
  int maxTexture1DLayered[2];
  int maxTexture2DLayered[3];
  int maxTextureCubemapLayered[2];
  int maxSurface1D;
  int maxSurface2D[2];
  int maxSurface3D[3];
  int maxSurface1DLayered[2];
  int maxSurface2DLayered[3];
  int maxSurfaceCubemap;
  int maxSurfaceCubemapLayered[2];
  size_t surfaceAlignment;
  int concurrentKernels;
  int ECCEnabled;
  int pciBusID;
  int pciDeviceID;
  int pciDomainID;
  int tccDriver;
  int asyncEngineCount;
  int unifiedAddressing;
  int memoryClockRate;
  int memoryBusWidth;
  int l2CacheSize;
  int persistingL2CacheMaxSize;
  int maxThreadsPerMultiProcessor;
  int streamPrioritiesSupported;
  int globalL1CacheSupported;
  int localL1CacheSupported;
  size_t sharedMemPerMultiprocessor;
  int regsPerMultiprocessor;
  int managedMemory;
  int isMultiGpuBoard;
  int multiGpuBoardGroupID;
  int hostNativeAtomicSupported;
  int singleToDoublePrecisionPerfRatio;
  int pageableMemoryAccess;
  int concurrentManagedAccess;
  int computePreemptionSupported;
  int canUseHostPointerForRegisteredMem;
  int cooperativeLaunch;
  int cooperativeMultiDeviceLaunch;
  size_t sharedMemPerBlockOptin;
  int pageableMemoryAccessUsesHostPageTables;
  int directManagedMemAccessFromHost;
  int maxBlocksPerMultiProcessor;
  int accessPolicyMaxWindowSize;
  size_t reservedSharedMemPerBlock;
};

/* "cuda/ccudart.pxd":799
 *     size_t reservedSharedMemPerBlock
 * 
 * cdef struct cudaIpcEventHandle_st:             # <<<<<<<<<<<<<<
 *     char reserved[64]
 * 
 */
struct __pyx_t_4cuda_7ccudart_cudaIpcEventHandle_st {
  char reserved[64];
};

/* "cuda/ccudart.pxd":802
 *     char reserved[64]
 * 
 * ctypedef cudaIpcEventHandle_st cudaIpcEventHandle_t             # <<<<<<<<<<<<<<
 * 
 * cdef struct cudaIpcMemHandle_st:
 */
typedef struct __pyx_t_4cuda_7ccudart_cudaIpcEventHandle_st __pyx_t_4cuda_7ccudart_cudaIpcEventHandle_t;

/* "cuda/ccudart.pxd":804
 * ctypedef cudaIpcEventHandle_st cudaIpcEventHandle_t
 * 
 * cdef struct cudaIpcMemHandle_st:             # <<<<<<<<<<<<<<
 *     char reserved[64]
 * 
 */
struct __pyx_t_4cuda_7ccudart_cudaIpcMemHandle_st {
  char reserved[64];
};

/* "cuda/ccudart.pxd":807
 *     char reserved[64]
 * 
 * ctypedef cudaIpcMemHandle_st cudaIpcMemHandle_t             # <<<<<<<<<<<<<<
 * 
 * cdef enum cudaExternalMemoryHandleType:
 */
typedef struct __pyx_t_4cuda_7ccudart_cudaIpcMemHandle_st __pyx_t_4cuda_7ccudart_cudaIpcMemHandle_t;

/* "cuda/ccudart.pxd":819
 *     cudaExternalMemoryHandleTypeNvSciBuf = 8
 * 
 * cdef struct _cudaExternalMemoryHandleDesc_handle_handle_win32_s:             # <<<<<<<<<<<<<<
 *     void* handle
 *     void* name
 */
struct __pyx_t_4cuda_7ccudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s {
  void *handle;
  void *name;
};

/* "cuda/ccudart.pxd":823
 *     void* name
 * 
 * cdef union _cudaExternalMemoryHandleDesc_handle_u:             # <<<<<<<<<<<<<<
 *     int fd
 *     _cudaExternalMemoryHandleDesc_handle_handle_win32_s win32
 */
union __pyx_t_4cuda_7ccudart__cudaExternalMemoryHandleDesc_handle_u {
  int fd;
  struct __pyx_t_4cuda_7ccudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s win32;
  void *nvSciBufObject;
};

/* "cuda/ccudart.pxd":828
 *     void* nvSciBufObject
 * 
 * cdef struct cudaExternalMemoryHandleDesc:             # <<<<<<<<<<<<<<
 *     cudaExternalMemoryHandleType type
 *     _cudaExternalMemoryHandleDesc_handle_u handle
 */
struct __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleDesc {
  enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType type;
  union __pyx_t_4cuda_7ccudart__cudaExternalMemoryHandleDesc_handle_u handle;
  unsigned PY_LONG_LONG size;
  unsigned int flags;
};

/* "cuda/ccudart.pxd":834
 *     unsigned int flags
 * 
 * cdef struct cudaExternalMemoryBufferDesc:             # <<<<<<<<<<<<<<
 *     unsigned long long offset
 *     unsigned long long size
 */
struct __pyx_t_4cuda_7ccudart_cudaExternalMemoryBufferDesc {
  unsigned PY_LONG_LONG offset;
  unsigned PY_LONG_LONG size;
  unsigned int flags;
};

/* "cuda/ccudart.pxd":839
 *     unsigned int flags
 * 
 * cdef struct cudaExternalMemoryMipmappedArrayDesc:             # <<<<<<<<<<<<<<
 *     unsigned long long offset
 *     cudaChannelFormatDesc formatDesc
 */
struct __pyx_t_4cuda_7ccudart_cudaExternalMemoryMipmappedArrayDesc {
  unsigned PY_LONG_LONG offset;
  struct __pyx_t_4cuda_7ccudart_cudaChannelFormatDesc formatDesc;
  struct __pyx_t_4cuda_7ccudart_cudaExtent extent;
  unsigned int flags;
  unsigned int numLevels;
};

/* "cuda/ccudart.pxd":858
 *     cudaExternalSemaphoreHandleTypeTimelineSemaphoreWin32 = 10
 * 
 * cdef struct _cudaExternalSemaphoreHandleDesc_handle_handle_win32_s:             # <<<<<<<<<<<<<<
 *     void* handle
 *     void* name
 */
struct __pyx_t_4cuda_7ccudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s {
  void *handle;
  void *name;
};

/* "cuda/ccudart.pxd":862
 *     void* name
 * 
 * cdef union _cudaExternalSemaphoreHandleDesc_handle_u:             # <<<<<<<<<<<<<<
 *     int fd
 *     _cudaExternalSemaphoreHandleDesc_handle_handle_win32_s win32
 */
union __pyx_t_4cuda_7ccudart__cudaExternalSemaphoreHandleDesc_handle_u {
  int fd;
  struct __pyx_t_4cuda_7ccudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s win32;
  void *nvSciSyncObj;
};

/* "cuda/ccudart.pxd":867
 *     void* nvSciSyncObj
 * 
 * cdef struct cudaExternalSemaphoreHandleDesc:             # <<<<<<<<<<<<<<
 *     cudaExternalSemaphoreHandleType type
 *     _cudaExternalSemaphoreHandleDesc_handle_u handle
 */
struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleDesc {
  enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType type;
  union __pyx_t_4cuda_7ccudart__cudaExternalSemaphoreHandleDesc_handle_u handle;
  unsigned int flags;
};

/* "cuda/ccudart.pxd":872
 *     unsigned int flags
 * 
 * cdef struct _cudaExternalSemaphoreSignalParams_params_params_fence_s:             # <<<<<<<<<<<<<<
 *     unsigned long long value
 * 
 */
struct __pyx_t_4cuda_7ccudart__cudaExternalSemaphoreSignalParams_params_params_fence_s {
  unsigned PY_LONG_LONG value;
};

/* "cuda/ccudart.pxd":875
 *     unsigned long long value
 * 
 * cdef union _cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u:             # <<<<<<<<<<<<<<
 *     void* fence
 *     unsigned long long reserved
 */
union __pyx_t_4cuda_7ccudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u {
  void *fence;
  unsigned PY_LONG_LONG reserved;
};

/* "cuda/ccudart.pxd":879
 *     unsigned long long reserved
 * 
 * cdef struct _cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s:             # <<<<<<<<<<<<<<
 *     unsigned long long key
 * 
 */
struct __pyx_t_4cuda_7ccudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s {
  unsigned PY_LONG_LONG key;
};

/* "cuda/ccudart.pxd":882
 *     unsigned long long key
 * 
 * cdef struct _cudaExternalSemaphoreSignalParams_params_s:             # <<<<<<<<<<<<<<
 *     _cudaExternalSemaphoreSignalParams_params_params_fence_s fence
 *     _cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u nvSciSync
 */
struct __pyx_t_4cuda_7ccudart__cudaExternalSemaphoreSignalParams_params_s {
  struct __pyx_t_4cuda_7ccudart__cudaExternalSemaphoreSignalParams_params_params_fence_s fence;
  union __pyx_t_4cuda_7ccudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u nvSciSync;
  struct __pyx_t_4cuda_7ccudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s keyedMutex;
  unsigned int reserved[12];
};

/* "cuda/ccudart.pxd":888
 *     unsigned int reserved[12]
 * 
 * cdef struct cudaExternalSemaphoreSignalParams:             # <<<<<<<<<<<<<<
 *     _cudaExternalSemaphoreSignalParams_params_s params
 *     unsigned int flags
 */
struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreSignalParams {
  struct __pyx_t_4cuda_7ccudart__cudaExternalSemaphoreSignalParams_params_s params;
  unsigned int flags;
  unsigned int reserved[16];
};

/* "cuda/ccudart.pxd":893
 *     unsigned int reserved[16]
 * 
 * cdef struct _cudaExternalSemaphoreWaitParams_params_params_fence_s:             # <<<<<<<<<<<<<<
 *     unsigned long long value
 * 
 */
struct __pyx_t_4cuda_7ccudart__cudaExternalSemaphoreWaitParams_params_params_fence_s {
  unsigned PY_LONG_LONG value;
};

/* "cuda/ccudart.pxd":896
 *     unsigned long long value
 * 
 * cdef union _cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u:             # <<<<<<<<<<<<<<
 *     void* fence
 *     unsigned long long reserved
 */
union __pyx_t_4cuda_7ccudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u {
  void *fence;
  unsigned PY_LONG_LONG reserved;
};

/* "cuda/ccudart.pxd":900
 *     unsigned long long reserved
 * 
 * cdef struct _cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s:             # <<<<<<<<<<<<<<
 *     unsigned long long key
 *     unsigned int timeoutMs
 */
struct __pyx_t_4cuda_7ccudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s {
  unsigned PY_LONG_LONG key;
  unsigned int timeoutMs;
};

/* "cuda/ccudart.pxd":904
 *     unsigned int timeoutMs
 * 
 * cdef struct _cudaExternalSemaphoreWaitParams_params_s:             # <<<<<<<<<<<<<<
 *     _cudaExternalSemaphoreWaitParams_params_params_fence_s fence
 *     _cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u nvSciSync
 */
struct __pyx_t_4cuda_7ccudart__cudaExternalSemaphoreWaitParams_params_s {
  struct __pyx_t_4cuda_7ccudart__cudaExternalSemaphoreWaitParams_params_params_fence_s fence;
  union __pyx_t_4cuda_7ccudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u nvSciSync;
  struct __pyx_t_4cuda_7ccudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s keyedMutex;
  unsigned int reserved[10];
};

/* "cuda/ccudart.pxd":910
 *     unsigned int reserved[10]
 * 
 * cdef struct cudaExternalSemaphoreWaitParams:             # <<<<<<<<<<<<<<
 *     _cudaExternalSemaphoreWaitParams_params_s params
 *     unsigned int flags
 */
struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreWaitParams {
  struct __pyx_t_4cuda_7ccudart__cudaExternalSemaphoreWaitParams_params_s params;
  unsigned int flags;
  unsigned int reserved[16];
};

/* "cuda/ccudart.pxd":915
 *     unsigned int reserved[16]
 * 
 * ctypedef cudaError cudaError_t             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "":
 */
typedef enum __pyx_t_4cuda_7ccudart_cudaError __pyx_t_4cuda_7ccudart_cudaError_t;

/* "cuda/ccudart.pxd":920
 *     cdef struct CUstream_st:
 *         pass
 * ctypedef CUstream_st* cudaStream_t             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "":
 */
typedef struct CUstream_st *__pyx_t_4cuda_7ccudart_cudaStream_t;

/* "cuda/ccudart.pxd":925
 *     cdef struct CUevent_st:
 *         pass
 * ctypedef CUevent_st* cudaEvent_t             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "":
 */
typedef struct CUevent_st *__pyx_t_4cuda_7ccudart_cudaEvent_t;

/* "cuda/ccudart.pxd":930
 *     cdef struct cudaGraphicsResource:
 *         pass
 * ctypedef cudaGraphicsResource* cudaGraphicsResource_t             # <<<<<<<<<<<<<<
 * 
 * ctypedef cudaOutputMode cudaOutputMode_t
 */
typedef struct cudaGraphicsResource *__pyx_t_4cuda_7ccudart_cudaGraphicsResource_t;

/* "cuda/ccudart.pxd":932
 * ctypedef cudaGraphicsResource* cudaGraphicsResource_t
 * 
 * ctypedef cudaOutputMode cudaOutputMode_t             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "":
 */
typedef enum __pyx_t_4cuda_7ccudart_cudaOutputMode __pyx_t_4cuda_7ccudart_cudaOutputMode_t;

/* "cuda/ccudart.pxd":937
 *     cdef struct CUexternalMemory_st:
 *         pass
 * ctypedef CUexternalMemory_st* cudaExternalMemory_t             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "":
 */
typedef struct CUexternalMemory_st *__pyx_t_4cuda_7ccudart_cudaExternalMemory_t;

/* "cuda/ccudart.pxd":942
 *     cdef struct CUexternalSemaphore_st:
 *         pass
 * ctypedef CUexternalSemaphore_st* cudaExternalSemaphore_t             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "":
 */
typedef struct CUexternalSemaphore_st *__pyx_t_4cuda_7ccudart_cudaExternalSemaphore_t;

/* "cuda/ccudart.pxd":947
 *     cdef struct CUgraph_st:
 *         pass
 * ctypedef CUgraph_st* cudaGraph_t             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "":
 */
typedef struct CUgraph_st *__pyx_t_4cuda_7ccudart_cudaGraph_t;

/* "cuda/ccudart.pxd":952
 *     cdef struct CUgraphNode_st:
 *         pass
 * ctypedef CUgraphNode_st* cudaGraphNode_t             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "":
 */
typedef struct CUgraphNode_st *__pyx_t_4cuda_7ccudart_cudaGraphNode_t;

/* "cuda/ccudart.pxd":957
 *     cdef struct CUuserObject_st:
 *         pass
 * ctypedef CUuserObject_st* cudaUserObject_t             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "":
 */
typedef struct CUuserObject_st *__pyx_t_4cuda_7ccudart_cudaUserObject_t;

/* "cuda/ccudart.pxd":962
 *     cdef struct CUfunc_st:
 *         pass
 * ctypedef CUfunc_st* cudaFunction_t             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "":
 */
typedef struct CUfunc_st *__pyx_t_4cuda_7ccudart_cudaFunction_t;

/* "cuda/ccudart.pxd":967
 *     cdef struct CUmemPoolHandle_st:
 *         pass
 * ctypedef CUmemPoolHandle_st* cudaMemPool_t             # <<<<<<<<<<<<<<
 * 
 * cdef enum cudaCGScope:
 */
typedef struct CUmemPoolHandle_st *__pyx_t_4cuda_7ccudart_cudaMemPool_t;

/* "cuda/ccudart.pxd":974
 *     cudaCGScopeMultiGrid = 2
 * 
 * cdef struct cudaKernelNodeParams:             # <<<<<<<<<<<<<<
 *     void* func
 *     dim3 gridDim
 */
struct __pyx_t_4cuda_7ccudart_cudaKernelNodeParams {
  void *func;
  struct __pyx_t_4cuda_7ccudart_dim3 gridDim;
  struct __pyx_t_4cuda_7ccudart_dim3 blockDim;
  unsigned int sharedMemBytes;
  void **kernelParams;
  void **extra;
};

/* "cuda/ccudart.pxd":982
 *     void** extra
 * 
 * cdef struct cudaExternalSemaphoreSignalNodeParams:             # <<<<<<<<<<<<<<
 *     cudaExternalSemaphore_t* extSemArray
 *     const cudaExternalSemaphoreSignalParams* paramsArray
 */
struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreSignalNodeParams {
  __pyx_t_4cuda_7ccudart_cudaExternalSemaphore_t *extSemArray;
  struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreSignalParams const *paramsArray;
  unsigned int numExtSems;
};

/* "cuda/ccudart.pxd":987
 *     unsigned int numExtSems
 * 
 * cdef struct cudaExternalSemaphoreWaitNodeParams:             # <<<<<<<<<<<<<<
 *     cudaExternalSemaphore_t* extSemArray
 *     const cudaExternalSemaphoreWaitParams* paramsArray
 */
struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreWaitNodeParams {
  __pyx_t_4cuda_7ccudart_cudaExternalSemaphore_t *extSemArray;
  struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreWaitParams const *paramsArray;
  unsigned int numExtSems;
};

/* "cuda/ccudart.pxd":1010
 *     cdef struct CUgraphExec_st:
 *         pass
 * ctypedef CUgraphExec_st* cudaGraphExec_t             # <<<<<<<<<<<<<<
 * 
 * cdef enum cudaGraphExecUpdateResult:
 */
typedef struct CUgraphExec_st *__pyx_t_4cuda_7ccudart_cudaGraphExec_t;

/* "cuda/ccudart.pxd":1067
 *     cudaReadModeNormalizedFloat = 1
 * 
 * cdef struct cudaTextureDesc:             # <<<<<<<<<<<<<<
 *     cudaTextureAddressMode addressMode[3]
 *     cudaTextureFilterMode filterMode
 */
struct __pyx_t_4cuda_7ccudart_cudaTextureDesc {
  enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode addressMode[3];
  enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode filterMode;
  enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode readMode;
  int sRGB;
  float borderColor[4];
  int normalizedCoords;
  unsigned int maxAnisotropy;
  enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode mipmapFilterMode;
  float mipmapLevelBias;
  float minMipmapLevelClamp;
  float maxMipmapLevelClamp;
  int disableTrilinearOptimization;
};

/* "cuda/ccudart.pxd":1113
 *     CUDA_C_64U = 27
 * 
 * ctypedef cudaDataType_t cudaDataType             # <<<<<<<<<<<<<<
 * 
 * cdef enum libraryPropertyType_t:
 */
typedef enum __pyx_t_4cuda_7ccudart_cudaDataType_t __pyx_t_4cuda_7ccudart_cudaDataType;

/* "cuda/ccudart.pxd":1120
 *     PATCH_LEVEL
 * 
 * ctypedef libraryPropertyType_t libraryPropertyType             # <<<<<<<<<<<<<<
 * 
 * cdef cudaError_t cudaDeviceReset() nogil except ?cudaErrorCallRequiresNewerDriver
 */
typedef enum __pyx_t_4cuda_7ccudart_libraryPropertyType_t __pyx_t_4cuda_7ccudart_libraryPropertyType;

/* "cuda/ccudart.pxd":1226
 * cdef cudaError_t cudaStreamWaitEvent(cudaStream_t stream, cudaEvent_t event, unsigned int flags) nogil except ?cudaErrorCallRequiresNewerDriver
 * 
 * ctypedef void (*cudaStreamCallback_t)(cudaStream_t stream, cudaError_t status, void* userData)             # <<<<<<<<<<<<<<
 * 
 * cdef cudaError_t cudaStreamAddCallback(cudaStream_t stream, cudaStreamCallback_t callback, void* userData, unsigned int flags) nogil except ?cudaErrorCallRequiresNewerDriver
 */
typedef void (*__pyx_t_4cuda_7ccudart_cudaStreamCallback_t)(__pyx_t_4cuda_7ccudart_cudaStream_t, __pyx_t_4cuda_7ccudart_cudaError_t, void *);
struct __pyx_t_4cuda_5ccuda_CUuuid_st;
struct __pyx_t_4cuda_5ccuda_CUipcEventHandle_st;
struct __pyx_t_4cuda_5ccuda_CUipcMemHandle_st;
struct __pyx_t_4cuda_5ccuda_CUstreamMemOpWaitValueParams_st;
struct __pyx_t_4cuda_5ccuda_CUstreamMemOpWriteValueParams_st;
struct __pyx_t_4cuda_5ccuda_CUstreamMemOpFlushRemoteWritesParams_st;
union __pyx_t_4cuda_5ccuda_CUstreamBatchMemOpParams_union;
struct __pyx_t_4cuda_5ccuda_CUdevprop_st;
struct __pyx_t_4cuda_5ccuda_CUaccessPolicyWindow_st;
struct __pyx_t_4cuda_5ccuda_CUDA_KERNEL_NODE_PARAMS_st;
struct __pyx_t_4cuda_5ccuda_CUDA_MEMSET_NODE_PARAMS_st;
struct __pyx_t_4cuda_5ccuda_CUDA_HOST_NODE_PARAMS_st;
union __pyx_t_4cuda_5ccuda_CUkernelNodeAttrValue_union;
union __pyx_t_4cuda_5ccuda_CUstreamAttrValue_union;
struct __pyx_t_4cuda_5ccuda_CUexecAffinitySmCount_st;
union __pyx_t_4cuda_5ccuda__CUexecAffinityParam_v1_CUexecAffinityParam_v1_CUexecAffinityParam_st_param_u;
struct __pyx_t_4cuda_5ccuda_CUexecAffinityParam_st;
struct __pyx_t_4cuda_5ccuda_CUDA_MEMCPY2D_st;
struct __pyx_t_4cuda_5ccuda_CUDA_MEMCPY3D_st;
struct __pyx_t_4cuda_5ccuda_CUDA_MEMCPY3D_PEER_st;
struct __pyx_t_4cuda_5ccuda_CUDA_ARRAY_DESCRIPTOR_st;
struct __pyx_t_4cuda_5ccuda_CUDA_ARRAY3D_DESCRIPTOR_st;
struct __pyx_t_4cuda_5ccuda__CUDA_ARRAY_SPARSE_PROPERTIES_v1_CUDA_ARRAY_SPARSE_PROPERTIES_v1_CUDA_ARRAY_SPARSE_PROPERTIES_st_tileExtent_s;
struct __pyx_t_4cuda_5ccuda_CUDA_ARRAY_SPARSE_PROPERTIES_st;
struct __pyx_t_4cuda_5ccuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_array_s;
struct __pyx_t_4cuda_5ccuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_mipmap_s;
struct __pyx_t_4cuda_5ccuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_linear_s;
struct __pyx_t_4cuda_5ccuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_pitch2D_s;
struct __pyx_t_4cuda_5ccuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_reserved_s;
union __pyx_t_4cuda_5ccuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_u;
struct __pyx_t_4cuda_5ccuda_CUDA_RESOURCE_DESC_st;
struct __pyx_t_4cuda_5ccuda_CUDA_TEXTURE_DESC_st;
struct __pyx_t_4cuda_5ccuda_CUDA_RESOURCE_VIEW_DESC_st;
struct __pyx_t_4cuda_5ccuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st;
struct __pyx_t_4cuda_5ccuda_CUDA_LAUNCH_PARAMS_st;
struct __pyx_t_4cuda_5ccuda__CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_handle_handle_win32_s;
union __pyx_t_4cuda_5ccuda__CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_handle_u;
struct __pyx_t_4cuda_5ccuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st;
struct __pyx_t_4cuda_5ccuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st;
struct __pyx_t_4cuda_5ccuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st;
struct __pyx_t_4cuda_5ccuda__CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_handle_handle_win32_s;
union __pyx_t_4cuda_5ccuda__CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_handle_u;
struct __pyx_t_4cuda_5ccuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st;
struct __pyx_t_4cuda_5ccuda__CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_params_fence_s;
union __pyx_t_4cuda_5ccuda__CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_params_nvSciSync_u;
struct __pyx_t_4cuda_5ccuda__CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_params_keyedMutex_s;
struct __pyx_t_4cuda_5ccuda__CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_s;
struct __pyx_t_4cuda_5ccuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st;
struct __pyx_t_4cuda_5ccuda__CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_params_fence_s;
union __pyx_t_4cuda_5ccuda__CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_params_nvSciSync_u;
struct __pyx_t_4cuda_5ccuda__CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_params_keyedMutex_s;
struct __pyx_t_4cuda_5ccuda__CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_s;
struct __pyx_t_4cuda_5ccuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st;
struct __pyx_t_4cuda_5ccuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st;
struct __pyx_t_4cuda_5ccuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st;
union __pyx_t_4cuda_5ccuda__CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_resource_u;
struct __pyx_t_4cuda_5ccuda__CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_subresource_subresource_sparseLevel_s;
struct __pyx_t_4cuda_5ccuda__CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_subresource_subresource_miptail_s;
union __pyx_t_4cuda_5ccuda__CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_subresource_u;
union __pyx_t_4cuda_5ccuda__CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_memHandle_u;
struct __pyx_t_4cuda_5ccuda_CUarrayMapInfo_st;
struct __pyx_t_4cuda_5ccuda_CUmemLocation_st;
struct __pyx_t_4cuda_5ccuda__CUmemAllocationProp_v1_CUmemAllocationProp_v1_CUmemAllocationProp_st_allocFlags_s;
struct __pyx_t_4cuda_5ccuda_CUmemAllocationProp_st;
struct __pyx_t_4cuda_5ccuda_CUmemAccessDesc_st;
struct __pyx_t_4cuda_5ccuda_CUmemPoolProps_st;
struct __pyx_t_4cuda_5ccuda_CUmemPoolPtrExportData_st;
struct __pyx_t_4cuda_5ccuda_CUDA_MEM_ALLOC_NODE_PARAMS_st;

/* "cuda/ccuda.pxd":135
 * ctypedef CUipcMemHandle_v1 CUipcMemHandle
 * 
 * cdef enum CUipcMem_flags_enum:             # <<<<<<<<<<<<<<
 *     CU_IPC_MEM_LAZY_ENABLE_PEER_ACCESS = 0x1
 * 
 */
enum __pyx_t_4cuda_5ccuda_CUipcMem_flags_enum {
  __pyx_e_4cuda_5ccuda_CU_IPC_MEM_LAZY_ENABLE_PEER_ACCESS = 0x1
};

/* "cuda/ccuda.pxd":140
 * ctypedef CUipcMem_flags_enum CUipcMem_flags
 * 
 * cdef enum CUmemAttach_flags_enum:             # <<<<<<<<<<<<<<
 *     CU_MEM_ATTACH_GLOBAL = 0x1
 *     CU_MEM_ATTACH_HOST = 0x2
 */
enum __pyx_t_4cuda_5ccuda_CUmemAttach_flags_enum {
  __pyx_e_4cuda_5ccuda_CU_MEM_ATTACH_GLOBAL = 0x1,
  __pyx_e_4cuda_5ccuda_CU_MEM_ATTACH_HOST = 0x2,
  __pyx_e_4cuda_5ccuda_CU_MEM_ATTACH_SINGLE = 0x4
};

/* "cuda/ccuda.pxd":147
 * ctypedef CUmemAttach_flags_enum CUmemAttach_flags
 * 
 * cdef enum CUctx_flags_enum:             # <<<<<<<<<<<<<<
 *     CU_CTX_SCHED_AUTO = 0x00
 *     CU_CTX_SCHED_SPIN = 0x01
 */
enum __pyx_t_4cuda_5ccuda_CUctx_flags_enum {
  __pyx_e_4cuda_5ccuda_CU_CTX_SCHED_AUTO = 0x00,
  __pyx_e_4cuda_5ccuda_CU_CTX_SCHED_SPIN = 0x01,
  __pyx_e_4cuda_5ccuda_CU_CTX_SCHED_YIELD = 0x02,
  __pyx_e_4cuda_5ccuda_CU_CTX_SCHED_BLOCKING_SYNC = 0x04,
  __pyx_e_4cuda_5ccuda_CU_CTX_BLOCKING_SYNC = 0x04,
  __pyx_e_4cuda_5ccuda_CU_CTX_SCHED_MASK = 0x07,
  __pyx_e_4cuda_5ccuda_CU_CTX_MAP_HOST = 0x08,
  __pyx_e_4cuda_5ccuda_CU_CTX_LMEM_RESIZE_TO_MAX = 0x10,
  __pyx_e_4cuda_5ccuda_CU_CTX_FLAGS_MASK = 0x1f
};

/* "cuda/ccuda.pxd":160
 * ctypedef CUctx_flags_enum CUctx_flags
 * 
 * cdef enum CUstream_flags_enum:             # <<<<<<<<<<<<<<
 *     CU_STREAM_DEFAULT = 0x0
 *     CU_STREAM_NON_BLOCKING = 0x1
 */
enum __pyx_t_4cuda_5ccuda_CUstream_flags_enum {
  __pyx_e_4cuda_5ccuda_CU_STREAM_DEFAULT = 0x0,
  __pyx_e_4cuda_5ccuda_CU_STREAM_NON_BLOCKING = 0x1
};

/* "cuda/ccuda.pxd":166
 * ctypedef CUstream_flags_enum CUstream_flags
 * 
 * cdef enum CUevent_flags_enum:             # <<<<<<<<<<<<<<
 *     CU_EVENT_DEFAULT = 0x0
 *     CU_EVENT_BLOCKING_SYNC = 0x1
 */
enum __pyx_t_4cuda_5ccuda_CUevent_flags_enum {
  __pyx_e_4cuda_5ccuda_CU_EVENT_DEFAULT = 0x0,
  __pyx_e_4cuda_5ccuda_CU_EVENT_BLOCKING_SYNC = 0x1,
  __pyx_e_4cuda_5ccuda_CU_EVENT_DISABLE_TIMING = 0x2,
  __pyx_e_4cuda_5ccuda_CU_EVENT_INTERPROCESS = 0x4
};

/* "cuda/ccuda.pxd":174
 * ctypedef CUevent_flags_enum CUevent_flags
 * 
 * cdef enum CUevent_record_flags_enum:             # <<<<<<<<<<<<<<
 *     CU_EVENT_RECORD_DEFAULT = 0x0
 *     CU_EVENT_RECORD_EXTERNAL = 0x1
 */
enum __pyx_t_4cuda_5ccuda_CUevent_record_flags_enum {
  __pyx_e_4cuda_5ccuda_CU_EVENT_RECORD_DEFAULT = 0x0,
  __pyx_e_4cuda_5ccuda_CU_EVENT_RECORD_EXTERNAL = 0x1
};

/* "cuda/ccuda.pxd":180
 * ctypedef CUevent_record_flags_enum CUevent_record_flags
 * 
 * cdef enum CUevent_wait_flags_enum:             # <<<<<<<<<<<<<<
 *     CU_EVENT_WAIT_DEFAULT = 0x0
 *     CU_EVENT_WAIT_EXTERNAL = 0x1
 */
enum __pyx_t_4cuda_5ccuda_CUevent_wait_flags_enum {
  __pyx_e_4cuda_5ccuda_CU_EVENT_WAIT_DEFAULT = 0x0,
  __pyx_e_4cuda_5ccuda_CU_EVENT_WAIT_EXTERNAL = 0x1
};

/* "cuda/ccuda.pxd":186
 * ctypedef CUevent_wait_flags_enum CUevent_wait_flags
 * 
 * cdef enum CUstreamWaitValue_flags_enum:             # <<<<<<<<<<<<<<
 *     CU_STREAM_WAIT_VALUE_GEQ = 0x0
 *     CU_STREAM_WAIT_VALUE_EQ = 0x1
 */
enum __pyx_t_4cuda_5ccuda_CUstreamWaitValue_flags_enum {

  /* "cuda/ccuda.pxd":191
 *     CU_STREAM_WAIT_VALUE_AND = 0x2
 *     CU_STREAM_WAIT_VALUE_NOR = 0x3
 *     CU_STREAM_WAIT_VALUE_FLUSH = 1<<30             # <<<<<<<<<<<<<<
 * 
 * ctypedef CUstreamWaitValue_flags_enum CUstreamWaitValue_flags
 */
  __pyx_e_4cuda_5ccuda_CU_STREAM_WAIT_VALUE_GEQ = 0x0,
  __pyx_e_4cuda_5ccuda_CU_STREAM_WAIT_VALUE_EQ = 0x1,
  __pyx_e_4cuda_5ccuda_CU_STREAM_WAIT_VALUE_AND = 0x2,
  __pyx_e_4cuda_5ccuda_CU_STREAM_WAIT_VALUE_NOR = 0x3,
  __pyx_e_4cuda_5ccuda_CU_STREAM_WAIT_VALUE_FLUSH = (1 << 30)
};

/* "cuda/ccuda.pxd":195
 * ctypedef CUstreamWaitValue_flags_enum CUstreamWaitValue_flags
 * 
 * cdef enum CUstreamWriteValue_flags_enum:             # <<<<<<<<<<<<<<
 *     CU_STREAM_WRITE_VALUE_DEFAULT = 0x0
 *     CU_STREAM_WRITE_VALUE_NO_MEMORY_BARRIER = 0x1
 */
enum __pyx_t_4cuda_5ccuda_CUstreamWriteValue_flags_enum {
  __pyx_e_4cuda_5ccuda_CU_STREAM_WRITE_VALUE_DEFAULT = 0x0,
  __pyx_e_4cuda_5ccuda_CU_STREAM_WRITE_VALUE_NO_MEMORY_BARRIER = 0x1
};

/* "cuda/ccuda.pxd":201
 * ctypedef CUstreamWriteValue_flags_enum CUstreamWriteValue_flags
 * 
 * cdef enum CUstreamBatchMemOpType_enum:             # <<<<<<<<<<<<<<
 *     CU_STREAM_MEM_OP_WAIT_VALUE_32 = 1
 *     CU_STREAM_MEM_OP_WRITE_VALUE_32 = 2
 */
enum __pyx_t_4cuda_5ccuda_CUstreamBatchMemOpType_enum {
  __pyx_e_4cuda_5ccuda_CU_STREAM_MEM_OP_WAIT_VALUE_32 = 1,
  __pyx_e_4cuda_5ccuda_CU_STREAM_MEM_OP_WRITE_VALUE_32 = 2,
  __pyx_e_4cuda_5ccuda_CU_STREAM_MEM_OP_WAIT_VALUE_64 = 4,
  __pyx_e_4cuda_5ccuda_CU_STREAM_MEM_OP_WRITE_VALUE_64 = 5,
  __pyx_e_4cuda_5ccuda_CU_STREAM_MEM_OP_FLUSH_REMOTE_WRITES = 3
};

/* "cuda/ccuda.pxd":239
 * ctypedef CUstreamBatchMemOpParams_v1 CUstreamBatchMemOpParams
 * 
 * cdef enum CUoccupancy_flags_enum:             # <<<<<<<<<<<<<<
 *     CU_OCCUPANCY_DEFAULT = 0x0
 *     CU_OCCUPANCY_DISABLE_CACHING_OVERRIDE = 0x1
 */
enum __pyx_t_4cuda_5ccuda_CUoccupancy_flags_enum {
  __pyx_e_4cuda_5ccuda_CU_OCCUPANCY_DEFAULT = 0x0,
  __pyx_e_4cuda_5ccuda_CU_OCCUPANCY_DISABLE_CACHING_OVERRIDE = 0x1
};

/* "cuda/ccuda.pxd":245
 * ctypedef CUoccupancy_flags_enum CUoccupancy_flags
 * 
 * cdef enum CUstreamUpdateCaptureDependencies_flags_enum:             # <<<<<<<<<<<<<<
 *     CU_STREAM_ADD_CAPTURE_DEPENDENCIES = 0x0
 *     CU_STREAM_SET_CAPTURE_DEPENDENCIES = 0x1
 */
enum __pyx_t_4cuda_5ccuda_CUstreamUpdateCaptureDependencies_flags_enum {
  __pyx_e_4cuda_5ccuda_CU_STREAM_ADD_CAPTURE_DEPENDENCIES = 0x0,
  __pyx_e_4cuda_5ccuda_CU_STREAM_SET_CAPTURE_DEPENDENCIES = 0x1
};

/* "cuda/ccuda.pxd":251
 * ctypedef CUstreamUpdateCaptureDependencies_flags_enum CUstreamUpdateCaptureDependencies_flags
 * 
 * cdef enum CUarray_format_enum:             # <<<<<<<<<<<<<<
 *     CU_AD_FORMAT_UNSIGNED_INT8 = 0x01
 *     CU_AD_FORMAT_UNSIGNED_INT16 = 0x02
 */
enum __pyx_t_4cuda_5ccuda_CUarray_format_enum {
  __pyx_e_4cuda_5ccuda_CU_AD_FORMAT_UNSIGNED_INT8 = 0x01,
  __pyx_e_4cuda_5ccuda_CU_AD_FORMAT_UNSIGNED_INT16 = 0x02,
  __pyx_e_4cuda_5ccuda_CU_AD_FORMAT_UNSIGNED_INT32 = 0x03,
  __pyx_e_4cuda_5ccuda_CU_AD_FORMAT_SIGNED_INT8 = 0x08,
  __pyx_e_4cuda_5ccuda_CU_AD_FORMAT_SIGNED_INT16 = 0x09,
  __pyx_e_4cuda_5ccuda_CU_AD_FORMAT_SIGNED_INT32 = 0x0a,
  __pyx_e_4cuda_5ccuda_CU_AD_FORMAT_HALF = 0x10,
  __pyx_e_4cuda_5ccuda_CU_AD_FORMAT_FLOAT = 0x20,
  __pyx_e_4cuda_5ccuda_CU_AD_FORMAT_NV12 = 0xb0,
  __pyx_e_4cuda_5ccuda_CU_AD_FORMAT_UNORM_INT8X1 = 0xc0,
  __pyx_e_4cuda_5ccuda_CU_AD_FORMAT_UNORM_INT8X2 = 0xc1,
  __pyx_e_4cuda_5ccuda_CU_AD_FORMAT_UNORM_INT8X4 = 0xc2,
  __pyx_e_4cuda_5ccuda_CU_AD_FORMAT_UNORM_INT16X1 = 0xc3,
  __pyx_e_4cuda_5ccuda_CU_AD_FORMAT_UNORM_INT16X2 = 0xc4,
  __pyx_e_4cuda_5ccuda_CU_AD_FORMAT_UNORM_INT16X4 = 0xc5,
  __pyx_e_4cuda_5ccuda_CU_AD_FORMAT_SNORM_INT8X1 = 0xc6,
  __pyx_e_4cuda_5ccuda_CU_AD_FORMAT_SNORM_INT8X2 = 0xc7,
  __pyx_e_4cuda_5ccuda_CU_AD_FORMAT_SNORM_INT8X4 = 0xc8,
  __pyx_e_4cuda_5ccuda_CU_AD_FORMAT_SNORM_INT16X1 = 0xc9,
  __pyx_e_4cuda_5ccuda_CU_AD_FORMAT_SNORM_INT16X2 = 0xca,
  __pyx_e_4cuda_5ccuda_CU_AD_FORMAT_SNORM_INT16X4 = 0xcb,
  __pyx_e_4cuda_5ccuda_CU_AD_FORMAT_BC1_UNORM = 0x91,
  __pyx_e_4cuda_5ccuda_CU_AD_FORMAT_BC1_UNORM_SRGB = 0x92,
  __pyx_e_4cuda_5ccuda_CU_AD_FORMAT_BC2_UNORM = 0x93,
  __pyx_e_4cuda_5ccuda_CU_AD_FORMAT_BC2_UNORM_SRGB = 0x94,
  __pyx_e_4cuda_5ccuda_CU_AD_FORMAT_BC3_UNORM = 0x95,
  __pyx_e_4cuda_5ccuda_CU_AD_FORMAT_BC3_UNORM_SRGB = 0x96,
  __pyx_e_4cuda_5ccuda_CU_AD_FORMAT_BC4_UNORM = 0x97,
  __pyx_e_4cuda_5ccuda_CU_AD_FORMAT_BC4_SNORM = 0x98,
  __pyx_e_4cuda_5ccuda_CU_AD_FORMAT_BC5_UNORM = 0x99,
  __pyx_e_4cuda_5ccuda_CU_AD_FORMAT_BC5_SNORM = 0x9a,
  __pyx_e_4cuda_5ccuda_CU_AD_FORMAT_BC6H_UF16 = 0x9b,
  __pyx_e_4cuda_5ccuda_CU_AD_FORMAT_BC6H_SF16 = 0x9c,
  __pyx_e_4cuda_5ccuda_CU_AD_FORMAT_BC7_UNORM = 0x9d,
  __pyx_e_4cuda_5ccuda_CU_AD_FORMAT_BC7_UNORM_SRGB = 0x9e
};

/* "cuda/ccuda.pxd":290
 * ctypedef CUarray_format_enum CUarray_format
 * 
 * cdef enum CUaddress_mode_enum:             # <<<<<<<<<<<<<<
 *     CU_TR_ADDRESS_MODE_WRAP = 0
 *     CU_TR_ADDRESS_MODE_CLAMP = 1
 */
enum __pyx_t_4cuda_5ccuda_CUaddress_mode_enum {
  __pyx_e_4cuda_5ccuda_CU_TR_ADDRESS_MODE_WRAP = 0,
  __pyx_e_4cuda_5ccuda_CU_TR_ADDRESS_MODE_CLAMP = 1,
  __pyx_e_4cuda_5ccuda_CU_TR_ADDRESS_MODE_MIRROR = 2,
  __pyx_e_4cuda_5ccuda_CU_TR_ADDRESS_MODE_BORDER = 3
};

/* "cuda/ccuda.pxd":298
 * ctypedef CUaddress_mode_enum CUaddress_mode
 * 
 * cdef enum CUfilter_mode_enum:             # <<<<<<<<<<<<<<
 *     CU_TR_FILTER_MODE_POINT = 0
 *     CU_TR_FILTER_MODE_LINEAR = 1
 */
enum __pyx_t_4cuda_5ccuda_CUfilter_mode_enum {
  __pyx_e_4cuda_5ccuda_CU_TR_FILTER_MODE_POINT = 0,
  __pyx_e_4cuda_5ccuda_CU_TR_FILTER_MODE_LINEAR = 1
};

/* "cuda/ccuda.pxd":304
 * ctypedef CUfilter_mode_enum CUfilter_mode
 * 
 * cdef enum CUdevice_attribute_enum:             # <<<<<<<<<<<<<<
 *     CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_BLOCK = 1
 *     CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_X = 2
 */
enum __pyx_t_4cuda_5ccuda_CUdevice_attribute_enum {
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_BLOCK = 1,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_X = 2,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Y = 3,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Z = 4,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_X = 5,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Y = 6,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Z = 7,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK = 8,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_SHARED_MEMORY_PER_BLOCK = 8,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_TOTAL_CONSTANT_MEMORY = 9,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_WARP_SIZE = 10,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAX_PITCH = 11,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_BLOCK = 12,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_REGISTERS_PER_BLOCK = 12,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_CLOCK_RATE = 13,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_TEXTURE_ALIGNMENT = 14,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_GPU_OVERLAP = 15,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT = 16,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_KERNEL_EXEC_TIMEOUT = 17,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_INTEGRATED = 18,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST_MEMORY = 19,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_COMPUTE_MODE = 20,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_WIDTH = 21,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_WIDTH = 22,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_HEIGHT = 23,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH = 24,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT = 25,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH = 26,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_WIDTH = 27,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_HEIGHT = 28,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_LAYERS = 29,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_WIDTH = 27,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_HEIGHT = 28,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_NUMSLICES = 29,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_SURFACE_ALIGNMENT = 30,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_CONCURRENT_KERNELS = 31,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_ECC_ENABLED = 32,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_PCI_BUS_ID = 33,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_PCI_DEVICE_ID = 34,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_TCC_DRIVER = 35,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MEMORY_CLOCK_RATE = 36,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_GLOBAL_MEMORY_BUS_WIDTH = 37,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_L2_CACHE_SIZE = 38,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_MULTIPROCESSOR = 39,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE_COUNT = 40,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_UNIFIED_ADDRESSING = 41,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_WIDTH = 42,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_LAYERS = 43,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_CAN_TEX2D_GATHER = 44,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_WIDTH = 45,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_HEIGHT = 46,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH_ALTERNATE = 47,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT_ALTERNATE = 48,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH_ALTERNATE = 49,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_ID = 50,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_TEXTURE_PITCH_ALIGNMENT = 51,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_WIDTH = 52,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_WIDTH = 53,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_LAYERS = 54,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_WIDTH = 55,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_WIDTH = 56,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_HEIGHT = 57,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_WIDTH = 58,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_HEIGHT = 59,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_DEPTH = 60,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_WIDTH = 61,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_LAYERS = 62,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_WIDTH = 63,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_HEIGHT = 64,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_LAYERS = 65,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_WIDTH = 66,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_WIDTH = 67,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_LAYERS = 68,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LINEAR_WIDTH = 69,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_WIDTH = 70,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_HEIGHT = 71,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_PITCH = 72,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_WIDTH = 73,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_HEIGHT = 74,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MAJOR = 75,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MINOR = 76,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_MIPMAPPED_WIDTH = 77,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_STREAM_PRIORITIES_SUPPORTED = 78,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_GLOBAL_L1_CACHE_SUPPORTED = 79,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_LOCAL_L1_CACHE_SUPPORTED = 80,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_MULTIPROCESSOR = 81,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR = 82,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MANAGED_MEMORY = 83,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD = 84,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD_GROUP_ID = 85,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_HOST_NATIVE_ATOMIC_SUPPORTED = 86,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_SINGLE_TO_DOUBLE_PRECISION_PERF_RATIO = 87,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS = 88,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS = 89,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_COMPUTE_PREEMPTION_SUPPORTED = 90,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_CAN_USE_HOST_POINTER_FOR_REGISTERED_MEM = 91,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_MEM_OPS = 92,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS = 93,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR = 94,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_COOPERATIVE_LAUNCH = 95,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_COOPERATIVE_MULTI_DEVICE_LAUNCH = 96,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK_OPTIN = 97,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_CAN_FLUSH_REMOTE_WRITES = 98,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_HOST_REGISTER_SUPPORTED = 99,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES = 0x64,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_DIRECT_MANAGED_MEM_ACCESS_FROM_HOST = 0x65,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_VIRTUAL_ADDRESS_MANAGEMENT_SUPPORTED = 0x66,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_VIRTUAL_MEMORY_MANAGEMENT_SUPPORTED = 0x66,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR_SUPPORTED = 0x67,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_HANDLE_SUPPORTED = 0x68,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_KMT_HANDLE_SUPPORTED = 0x69,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAX_BLOCKS_PER_MULTIPROCESSOR = 0x6A,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_GENERIC_COMPRESSION_SUPPORTED = 0x6B,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAX_PERSISTING_L2_CACHE_SIZE = 0x6C,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAX_ACCESS_POLICY_WINDOW_SIZE = 0x6D,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WITH_CUDA_VMM_SUPPORTED = 0x6E,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_RESERVED_SHARED_MEMORY_PER_BLOCK = 0x6F,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_SPARSE_CUDA_ARRAY_SUPPORTED = 0x70,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_READ_ONLY_HOST_REGISTER_SUPPORTED = 0x71,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_TIMELINE_SEMAPHORE_INTEROP_SUPPORTED = 0x72,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MEMORY_POOLS_SUPPORTED = 0x73,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_SUPPORTED = 0x74,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_FLUSH_WRITES_OPTIONS = 0x75,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WRITES_ORDERING = 0x76,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MEMPOOL_SUPPORTED_HANDLE_TYPES = 0x77,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_ATTRIBUTE_MAX
};

/* "cuda/ccuda.pxd":450
 * ctypedef CUdevprop_v1 CUdevprop
 * 
 * cdef enum CUpointer_attribute_enum:             # <<<<<<<<<<<<<<
 *     CU_POINTER_ATTRIBUTE_CONTEXT = 1
 *     CU_POINTER_ATTRIBUTE_MEMORY_TYPE = 2
 */
enum __pyx_t_4cuda_5ccuda_CUpointer_attribute_enum {
  __pyx_e_4cuda_5ccuda_CU_POINTER_ATTRIBUTE_CONTEXT = 1,
  __pyx_e_4cuda_5ccuda_CU_POINTER_ATTRIBUTE_MEMORY_TYPE = 2,
  __pyx_e_4cuda_5ccuda_CU_POINTER_ATTRIBUTE_DEVICE_POINTER = 3,
  __pyx_e_4cuda_5ccuda_CU_POINTER_ATTRIBUTE_HOST_POINTER = 4,
  __pyx_e_4cuda_5ccuda_CU_POINTER_ATTRIBUTE_P2P_TOKENS = 5,
  __pyx_e_4cuda_5ccuda_CU_POINTER_ATTRIBUTE_SYNC_MEMOPS = 6,
  __pyx_e_4cuda_5ccuda_CU_POINTER_ATTRIBUTE_BUFFER_ID = 7,
  __pyx_e_4cuda_5ccuda_CU_POINTER_ATTRIBUTE_IS_MANAGED = 8,
  __pyx_e_4cuda_5ccuda_CU_POINTER_ATTRIBUTE_DEVICE_ORDINAL = 9,
  __pyx_e_4cuda_5ccuda_CU_POINTER_ATTRIBUTE_IS_LEGACY_CUDA_IPC_CAPABLE = 10,
  __pyx_e_4cuda_5ccuda_CU_POINTER_ATTRIBUTE_RANGE_START_ADDR = 11,
  __pyx_e_4cuda_5ccuda_CU_POINTER_ATTRIBUTE_RANGE_SIZE = 12,
  __pyx_e_4cuda_5ccuda_CU_POINTER_ATTRIBUTE_MAPPED = 13,
  __pyx_e_4cuda_5ccuda_CU_POINTER_ATTRIBUTE_ALLOWED_HANDLE_TYPES = 14,
  __pyx_e_4cuda_5ccuda_CU_POINTER_ATTRIBUTE_IS_GPU_DIRECT_RDMA_CAPABLE = 15,
  __pyx_e_4cuda_5ccuda_CU_POINTER_ATTRIBUTE_ACCESS_FLAGS = 16,
  __pyx_e_4cuda_5ccuda_CU_POINTER_ATTRIBUTE_MEMPOOL_HANDLE = 17
};

/* "cuda/ccuda.pxd":471
 * ctypedef CUpointer_attribute_enum CUpointer_attribute
 * 
 * cdef enum CUfunction_attribute_enum:             # <<<<<<<<<<<<<<
 *     CU_FUNC_ATTRIBUTE_MAX_THREADS_PER_BLOCK = 0
 *     CU_FUNC_ATTRIBUTE_SHARED_SIZE_BYTES = 1
 */
enum __pyx_t_4cuda_5ccuda_CUfunction_attribute_enum {
  __pyx_e_4cuda_5ccuda_CU_FUNC_ATTRIBUTE_MAX_THREADS_PER_BLOCK = 0,
  __pyx_e_4cuda_5ccuda_CU_FUNC_ATTRIBUTE_SHARED_SIZE_BYTES = 1,
  __pyx_e_4cuda_5ccuda_CU_FUNC_ATTRIBUTE_CONST_SIZE_BYTES = 2,
  __pyx_e_4cuda_5ccuda_CU_FUNC_ATTRIBUTE_LOCAL_SIZE_BYTES = 3,
  __pyx_e_4cuda_5ccuda_CU_FUNC_ATTRIBUTE_NUM_REGS = 4,
  __pyx_e_4cuda_5ccuda_CU_FUNC_ATTRIBUTE_PTX_VERSION = 5,
  __pyx_e_4cuda_5ccuda_CU_FUNC_ATTRIBUTE_BINARY_VERSION = 6,
  __pyx_e_4cuda_5ccuda_CU_FUNC_ATTRIBUTE_CACHE_MODE_CA = 7,
  __pyx_e_4cuda_5ccuda_CU_FUNC_ATTRIBUTE_MAX_DYNAMIC_SHARED_SIZE_BYTES = 8,
  __pyx_e_4cuda_5ccuda_CU_FUNC_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT = 9,
  __pyx_e_4cuda_5ccuda_CU_FUNC_ATTRIBUTE_MAX
};

/* "cuda/ccuda.pxd":486
 * ctypedef CUfunction_attribute_enum CUfunction_attribute
 * 
 * cdef enum CUfunc_cache_enum:             # <<<<<<<<<<<<<<
 *     CU_FUNC_CACHE_PREFER_NONE = 0x00
 *     CU_FUNC_CACHE_PREFER_SHARED = 0x01
 */
enum __pyx_t_4cuda_5ccuda_CUfunc_cache_enum {
  __pyx_e_4cuda_5ccuda_CU_FUNC_CACHE_PREFER_NONE = 0x00,
  __pyx_e_4cuda_5ccuda_CU_FUNC_CACHE_PREFER_SHARED = 0x01,
  __pyx_e_4cuda_5ccuda_CU_FUNC_CACHE_PREFER_L1 = 0x02,
  __pyx_e_4cuda_5ccuda_CU_FUNC_CACHE_PREFER_EQUAL = 0x03
};

/* "cuda/ccuda.pxd":494
 * ctypedef CUfunc_cache_enum CUfunc_cache
 * 
 * cdef enum CUsharedconfig_enum:             # <<<<<<<<<<<<<<
 *     CU_SHARED_MEM_CONFIG_DEFAULT_BANK_SIZE = 0x00
 *     CU_SHARED_MEM_CONFIG_FOUR_BYTE_BANK_SIZE = 0x01
 */
enum __pyx_t_4cuda_5ccuda_CUsharedconfig_enum {
  __pyx_e_4cuda_5ccuda_CU_SHARED_MEM_CONFIG_DEFAULT_BANK_SIZE = 0x00,
  __pyx_e_4cuda_5ccuda_CU_SHARED_MEM_CONFIG_FOUR_BYTE_BANK_SIZE = 0x01,
  __pyx_e_4cuda_5ccuda_CU_SHARED_MEM_CONFIG_EIGHT_BYTE_BANK_SIZE = 0x02
};

/* "cuda/ccuda.pxd":501
 * ctypedef CUsharedconfig_enum CUsharedconfig
 * 
 * cdef enum CUshared_carveout_enum:             # <<<<<<<<<<<<<<
 *     CU_SHAREDMEM_CARVEOUT_DEFAULT = -1
 *     CU_SHAREDMEM_CARVEOUT_MAX_SHARED = 100
 */
enum __pyx_t_4cuda_5ccuda_CUshared_carveout_enum {
  __pyx_e_4cuda_5ccuda_CU_SHAREDMEM_CARVEOUT_DEFAULT = -1L,
  __pyx_e_4cuda_5ccuda_CU_SHAREDMEM_CARVEOUT_MAX_SHARED = 0x64,
  __pyx_e_4cuda_5ccuda_CU_SHAREDMEM_CARVEOUT_MAX_L1 = 0
};

/* "cuda/ccuda.pxd":508
 * ctypedef CUshared_carveout_enum CUshared_carveout
 * 
 * cdef enum CUmemorytype_enum:             # <<<<<<<<<<<<<<
 *     CU_MEMORYTYPE_HOST = 0x01
 *     CU_MEMORYTYPE_DEVICE = 0x02
 */
enum __pyx_t_4cuda_5ccuda_CUmemorytype_enum {
  __pyx_e_4cuda_5ccuda_CU_MEMORYTYPE_HOST = 0x01,
  __pyx_e_4cuda_5ccuda_CU_MEMORYTYPE_DEVICE = 0x02,
  __pyx_e_4cuda_5ccuda_CU_MEMORYTYPE_ARRAY = 0x03,
  __pyx_e_4cuda_5ccuda_CU_MEMORYTYPE_UNIFIED = 0x04
};

/* "cuda/ccuda.pxd":516
 * ctypedef CUmemorytype_enum CUmemorytype
 * 
 * cdef enum CUcomputemode_enum:             # <<<<<<<<<<<<<<
 *     CU_COMPUTEMODE_DEFAULT = 0
 *     CU_COMPUTEMODE_PROHIBITED = 2
 */
enum __pyx_t_4cuda_5ccuda_CUcomputemode_enum {
  __pyx_e_4cuda_5ccuda_CU_COMPUTEMODE_DEFAULT = 0,
  __pyx_e_4cuda_5ccuda_CU_COMPUTEMODE_PROHIBITED = 2,
  __pyx_e_4cuda_5ccuda_CU_COMPUTEMODE_EXCLUSIVE_PROCESS = 3
};

/* "cuda/ccuda.pxd":523
 * ctypedef CUcomputemode_enum CUcomputemode
 * 
 * cdef enum CUmem_advise_enum:             # <<<<<<<<<<<<<<
 *     CU_MEM_ADVISE_SET_READ_MOSTLY = 1
 *     CU_MEM_ADVISE_UNSET_READ_MOSTLY = 2
 */
enum __pyx_t_4cuda_5ccuda_CUmem_advise_enum {
  __pyx_e_4cuda_5ccuda_CU_MEM_ADVISE_SET_READ_MOSTLY = 1,
  __pyx_e_4cuda_5ccuda_CU_MEM_ADVISE_UNSET_READ_MOSTLY = 2,
  __pyx_e_4cuda_5ccuda_CU_MEM_ADVISE_SET_PREFERRED_LOCATION = 3,
  __pyx_e_4cuda_5ccuda_CU_MEM_ADVISE_UNSET_PREFERRED_LOCATION = 4,
  __pyx_e_4cuda_5ccuda_CU_MEM_ADVISE_SET_ACCESSED_BY = 5,
  __pyx_e_4cuda_5ccuda_CU_MEM_ADVISE_UNSET_ACCESSED_BY = 6
};

/* "cuda/ccuda.pxd":533
 * ctypedef CUmem_advise_enum CUmem_advise
 * 
 * cdef enum CUmem_range_attribute_enum:             # <<<<<<<<<<<<<<
 *     CU_MEM_RANGE_ATTRIBUTE_READ_MOSTLY = 1
 *     CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION = 2
 */
enum __pyx_t_4cuda_5ccuda_CUmem_range_attribute_enum {
  __pyx_e_4cuda_5ccuda_CU_MEM_RANGE_ATTRIBUTE_READ_MOSTLY = 1,
  __pyx_e_4cuda_5ccuda_CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION = 2,
  __pyx_e_4cuda_5ccuda_CU_MEM_RANGE_ATTRIBUTE_ACCESSED_BY = 3,
  __pyx_e_4cuda_5ccuda_CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION = 4
};

/* "cuda/ccuda.pxd":541
 * ctypedef CUmem_range_attribute_enum CUmem_range_attribute
 * 
 * cdef enum CUjit_option_enum:             # <<<<<<<<<<<<<<
 *     CU_JIT_MAX_REGISTERS = 0
 *     CU_JIT_THREADS_PER_BLOCK
 */
enum __pyx_t_4cuda_5ccuda_CUjit_option_enum {
  __pyx_e_4cuda_5ccuda_CU_JIT_MAX_REGISTERS = 0,
  __pyx_e_4cuda_5ccuda_CU_JIT_THREADS_PER_BLOCK,
  __pyx_e_4cuda_5ccuda_CU_JIT_WALL_TIME,
  __pyx_e_4cuda_5ccuda_CU_JIT_INFO_LOG_BUFFER,
  __pyx_e_4cuda_5ccuda_CU_JIT_INFO_LOG_BUFFER_SIZE_BYTES,
  __pyx_e_4cuda_5ccuda_CU_JIT_ERROR_LOG_BUFFER,
  __pyx_e_4cuda_5ccuda_CU_JIT_ERROR_LOG_BUFFER_SIZE_BYTES,
  __pyx_e_4cuda_5ccuda_CU_JIT_OPTIMIZATION_LEVEL,
  __pyx_e_4cuda_5ccuda_CU_JIT_TARGET_FROM_CUCONTEXT,
  __pyx_e_4cuda_5ccuda_CU_JIT_TARGET,
  __pyx_e_4cuda_5ccuda_CU_JIT_FALLBACK_STRATEGY,
  __pyx_e_4cuda_5ccuda_CU_JIT_GENERATE_DEBUG_INFO,
  __pyx_e_4cuda_5ccuda_CU_JIT_LOG_VERBOSE,
  __pyx_e_4cuda_5ccuda_CU_JIT_GENERATE_LINE_INFO,
  __pyx_e_4cuda_5ccuda_CU_JIT_CACHE_MODE,
  __pyx_e_4cuda_5ccuda_CU_JIT_NEW_SM3X_OPT,
  __pyx_e_4cuda_5ccuda_CU_JIT_FAST_COMPILE,
  __pyx_e_4cuda_5ccuda_CU_JIT_GLOBAL_SYMBOL_NAMES,
  __pyx_e_4cuda_5ccuda_CU_JIT_GLOBAL_SYMBOL_ADDRESSES,
  __pyx_e_4cuda_5ccuda_CU_JIT_GLOBAL_SYMBOL_COUNT,
  __pyx_e_4cuda_5ccuda_CU_JIT_LTO,
  __pyx_e_4cuda_5ccuda_CU_JIT_FTZ,
  __pyx_e_4cuda_5ccuda_CU_JIT_PREC_DIV,
  __pyx_e_4cuda_5ccuda_CU_JIT_PREC_SQRT,
  __pyx_e_4cuda_5ccuda_CU_JIT_FMA,
  __pyx_e_4cuda_5ccuda_CU_JIT_NUM_OPTIONS
};

/* "cuda/ccuda.pxd":571
 * ctypedef CUjit_option_enum CUjit_option
 * 
 * cdef enum CUjit_target_enum:             # <<<<<<<<<<<<<<
 *     CU_TARGET_COMPUTE_20 = 20
 *     CU_TARGET_COMPUTE_21 = 21
 */
enum __pyx_t_4cuda_5ccuda_CUjit_target_enum {
  __pyx_e_4cuda_5ccuda_CU_TARGET_COMPUTE_20 = 20,
  __pyx_e_4cuda_5ccuda_CU_TARGET_COMPUTE_21 = 21,
  __pyx_e_4cuda_5ccuda_CU_TARGET_COMPUTE_30 = 30,
  __pyx_e_4cuda_5ccuda_CU_TARGET_COMPUTE_32 = 32,
  __pyx_e_4cuda_5ccuda_CU_TARGET_COMPUTE_35 = 35,
  __pyx_e_4cuda_5ccuda_CU_TARGET_COMPUTE_37 = 37,
  __pyx_e_4cuda_5ccuda_CU_TARGET_COMPUTE_50 = 50,
  __pyx_e_4cuda_5ccuda_CU_TARGET_COMPUTE_52 = 52,
  __pyx_e_4cuda_5ccuda_CU_TARGET_COMPUTE_53 = 53,
  __pyx_e_4cuda_5ccuda_CU_TARGET_COMPUTE_60 = 60,
  __pyx_e_4cuda_5ccuda_CU_TARGET_COMPUTE_61 = 61,
  __pyx_e_4cuda_5ccuda_CU_TARGET_COMPUTE_62 = 62,
  __pyx_e_4cuda_5ccuda_CU_TARGET_COMPUTE_70 = 70,
  __pyx_e_4cuda_5ccuda_CU_TARGET_COMPUTE_72 = 72,
  __pyx_e_4cuda_5ccuda_CU_TARGET_COMPUTE_75 = 75,
  __pyx_e_4cuda_5ccuda_CU_TARGET_COMPUTE_80 = 80,
  __pyx_e_4cuda_5ccuda_CU_TARGET_COMPUTE_86 = 86
};

/* "cuda/ccuda.pxd":592
 * ctypedef CUjit_target_enum CUjit_target
 * 
 * cdef enum CUjit_fallback_enum:             # <<<<<<<<<<<<<<
 *     CU_PREFER_PTX = 0
 *     CU_PREFER_BINARY
 */
enum __pyx_t_4cuda_5ccuda_CUjit_fallback_enum {
  __pyx_e_4cuda_5ccuda_CU_PREFER_PTX = 0,
  __pyx_e_4cuda_5ccuda_CU_PREFER_BINARY
};

/* "cuda/ccuda.pxd":598
 * ctypedef CUjit_fallback_enum CUjit_fallback
 * 
 * cdef enum CUjit_cacheMode_enum:             # <<<<<<<<<<<<<<
 *     CU_JIT_CACHE_OPTION_NONE = 0
 *     CU_JIT_CACHE_OPTION_CG
 */
enum __pyx_t_4cuda_5ccuda_CUjit_cacheMode_enum {
  __pyx_e_4cuda_5ccuda_CU_JIT_CACHE_OPTION_NONE = 0,
  __pyx_e_4cuda_5ccuda_CU_JIT_CACHE_OPTION_CG,
  __pyx_e_4cuda_5ccuda_CU_JIT_CACHE_OPTION_CA
};

/* "cuda/ccuda.pxd":605
 * ctypedef CUjit_cacheMode_enum CUjit_cacheMode
 * 
 * cdef enum CUjitInputType_enum:             # <<<<<<<<<<<<<<
 *     CU_JIT_INPUT_CUBIN = 0
 *     CU_JIT_INPUT_PTX
 */
enum __pyx_t_4cuda_5ccuda_CUjitInputType_enum {
  __pyx_e_4cuda_5ccuda_CU_JIT_INPUT_CUBIN = 0,
  __pyx_e_4cuda_5ccuda_CU_JIT_INPUT_PTX,
  __pyx_e_4cuda_5ccuda_CU_JIT_INPUT_FATBINARY,
  __pyx_e_4cuda_5ccuda_CU_JIT_INPUT_OBJECT,
  __pyx_e_4cuda_5ccuda_CU_JIT_INPUT_LIBRARY,
  __pyx_e_4cuda_5ccuda_CU_JIT_INPUT_NVVM,
  __pyx_e_4cuda_5ccuda_CU_JIT_NUM_INPUT_TYPES
};

/* "cuda/ccuda.pxd":621
 * ctypedef CUlinkState_st* CUlinkState
 * 
 * cdef enum CUgraphicsRegisterFlags_enum:             # <<<<<<<<<<<<<<
 *     CU_GRAPHICS_REGISTER_FLAGS_NONE = 0x00
 *     CU_GRAPHICS_REGISTER_FLAGS_READ_ONLY = 0x01
 */
enum __pyx_t_4cuda_5ccuda_CUgraphicsRegisterFlags_enum {
  __pyx_e_4cuda_5ccuda_CU_GRAPHICS_REGISTER_FLAGS_NONE = 0x00,
  __pyx_e_4cuda_5ccuda_CU_GRAPHICS_REGISTER_FLAGS_READ_ONLY = 0x01,
  __pyx_e_4cuda_5ccuda_CU_GRAPHICS_REGISTER_FLAGS_WRITE_DISCARD = 0x02,
  __pyx_e_4cuda_5ccuda_CU_GRAPHICS_REGISTER_FLAGS_SURFACE_LDST = 0x04,
  __pyx_e_4cuda_5ccuda_CU_GRAPHICS_REGISTER_FLAGS_TEXTURE_GATHER = 0x08
};

/* "cuda/ccuda.pxd":630
 * ctypedef CUgraphicsRegisterFlags_enum CUgraphicsRegisterFlags
 * 
 * cdef enum CUgraphicsMapResourceFlags_enum:             # <<<<<<<<<<<<<<
 *     CU_GRAPHICS_MAP_RESOURCE_FLAGS_NONE = 0x00
 *     CU_GRAPHICS_MAP_RESOURCE_FLAGS_READ_ONLY = 0x01
 */
enum __pyx_t_4cuda_5ccuda_CUgraphicsMapResourceFlags_enum {
  __pyx_e_4cuda_5ccuda_CU_GRAPHICS_MAP_RESOURCE_FLAGS_NONE = 0x00,
  __pyx_e_4cuda_5ccuda_CU_GRAPHICS_MAP_RESOURCE_FLAGS_READ_ONLY = 0x01,
  __pyx_e_4cuda_5ccuda_CU_GRAPHICS_MAP_RESOURCE_FLAGS_WRITE_DISCARD = 0x02
};

/* "cuda/ccuda.pxd":637
 * ctypedef CUgraphicsMapResourceFlags_enum CUgraphicsMapResourceFlags
 * 
 * cdef enum CUarray_cubemap_face_enum:             # <<<<<<<<<<<<<<
 *     CU_CUBEMAP_FACE_POSITIVE_X = 0x00
 *     CU_CUBEMAP_FACE_NEGATIVE_X = 0x01
 */
enum __pyx_t_4cuda_5ccuda_CUarray_cubemap_face_enum {
  __pyx_e_4cuda_5ccuda_CU_CUBEMAP_FACE_POSITIVE_X = 0x00,
  __pyx_e_4cuda_5ccuda_CU_CUBEMAP_FACE_NEGATIVE_X = 0x01,
  __pyx_e_4cuda_5ccuda_CU_CUBEMAP_FACE_POSITIVE_Y = 0x02,
  __pyx_e_4cuda_5ccuda_CU_CUBEMAP_FACE_NEGATIVE_Y = 0x03,
  __pyx_e_4cuda_5ccuda_CU_CUBEMAP_FACE_POSITIVE_Z = 0x04,
  __pyx_e_4cuda_5ccuda_CU_CUBEMAP_FACE_NEGATIVE_Z = 0x05
};

/* "cuda/ccuda.pxd":647
 * ctypedef CUarray_cubemap_face_enum CUarray_cubemap_face
 * 
 * cdef enum CUlimit_enum:             # <<<<<<<<<<<<<<
 *     CU_LIMIT_STACK_SIZE = 0x00
 *     CU_LIMIT_PRINTF_FIFO_SIZE = 0x01
 */
enum __pyx_t_4cuda_5ccuda_CUlimit_enum {
  __pyx_e_4cuda_5ccuda_CU_LIMIT_STACK_SIZE = 0x00,
  __pyx_e_4cuda_5ccuda_CU_LIMIT_PRINTF_FIFO_SIZE = 0x01,
  __pyx_e_4cuda_5ccuda_CU_LIMIT_MALLOC_HEAP_SIZE = 0x02,
  __pyx_e_4cuda_5ccuda_CU_LIMIT_DEV_RUNTIME_SYNC_DEPTH = 0x03,
  __pyx_e_4cuda_5ccuda_CU_LIMIT_DEV_RUNTIME_PENDING_LAUNCH_COUNT = 0x04,
  __pyx_e_4cuda_5ccuda_CU_LIMIT_MAX_L2_FETCH_GRANULARITY = 0x05,
  __pyx_e_4cuda_5ccuda_CU_LIMIT_PERSISTING_L2_CACHE_SIZE = 0x06,
  __pyx_e_4cuda_5ccuda_CU_LIMIT_MAX
};

/* "cuda/ccuda.pxd":659
 * ctypedef CUlimit_enum CUlimit
 * 
 * cdef enum CUresourcetype_enum:             # <<<<<<<<<<<<<<
 *     CU_RESOURCE_TYPE_ARRAY = 0x00
 *     CU_RESOURCE_TYPE_MIPMAPPED_ARRAY = 0x01
 */
enum __pyx_t_4cuda_5ccuda_CUresourcetype_enum {
  __pyx_e_4cuda_5ccuda_CU_RESOURCE_TYPE_ARRAY = 0x00,
  __pyx_e_4cuda_5ccuda_CU_RESOURCE_TYPE_MIPMAPPED_ARRAY = 0x01,
  __pyx_e_4cuda_5ccuda_CU_RESOURCE_TYPE_LINEAR = 0x02,
  __pyx_e_4cuda_5ccuda_CU_RESOURCE_TYPE_PITCH2D = 0x03
};

/* "cuda/ccuda.pxd":669
 * ctypedef void (*CUhostFn)(void* userData)
 * 
 * cdef enum CUaccessProperty_enum:             # <<<<<<<<<<<<<<
 *     CU_ACCESS_PROPERTY_NORMAL = 0
 *     CU_ACCESS_PROPERTY_STREAMING = 1
 */
enum __pyx_t_4cuda_5ccuda_CUaccessProperty_enum {
  __pyx_e_4cuda_5ccuda_CU_ACCESS_PROPERTY_NORMAL = 0,
  __pyx_e_4cuda_5ccuda_CU_ACCESS_PROPERTY_STREAMING = 1,
  __pyx_e_4cuda_5ccuda_CU_ACCESS_PROPERTY_PERSISTING = 2
};

/* "cuda/ccuda.pxd":723
 * ctypedef CUDA_HOST_NODE_PARAMS_v1 CUDA_HOST_NODE_PARAMS
 * 
 * cdef enum CUgraphNodeType_enum:             # <<<<<<<<<<<<<<
 *     CU_GRAPH_NODE_TYPE_KERNEL = 0
 *     CU_GRAPH_NODE_TYPE_MEMCPY = 1
 */
enum __pyx_t_4cuda_5ccuda_CUgraphNodeType_enum {
  __pyx_e_4cuda_5ccuda_CU_GRAPH_NODE_TYPE_KERNEL = 0,
  __pyx_e_4cuda_5ccuda_CU_GRAPH_NODE_TYPE_MEMCPY = 1,
  __pyx_e_4cuda_5ccuda_CU_GRAPH_NODE_TYPE_MEMSET = 2,
  __pyx_e_4cuda_5ccuda_CU_GRAPH_NODE_TYPE_HOST = 3,
  __pyx_e_4cuda_5ccuda_CU_GRAPH_NODE_TYPE_GRAPH = 4,
  __pyx_e_4cuda_5ccuda_CU_GRAPH_NODE_TYPE_EMPTY = 5,
  __pyx_e_4cuda_5ccuda_CU_GRAPH_NODE_TYPE_WAIT_EVENT = 6,
  __pyx_e_4cuda_5ccuda_CU_GRAPH_NODE_TYPE_EVENT_RECORD = 7,
  __pyx_e_4cuda_5ccuda_CU_GRAPH_NODE_TYPE_EXT_SEMAS_SIGNAL = 8,
  __pyx_e_4cuda_5ccuda_CU_GRAPH_NODE_TYPE_EXT_SEMAS_WAIT = 9,
  __pyx_e_4cuda_5ccuda_CU_GRAPH_NODE_TYPE_MEM_ALLOC = 10,
  __pyx_e_4cuda_5ccuda_CU_GRAPH_NODE_TYPE_MEM_FREE = 11
};

/* "cuda/ccuda.pxd":739
 * ctypedef CUgraphNodeType_enum CUgraphNodeType
 * 
 * cdef enum CUsynchronizationPolicy_enum:             # <<<<<<<<<<<<<<
 *     CU_SYNC_POLICY_AUTO = 1
 *     CU_SYNC_POLICY_SPIN = 2
 */
enum __pyx_t_4cuda_5ccuda_CUsynchronizationPolicy_enum {
  __pyx_e_4cuda_5ccuda_CU_SYNC_POLICY_AUTO = 1,
  __pyx_e_4cuda_5ccuda_CU_SYNC_POLICY_SPIN = 2,
  __pyx_e_4cuda_5ccuda_CU_SYNC_POLICY_YIELD = 3,
  __pyx_e_4cuda_5ccuda_CU_SYNC_POLICY_BLOCKING_SYNC = 4
};

/* "cuda/ccuda.pxd":747
 * ctypedef CUsynchronizationPolicy_enum CUsynchronizationPolicy
 * 
 * cdef enum CUkernelNodeAttrID_enum:             # <<<<<<<<<<<<<<
 *     CU_KERNEL_NODE_ATTRIBUTE_ACCESS_POLICY_WINDOW = 1
 *     CU_KERNEL_NODE_ATTRIBUTE_COOPERATIVE = 2
 */
enum __pyx_t_4cuda_5ccuda_CUkernelNodeAttrID_enum {
  __pyx_e_4cuda_5ccuda_CU_KERNEL_NODE_ATTRIBUTE_ACCESS_POLICY_WINDOW = 1,
  __pyx_e_4cuda_5ccuda_CU_KERNEL_NODE_ATTRIBUTE_COOPERATIVE = 2
};

/* "cuda/ccuda.pxd":761
 * ctypedef CUkernelNodeAttrValue_v1 CUkernelNodeAttrValue
 * 
 * cdef enum CUstreamCaptureStatus_enum:             # <<<<<<<<<<<<<<
 *     CU_STREAM_CAPTURE_STATUS_NONE = 0
 *     CU_STREAM_CAPTURE_STATUS_ACTIVE = 1
 */
enum __pyx_t_4cuda_5ccuda_CUstreamCaptureStatus_enum {
  __pyx_e_4cuda_5ccuda_CU_STREAM_CAPTURE_STATUS_NONE = 0,
  __pyx_e_4cuda_5ccuda_CU_STREAM_CAPTURE_STATUS_ACTIVE = 1,
  __pyx_e_4cuda_5ccuda_CU_STREAM_CAPTURE_STATUS_INVALIDATED = 2
};

/* "cuda/ccuda.pxd":768
 * ctypedef CUstreamCaptureStatus_enum CUstreamCaptureStatus
 * 
 * cdef enum CUstreamCaptureMode_enum:             # <<<<<<<<<<<<<<
 *     CU_STREAM_CAPTURE_MODE_GLOBAL = 0
 *     CU_STREAM_CAPTURE_MODE_THREAD_LOCAL = 1
 */
enum __pyx_t_4cuda_5ccuda_CUstreamCaptureMode_enum {
  __pyx_e_4cuda_5ccuda_CU_STREAM_CAPTURE_MODE_GLOBAL = 0,
  __pyx_e_4cuda_5ccuda_CU_STREAM_CAPTURE_MODE_THREAD_LOCAL = 1,
  __pyx_e_4cuda_5ccuda_CU_STREAM_CAPTURE_MODE_RELAXED = 2
};

/* "cuda/ccuda.pxd":775
 * ctypedef CUstreamCaptureMode_enum CUstreamCaptureMode
 * 
 * cdef enum CUstreamAttrID_enum:             # <<<<<<<<<<<<<<
 *     CU_STREAM_ATTRIBUTE_ACCESS_POLICY_WINDOW = 1
 *     CU_STREAM_ATTRIBUTE_SYNCHRONIZATION_POLICY = 3
 */
enum __pyx_t_4cuda_5ccuda_CUstreamAttrID_enum {
  __pyx_e_4cuda_5ccuda_CU_STREAM_ATTRIBUTE_ACCESS_POLICY_WINDOW = 1,
  __pyx_e_4cuda_5ccuda_CU_STREAM_ATTRIBUTE_SYNCHRONIZATION_POLICY = 3
};

/* "cuda/ccuda.pxd":789
 * ctypedef CUstreamAttrValue_v1 CUstreamAttrValue
 * 
 * cdef enum CUdriverProcAddress_flags_enum:             # <<<<<<<<<<<<<<
 *     CU_GET_PROC_ADDRESS_DEFAULT = 0
 *     CU_GET_PROC_ADDRESS_LEGACY_STREAM = 1 << 0
 */
enum __pyx_t_4cuda_5ccuda_CUdriverProcAddress_flags_enum {

  /* "cuda/ccuda.pxd":792
 *     CU_GET_PROC_ADDRESS_DEFAULT = 0
 *     CU_GET_PROC_ADDRESS_LEGACY_STREAM = 1 << 0
 *     CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM = 1 << 1             # <<<<<<<<<<<<<<
 * 
 * ctypedef CUdriverProcAddress_flags_enum CUdriverProcAddress_flags
 */
  __pyx_e_4cuda_5ccuda_CU_GET_PROC_ADDRESS_DEFAULT = 0,
  __pyx_e_4cuda_5ccuda_CU_GET_PROC_ADDRESS_LEGACY_STREAM = (1 << 0),
  __pyx_e_4cuda_5ccuda_CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM = (1 << 1)
};

/* "cuda/ccuda.pxd":796
 * ctypedef CUdriverProcAddress_flags_enum CUdriverProcAddress_flags
 * 
 * cdef enum CUexecAffinityType_enum:             # <<<<<<<<<<<<<<
 *     CU_EXEC_AFFINITY_TYPE_SM_COUNT = 0
 *     CU_EXEC_AFFINITY_TYPE_MAX
 */
enum __pyx_t_4cuda_5ccuda_CUexecAffinityType_enum {
  __pyx_e_4cuda_5ccuda_CU_EXEC_AFFINITY_TYPE_SM_COUNT = 0,
  __pyx_e_4cuda_5ccuda_CU_EXEC_AFFINITY_TYPE_MAX
};

/* "cuda/ccuda.pxd":820
 * ctypedef CUexecAffinityParam_v1 CUexecAffinityParam
 * 
 * cdef enum cudaError_enum:             # <<<<<<<<<<<<<<
 *     CUDA_SUCCESS = 0
 *     CUDA_ERROR_INVALID_VALUE = 1
 */
enum __pyx_t_4cuda_5ccuda_cudaError_enum {
  __pyx_e_4cuda_5ccuda_CUDA_SUCCESS = 0,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_INVALID_VALUE = 1,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_OUT_OF_MEMORY = 2,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_NOT_INITIALIZED = 3,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_DEINITIALIZED = 4,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_PROFILER_DISABLED = 5,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_PROFILER_NOT_INITIALIZED = 6,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_PROFILER_ALREADY_STARTED = 7,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_PROFILER_ALREADY_STOPPED = 8,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_STUB_LIBRARY = 34,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_NO_DEVICE = 0x64,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_INVALID_DEVICE = 0x65,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_DEVICE_NOT_LICENSED = 0x66,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_INVALID_IMAGE = 0xC8,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_INVALID_CONTEXT = 0xC9,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_CONTEXT_ALREADY_CURRENT = 0xCA,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_MAP_FAILED = 0xCD,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_UNMAP_FAILED = 0xCE,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_ARRAY_IS_MAPPED = 0xCF,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_ALREADY_MAPPED = 0xD0,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_NO_BINARY_FOR_GPU = 0xD1,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_ALREADY_ACQUIRED = 0xD2,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_NOT_MAPPED = 0xD3,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_NOT_MAPPED_AS_ARRAY = 0xD4,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_NOT_MAPPED_AS_POINTER = 0xD5,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_ECC_UNCORRECTABLE = 0xD6,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_UNSUPPORTED_LIMIT = 0xD7,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_CONTEXT_ALREADY_IN_USE = 0xD8,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_PEER_ACCESS_UNSUPPORTED = 0xD9,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_INVALID_PTX = 0xDA,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_INVALID_GRAPHICS_CONTEXT = 0xDB,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_NVLINK_UNCORRECTABLE = 0xDC,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_JIT_COMPILER_NOT_FOUND = 0xDD,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_UNSUPPORTED_PTX_VERSION = 0xDE,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_JIT_COMPILATION_DISABLED = 0xDF,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_UNSUPPORTED_EXEC_AFFINITY = 0xE0,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_INVALID_SOURCE = 0x12C,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_FILE_NOT_FOUND = 0x12D,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_SHARED_OBJECT_SYMBOL_NOT_FOUND = 0x12E,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_SHARED_OBJECT_INIT_FAILED = 0x12F,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_OPERATING_SYSTEM = 0x130,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_INVALID_HANDLE = 0x190,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_ILLEGAL_STATE = 0x191,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_NOT_FOUND = 0x1F4,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_NOT_READY = 0x258,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_ILLEGAL_ADDRESS = 0x2BC,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_LAUNCH_OUT_OF_RESOURCES = 0x2BD,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_LAUNCH_TIMEOUT = 0x2BE,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_LAUNCH_INCOMPATIBLE_TEXTURING = 0x2BF,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_PEER_ACCESS_ALREADY_ENABLED = 0x2C0,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_PEER_ACCESS_NOT_ENABLED = 0x2C1,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_PRIMARY_CONTEXT_ACTIVE = 0x2C4,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_CONTEXT_IS_DESTROYED = 0x2C5,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_ASSERT = 0x2C6,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_TOO_MANY_PEERS = 0x2C7,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_HOST_MEMORY_ALREADY_REGISTERED = 0x2C8,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_HOST_MEMORY_NOT_REGISTERED = 0x2C9,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_HARDWARE_STACK_ERROR = 0x2CA,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_ILLEGAL_INSTRUCTION = 0x2CB,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_MISALIGNED_ADDRESS = 0x2CC,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_INVALID_ADDRESS_SPACE = 0x2CD,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_INVALID_PC = 0x2CE,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_LAUNCH_FAILED = 0x2CF,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_COOPERATIVE_LAUNCH_TOO_LARGE = 0x2D0,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_NOT_PERMITTED = 0x320,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_NOT_SUPPORTED = 0x321,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_SYSTEM_NOT_READY = 0x322,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_SYSTEM_DRIVER_MISMATCH = 0x323,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_COMPAT_NOT_SUPPORTED_ON_DEVICE = 0x324,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_MPS_CONNECTION_FAILED = 0x325,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_MPS_RPC_FAILURE = 0x326,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_MPS_SERVER_NOT_READY = 0x327,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_MPS_MAX_CLIENTS_REACHED = 0x328,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_MPS_MAX_CONNECTIONS_REACHED = 0x329,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_STREAM_CAPTURE_UNSUPPORTED = 0x384,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_STREAM_CAPTURE_INVALIDATED = 0x385,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_STREAM_CAPTURE_MERGE = 0x386,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_STREAM_CAPTURE_UNMATCHED = 0x387,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_STREAM_CAPTURE_UNJOINED = 0x388,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_STREAM_CAPTURE_ISOLATION = 0x389,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_STREAM_CAPTURE_IMPLICIT = 0x38A,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_CAPTURED_EVENT = 0x38B,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_STREAM_CAPTURE_WRONG_THREAD = 0x38C,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_TIMEOUT = 0x38D,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_GRAPH_EXEC_UPDATE_FAILURE = 0x38E,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_EXTERNAL_DEVICE = 0x38F,
  __pyx_e_4cuda_5ccuda_CUDA_ERROR_UNKNOWN = 0x3E7
};

/* "cuda/ccuda.pxd":911
 * ctypedef cudaError_enum CUresult
 * 
 * cdef enum CUdevice_P2PAttribute_enum:             # <<<<<<<<<<<<<<
 *     CU_DEVICE_P2P_ATTRIBUTE_PERFORMANCE_RANK = 0x01
 *     CU_DEVICE_P2P_ATTRIBUTE_ACCESS_SUPPORTED = 0x02
 */
enum __pyx_t_4cuda_5ccuda_CUdevice_P2PAttribute_enum {
  __pyx_e_4cuda_5ccuda_CU_DEVICE_P2P_ATTRIBUTE_PERFORMANCE_RANK = 0x01,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_P2P_ATTRIBUTE_ACCESS_SUPPORTED = 0x02,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_P2P_ATTRIBUTE_NATIVE_ATOMIC_SUPPORTED = 0x03,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_P2P_ATTRIBUTE_ACCESS_ACCESS_SUPPORTED = 0x04,
  __pyx_e_4cuda_5ccuda_CU_DEVICE_P2P_ATTRIBUTE_CUDA_ARRAY_ACCESS_SUPPORTED = 0x04
};

/* "cuda/ccuda.pxd":1101
 * ctypedef CUDA_TEXTURE_DESC_v1 CUDA_TEXTURE_DESC
 * 
 * cdef enum CUresourceViewFormat_enum:             # <<<<<<<<<<<<<<
 *     CU_RES_VIEW_FORMAT_NONE = 0x00
 *     CU_RES_VIEW_FORMAT_UINT_1X8 = 0x01
 */
enum __pyx_t_4cuda_5ccuda_CUresourceViewFormat_enum {
  __pyx_e_4cuda_5ccuda_CU_RES_VIEW_FORMAT_NONE = 0x00,
  __pyx_e_4cuda_5ccuda_CU_RES_VIEW_FORMAT_UINT_1X8 = 0x01,
  __pyx_e_4cuda_5ccuda_CU_RES_VIEW_FORMAT_UINT_2X8 = 0x02,
  __pyx_e_4cuda_5ccuda_CU_RES_VIEW_FORMAT_UINT_4X8 = 0x03,
  __pyx_e_4cuda_5ccuda_CU_RES_VIEW_FORMAT_SINT_1X8 = 0x04,
  __pyx_e_4cuda_5ccuda_CU_RES_VIEW_FORMAT_SINT_2X8 = 0x05,
  __pyx_e_4cuda_5ccuda_CU_RES_VIEW_FORMAT_SINT_4X8 = 0x06,
  __pyx_e_4cuda_5ccuda_CU_RES_VIEW_FORMAT_UINT_1X16 = 0x07,
  __pyx_e_4cuda_5ccuda_CU_RES_VIEW_FORMAT_UINT_2X16 = 0x08,
  __pyx_e_4cuda_5ccuda_CU_RES_VIEW_FORMAT_UINT_4X16 = 0x09,
  __pyx_e_4cuda_5ccuda_CU_RES_VIEW_FORMAT_SINT_1X16 = 0x0a,
  __pyx_e_4cuda_5ccuda_CU_RES_VIEW_FORMAT_SINT_2X16 = 0x0b,
  __pyx_e_4cuda_5ccuda_CU_RES_VIEW_FORMAT_SINT_4X16 = 0x0c,
  __pyx_e_4cuda_5ccuda_CU_RES_VIEW_FORMAT_UINT_1X32 = 0x0d,
  __pyx_e_4cuda_5ccuda_CU_RES_VIEW_FORMAT_UINT_2X32 = 0x0e,
  __pyx_e_4cuda_5ccuda_CU_RES_VIEW_FORMAT_UINT_4X32 = 0x0f,
  __pyx_e_4cuda_5ccuda_CU_RES_VIEW_FORMAT_SINT_1X32 = 0x10,
  __pyx_e_4cuda_5ccuda_CU_RES_VIEW_FORMAT_SINT_2X32 = 0x11,
  __pyx_e_4cuda_5ccuda_CU_RES_VIEW_FORMAT_SINT_4X32 = 0x12,
  __pyx_e_4cuda_5ccuda_CU_RES_VIEW_FORMAT_FLOAT_1X16 = 0x13,
  __pyx_e_4cuda_5ccuda_CU_RES_VIEW_FORMAT_FLOAT_2X16 = 0x14,
  __pyx_e_4cuda_5ccuda_CU_RES_VIEW_FORMAT_FLOAT_4X16 = 0x15,
  __pyx_e_4cuda_5ccuda_CU_RES_VIEW_FORMAT_FLOAT_1X32 = 0x16,
  __pyx_e_4cuda_5ccuda_CU_RES_VIEW_FORMAT_FLOAT_2X32 = 0x17,
  __pyx_e_4cuda_5ccuda_CU_RES_VIEW_FORMAT_FLOAT_4X32 = 0x18,
  __pyx_e_4cuda_5ccuda_CU_RES_VIEW_FORMAT_UNSIGNED_BC1 = 0x19,
  __pyx_e_4cuda_5ccuda_CU_RES_VIEW_FORMAT_UNSIGNED_BC2 = 0x1a,
  __pyx_e_4cuda_5ccuda_CU_RES_VIEW_FORMAT_UNSIGNED_BC3 = 0x1b,
  __pyx_e_4cuda_5ccuda_CU_RES_VIEW_FORMAT_UNSIGNED_BC4 = 0x1c,
  __pyx_e_4cuda_5ccuda_CU_RES_VIEW_FORMAT_SIGNED_BC4 = 0x1d,
  __pyx_e_4cuda_5ccuda_CU_RES_VIEW_FORMAT_UNSIGNED_BC5 = 0x1e,
  __pyx_e_4cuda_5ccuda_CU_RES_VIEW_FORMAT_SIGNED_BC5 = 0x1f,
  __pyx_e_4cuda_5ccuda_CU_RES_VIEW_FORMAT_UNSIGNED_BC6H = 0x20,
  __pyx_e_4cuda_5ccuda_CU_RES_VIEW_FORMAT_SIGNED_BC6H = 0x21,
  __pyx_e_4cuda_5ccuda_CU_RES_VIEW_FORMAT_UNSIGNED_BC7 = 0x22
};

/* "cuda/ccuda.pxd":1163
 * ctypedef CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1 CUDA_POINTER_ATTRIBUTE_P2P_TOKENS
 * 
 * cdef enum CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS_enum:             # <<<<<<<<<<<<<<
 *     CU_POINTER_ATTRIBUTE_ACCESS_FLAG_NONE = 0x0
 *     CU_POINTER_ATTRIBUTE_ACCESS_FLAG_READ = 0x1
 */
enum __pyx_t_4cuda_5ccuda_CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS_enum {
  __pyx_e_4cuda_5ccuda_CU_POINTER_ATTRIBUTE_ACCESS_FLAG_NONE = 0x0,
  __pyx_e_4cuda_5ccuda_CU_POINTER_ATTRIBUTE_ACCESS_FLAG_READ = 0x1,
  __pyx_e_4cuda_5ccuda_CU_POINTER_ATTRIBUTE_ACCESS_FLAG_READWRITE = 0x3
};

/* "cuda/ccuda.pxd":1186
 * ctypedef CUDA_LAUNCH_PARAMS_v1 CUDA_LAUNCH_PARAMS
 * 
 * cdef enum CUexternalMemoryHandleType_enum:             # <<<<<<<<<<<<<<
 *     CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD = 1
 *     CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32 = 2
 */
enum __pyx_t_4cuda_5ccuda_CUexternalMemoryHandleType_enum {
  __pyx_e_4cuda_5ccuda_CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD = 1,
  __pyx_e_4cuda_5ccuda_CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32 = 2,
  __pyx_e_4cuda_5ccuda_CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT = 3,
  __pyx_e_4cuda_5ccuda_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP = 4,
  __pyx_e_4cuda_5ccuda_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE = 5,
  __pyx_e_4cuda_5ccuda_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_RESOURCE = 6,
  __pyx_e_4cuda_5ccuda_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_RESOURCE_KMT = 7,
  __pyx_e_4cuda_5ccuda_CU_EXTERNAL_MEMORY_HANDLE_TYPE_NVSCIBUF = 8
};

/* "cuda/ccuda.pxd":1238
 * ctypedef CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1 CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC
 * 
 * cdef enum CUexternalSemaphoreHandleType_enum:             # <<<<<<<<<<<<<<
 *     CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD = 1
 *     CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32 = 2
 */
enum __pyx_t_4cuda_5ccuda_CUexternalSemaphoreHandleType_enum {
  __pyx_e_4cuda_5ccuda_CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD = 1,
  __pyx_e_4cuda_5ccuda_CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32 = 2,
  __pyx_e_4cuda_5ccuda_CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT = 3,
  __pyx_e_4cuda_5ccuda_CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE = 4,
  __pyx_e_4cuda_5ccuda_CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE = 5,
  __pyx_e_4cuda_5ccuda_CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_NVSCISYNC = 6,
  __pyx_e_4cuda_5ccuda_CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_KEYED_MUTEX = 7,
  __pyx_e_4cuda_5ccuda_CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_KEYED_MUTEX_KMT = 8,
  __pyx_e_4cuda_5ccuda_CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TIMELINE_SEMAPHORE_FD = 9,
  __pyx_e_4cuda_5ccuda_CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TIMELINE_SEMAPHORE_WIN32 = 10
};

/* "cuda/ccuda.pxd":1344
 * ctypedef CUmemGenericAllocationHandle_v1 CUmemGenericAllocationHandle
 * 
 * cdef enum CUmemAllocationHandleType_enum:             # <<<<<<<<<<<<<<
 *     CU_MEM_HANDLE_TYPE_NONE = 0x0
 *     CU_MEM_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR = 0x1
 */
enum __pyx_t_4cuda_5ccuda_CUmemAllocationHandleType_enum {
  __pyx_e_4cuda_5ccuda_CU_MEM_HANDLE_TYPE_NONE = 0x0,
  __pyx_e_4cuda_5ccuda_CU_MEM_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR = 0x1,
  __pyx_e_4cuda_5ccuda_CU_MEM_HANDLE_TYPE_WIN32 = 0x2,
  __pyx_e_4cuda_5ccuda_CU_MEM_HANDLE_TYPE_WIN32_KMT = 0x4,
  __pyx_e_4cuda_5ccuda_CU_MEM_HANDLE_TYPE_MAX = 0x7FFFFFFF
};

/* "cuda/ccuda.pxd":1353
 * ctypedef CUmemAllocationHandleType_enum CUmemAllocationHandleType
 * 
 * cdef enum CUmemAccess_flags_enum:             # <<<<<<<<<<<<<<
 *     CU_MEM_ACCESS_FLAGS_PROT_NONE = 0x0
 *     CU_MEM_ACCESS_FLAGS_PROT_READ = 0x1
 */
enum __pyx_t_4cuda_5ccuda_CUmemAccess_flags_enum {
  __pyx_e_4cuda_5ccuda_CU_MEM_ACCESS_FLAGS_PROT_NONE = 0x0,
  __pyx_e_4cuda_5ccuda_CU_MEM_ACCESS_FLAGS_PROT_READ = 0x1,
  __pyx_e_4cuda_5ccuda_CU_MEM_ACCESS_FLAGS_PROT_READWRITE = 0x3,
  __pyx_e_4cuda_5ccuda_CU_MEM_ACCESS_FLAGS_PROT_MAX = 0x7FFFFFFF
};

/* "cuda/ccuda.pxd":1361
 * ctypedef CUmemAccess_flags_enum CUmemAccess_flags
 * 
 * cdef enum CUmemLocationType_enum:             # <<<<<<<<<<<<<<
 *     CU_MEM_LOCATION_TYPE_INVALID = 0x0
 *     CU_MEM_LOCATION_TYPE_DEVICE = 0x1
 */
enum __pyx_t_4cuda_5ccuda_CUmemLocationType_enum {
  __pyx_e_4cuda_5ccuda_CU_MEM_LOCATION_TYPE_INVALID = 0x0,
  __pyx_e_4cuda_5ccuda_CU_MEM_LOCATION_TYPE_DEVICE = 0x1,
  __pyx_e_4cuda_5ccuda_CU_MEM_LOCATION_TYPE_MAX = 0x7FFFFFFF
};

/* "cuda/ccuda.pxd":1368
 * ctypedef CUmemLocationType_enum CUmemLocationType
 * 
 * cdef enum CUmemAllocationType_enum:             # <<<<<<<<<<<<<<
 *     CU_MEM_ALLOCATION_TYPE_INVALID = 0x0
 *     CU_MEM_ALLOCATION_TYPE_PINNED = 0x1
 */
enum __pyx_t_4cuda_5ccuda_CUmemAllocationType_enum {
  __pyx_e_4cuda_5ccuda_CU_MEM_ALLOCATION_TYPE_INVALID = 0x0,
  __pyx_e_4cuda_5ccuda_CU_MEM_ALLOCATION_TYPE_PINNED = 0x1,
  __pyx_e_4cuda_5ccuda_CU_MEM_ALLOCATION_TYPE_MAX = 0x7FFFFFFF
};

/* "cuda/ccuda.pxd":1375
 * ctypedef CUmemAllocationType_enum CUmemAllocationType
 * 
 * cdef enum CUmemAllocationGranularity_flags_enum:             # <<<<<<<<<<<<<<
 *     CU_MEM_ALLOC_GRANULARITY_MINIMUM = 0x0
 *     CU_MEM_ALLOC_GRANULARITY_RECOMMENDED = 0x1
 */
enum __pyx_t_4cuda_5ccuda_CUmemAllocationGranularity_flags_enum {
  __pyx_e_4cuda_5ccuda_CU_MEM_ALLOC_GRANULARITY_MINIMUM = 0x0,
  __pyx_e_4cuda_5ccuda_CU_MEM_ALLOC_GRANULARITY_RECOMMENDED = 0x1
};

/* "cuda/ccuda.pxd":1381
 * ctypedef CUmemAllocationGranularity_flags_enum CUmemAllocationGranularity_flags
 * 
 * cdef enum CUarraySparseSubresourceType_enum:             # <<<<<<<<<<<<<<
 *     CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_SPARSE_LEVEL = 0
 *     CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_MIPTAIL = 1
 */
enum __pyx_t_4cuda_5ccuda_CUarraySparseSubresourceType_enum {
  __pyx_e_4cuda_5ccuda_CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_SPARSE_LEVEL = 0,
  __pyx_e_4cuda_5ccuda_CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_MIPTAIL = 1
};

/* "cuda/ccuda.pxd":1387
 * ctypedef CUarraySparseSubresourceType_enum CUarraySparseSubresourceType
 * 
 * cdef enum CUmemOperationType_enum:             # <<<<<<<<<<<<<<
 *     CU_MEM_OPERATION_TYPE_MAP = 1
 *     CU_MEM_OPERATION_TYPE_UNMAP = 2
 */
enum __pyx_t_4cuda_5ccuda_CUmemOperationType_enum {
  __pyx_e_4cuda_5ccuda_CU_MEM_OPERATION_TYPE_MAP = 1,
  __pyx_e_4cuda_5ccuda_CU_MEM_OPERATION_TYPE_UNMAP = 2
};

/* "cuda/ccuda.pxd":1393
 * ctypedef CUmemOperationType_enum CUmemOperationType
 * 
 * cdef enum CUmemHandleType_enum:             # <<<<<<<<<<<<<<
 *     CU_MEM_HANDLE_TYPE_GENERIC = 0
 * 
 */
enum __pyx_t_4cuda_5ccuda_CUmemHandleType_enum {
  __pyx_e_4cuda_5ccuda_CU_MEM_HANDLE_TYPE_GENERIC = 0
};

/* "cuda/ccuda.pxd":1449
 * ctypedef CUmemLocation_v1 CUmemLocation
 * 
 * cdef enum CUmemAllocationCompType_enum:             # <<<<<<<<<<<<<<
 *     CU_MEM_ALLOCATION_COMP_NONE = 0x0
 *     CU_MEM_ALLOCATION_COMP_GENERIC = 0x1
 */
enum __pyx_t_4cuda_5ccuda_CUmemAllocationCompType_enum {
  __pyx_e_4cuda_5ccuda_CU_MEM_ALLOCATION_COMP_NONE = 0x0,
  __pyx_e_4cuda_5ccuda_CU_MEM_ALLOCATION_COMP_GENERIC = 0x1
};

/* "cuda/ccuda.pxd":1480
 * ctypedef CUmemAccessDesc_v1 CUmemAccessDesc
 * 
 * cdef enum CUgraphExecUpdateResult_enum:             # <<<<<<<<<<<<<<
 *     CU_GRAPH_EXEC_UPDATE_SUCCESS = 0x0
 *     CU_GRAPH_EXEC_UPDATE_ERROR = 0x1
 */
enum __pyx_t_4cuda_5ccuda_CUgraphExecUpdateResult_enum {
  __pyx_e_4cuda_5ccuda_CU_GRAPH_EXEC_UPDATE_SUCCESS = 0x0,
  __pyx_e_4cuda_5ccuda_CU_GRAPH_EXEC_UPDATE_ERROR = 0x1,
  __pyx_e_4cuda_5ccuda_CU_GRAPH_EXEC_UPDATE_ERROR_TOPOLOGY_CHANGED = 0x2,
  __pyx_e_4cuda_5ccuda_CU_GRAPH_EXEC_UPDATE_ERROR_NODE_TYPE_CHANGED = 0x3,
  __pyx_e_4cuda_5ccuda_CU_GRAPH_EXEC_UPDATE_ERROR_FUNCTION_CHANGED = 0x4,
  __pyx_e_4cuda_5ccuda_CU_GRAPH_EXEC_UPDATE_ERROR_PARAMETERS_CHANGED = 0x5,
  __pyx_e_4cuda_5ccuda_CU_GRAPH_EXEC_UPDATE_ERROR_NOT_SUPPORTED = 0x6,
  __pyx_e_4cuda_5ccuda_CU_GRAPH_EXEC_UPDATE_ERROR_UNSUPPORTED_FUNCTION_CHANGE = 0x7
};

/* "cuda/ccuda.pxd":1492
 * ctypedef CUgraphExecUpdateResult_enum CUgraphExecUpdateResult
 * 
 * cdef enum CUmemPool_attribute_enum:             # <<<<<<<<<<<<<<
 *     CU_MEMPOOL_ATTR_REUSE_FOLLOW_EVENT_DEPENDENCIES = 1
 *     CU_MEMPOOL_ATTR_REUSE_ALLOW_OPPORTUNISTIC
 */
enum __pyx_t_4cuda_5ccuda_CUmemPool_attribute_enum {
  __pyx_e_4cuda_5ccuda_CU_MEMPOOL_ATTR_REUSE_FOLLOW_EVENT_DEPENDENCIES = 1,
  __pyx_e_4cuda_5ccuda_CU_MEMPOOL_ATTR_REUSE_ALLOW_OPPORTUNISTIC,
  __pyx_e_4cuda_5ccuda_CU_MEMPOOL_ATTR_REUSE_ALLOW_INTERNAL_DEPENDENCIES,
  __pyx_e_4cuda_5ccuda_CU_MEMPOOL_ATTR_RELEASE_THRESHOLD,
  __pyx_e_4cuda_5ccuda_CU_MEMPOOL_ATTR_RESERVED_MEM_CURRENT,
  __pyx_e_4cuda_5ccuda_CU_MEMPOOL_ATTR_RESERVED_MEM_HIGH,
  __pyx_e_4cuda_5ccuda_CU_MEMPOOL_ATTR_USED_MEM_CURRENT,
  __pyx_e_4cuda_5ccuda_CU_MEMPOOL_ATTR_USED_MEM_HIGH
};

/* "cuda/ccuda.pxd":1531
 * ctypedef CUDA_MEM_ALLOC_NODE_PARAMS_st CUDA_MEM_ALLOC_NODE_PARAMS
 * 
 * cdef enum CUgraphMem_attribute_enum:             # <<<<<<<<<<<<<<
 *     CU_GRAPH_MEM_ATTR_USED_MEM_CURRENT
 *     CU_GRAPH_MEM_ATTR_USED_MEM_HIGH
 */
enum __pyx_t_4cuda_5ccuda_CUgraphMem_attribute_enum {
  __pyx_e_4cuda_5ccuda_CU_GRAPH_MEM_ATTR_USED_MEM_CURRENT,
  __pyx_e_4cuda_5ccuda_CU_GRAPH_MEM_ATTR_USED_MEM_HIGH,
  __pyx_e_4cuda_5ccuda_CU_GRAPH_MEM_ATTR_RESERVED_MEM_CURRENT,
  __pyx_e_4cuda_5ccuda_CU_GRAPH_MEM_ATTR_RESERVED_MEM_HIGH
};

/* "cuda/ccuda.pxd":1539
 * ctypedef CUgraphMem_attribute_enum CUgraphMem_attribute
 * 
 * cdef enum CUflushGPUDirectRDMAWritesOptions_enum:             # <<<<<<<<<<<<<<
 *     CU_FLUSH_GPU_DIRECT_RDMA_WRITES_OPTION_HOST = 1<<0
 *     CU_FLUSH_GPU_DIRECT_RDMA_WRITES_OPTION_MEMOPS = 1<<1
 */
enum __pyx_t_4cuda_5ccuda_CUflushGPUDirectRDMAWritesOptions_enum {

  /* "cuda/ccuda.pxd":1541
 * cdef enum CUflushGPUDirectRDMAWritesOptions_enum:
 *     CU_FLUSH_GPU_DIRECT_RDMA_WRITES_OPTION_HOST = 1<<0
 *     CU_FLUSH_GPU_DIRECT_RDMA_WRITES_OPTION_MEMOPS = 1<<1             # <<<<<<<<<<<<<<
 * 
 * ctypedef CUflushGPUDirectRDMAWritesOptions_enum CUflushGPUDirectRDMAWritesOptions
 */
  __pyx_e_4cuda_5ccuda_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_OPTION_HOST = (1 << 0),
  __pyx_e_4cuda_5ccuda_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_OPTION_MEMOPS = (1 << 1)
};

/* "cuda/ccuda.pxd":1545
 * ctypedef CUflushGPUDirectRDMAWritesOptions_enum CUflushGPUDirectRDMAWritesOptions
 * 
 * cdef enum CUGPUDirectRDMAWritesOrdering_enum:             # <<<<<<<<<<<<<<
 *     CU_GPU_DIRECT_RDMA_WRITES_ORDERING_NONE = 0
 *     CU_GPU_DIRECT_RDMA_WRITES_ORDERING_OWNER = 100
 */
enum __pyx_t_4cuda_5ccuda_CUGPUDirectRDMAWritesOrdering_enum {
  __pyx_e_4cuda_5ccuda_CU_GPU_DIRECT_RDMA_WRITES_ORDERING_NONE = 0,
  __pyx_e_4cuda_5ccuda_CU_GPU_DIRECT_RDMA_WRITES_ORDERING_OWNER = 0x64,
  __pyx_e_4cuda_5ccuda_CU_GPU_DIRECT_RDMA_WRITES_ORDERING_ALL_DEVICES = 0xC8
};

/* "cuda/ccuda.pxd":1552
 * ctypedef CUGPUDirectRDMAWritesOrdering_enum CUGPUDirectRDMAWritesOrdering
 * 
 * cdef enum CUflushGPUDirectRDMAWritesScope_enum:             # <<<<<<<<<<<<<<
 *     CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TO_OWNER = 100
 *     CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TO_ALL_DEVICES = 200
 */
enum __pyx_t_4cuda_5ccuda_CUflushGPUDirectRDMAWritesScope_enum {
  __pyx_e_4cuda_5ccuda_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TO_OWNER = 0x64,
  __pyx_e_4cuda_5ccuda_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TO_ALL_DEVICES = 0xC8
};

/* "cuda/ccuda.pxd":1558
 * ctypedef CUflushGPUDirectRDMAWritesScope_enum CUflushGPUDirectRDMAWritesScope
 * 
 * cdef enum CUflushGPUDirectRDMAWritesTarget_enum:             # <<<<<<<<<<<<<<
 *     CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TARGET_CURRENT_CTX = 0
 * 
 */
enum __pyx_t_4cuda_5ccuda_CUflushGPUDirectRDMAWritesTarget_enum {
  __pyx_e_4cuda_5ccuda_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TARGET_CURRENT_CTX = 0
};

/* "cuda/ccuda.pxd":1563
 * ctypedef CUflushGPUDirectRDMAWritesTarget_enum CUflushGPUDirectRDMAWritesTarget
 * 
 * cdef enum CUgraphDebugDot_flags_enum:             # <<<<<<<<<<<<<<
 *     CU_GRAPH_DEBUG_DOT_FLAGS_VERBOSE = 1<<0
 *     CU_GRAPH_DEBUG_DOT_FLAGS_RUNTIME_TYPES = 1<<1
 */
enum __pyx_t_4cuda_5ccuda_CUgraphDebugDot_flags_enum {

  /* "cuda/ccuda.pxd":1576
 *     CU_GRAPH_DEBUG_DOT_FLAGS_HANDLES = 1<<10
 *     CU_GRAPH_DEBUG_DOT_FLAGS_MEM_ALLOC_NODE_PARAMS = 1<<11
 *     CU_GRAPH_DEBUG_DOT_FLAGS_MEM_FREE_NODE_PARAMS = 1<<12             # <<<<<<<<<<<<<<
 * 
 * ctypedef CUgraphDebugDot_flags_enum CUgraphDebugDot_flags
 */
  __pyx_e_4cuda_5ccuda_CU_GRAPH_DEBUG_DOT_FLAGS_VERBOSE = (1 << 0),
  __pyx_e_4cuda_5ccuda_CU_GRAPH_DEBUG_DOT_FLAGS_RUNTIME_TYPES = (1 << 1),
  __pyx_e_4cuda_5ccuda_CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_NODE_PARAMS = (1 << 2),
  __pyx_e_4cuda_5ccuda_CU_GRAPH_DEBUG_DOT_FLAGS_MEMCPY_NODE_PARAMS = (1 << 3),
  __pyx_e_4cuda_5ccuda_CU_GRAPH_DEBUG_DOT_FLAGS_MEMSET_NODE_PARAMS = (1 << 4),
  __pyx_e_4cuda_5ccuda_CU_GRAPH_DEBUG_DOT_FLAGS_HOST_NODE_PARAMS = (1 << 5),
  __pyx_e_4cuda_5ccuda_CU_GRAPH_DEBUG_DOT_FLAGS_EVENT_NODE_PARAMS = (1 << 6),
  __pyx_e_4cuda_5ccuda_CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEMAS_SIGNAL_NODE_PARAMS = (1 << 7),
  __pyx_e_4cuda_5ccuda_CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEMAS_WAIT_NODE_PARAMS = (1 << 8),
  __pyx_e_4cuda_5ccuda_CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_NODE_ATTRIBUTES = (1 << 9),
  __pyx_e_4cuda_5ccuda_CU_GRAPH_DEBUG_DOT_FLAGS_HANDLES = (1 << 10),
  __pyx_e_4cuda_5ccuda_CU_GRAPH_DEBUG_DOT_FLAGS_MEM_ALLOC_NODE_PARAMS = (1 << 11),
  __pyx_e_4cuda_5ccuda_CU_GRAPH_DEBUG_DOT_FLAGS_MEM_FREE_NODE_PARAMS = (1 << 12)
};

/* "cuda/ccuda.pxd":1580
 * ctypedef CUgraphDebugDot_flags_enum CUgraphDebugDot_flags
 * 
 * cdef enum CUuserObject_flags_enum:             # <<<<<<<<<<<<<<
 *     CU_USER_OBJECT_NO_DESTRUCTOR_SYNC = 1
 * 
 */
enum __pyx_t_4cuda_5ccuda_CUuserObject_flags_enum {
  __pyx_e_4cuda_5ccuda_CU_USER_OBJECT_NO_DESTRUCTOR_SYNC = 1
};

/* "cuda/ccuda.pxd":1585
 * ctypedef CUuserObject_flags_enum CUuserObject_flags
 * 
 * cdef enum CUuserObjectRetain_flags_enum:             # <<<<<<<<<<<<<<
 *     CU_GRAPH_USER_OBJECT_MOVE = 1
 * 
 */
enum __pyx_t_4cuda_5ccuda_CUuserObjectRetain_flags_enum {
  __pyx_e_4cuda_5ccuda_CU_GRAPH_USER_OBJECT_MOVE = 1
};

/* "cuda/ccuda.pxd":1590
 * ctypedef CUuserObjectRetain_flags_enum CUuserObjectRetain_flags
 * 
 * cdef enum CUgraphInstantiate_flags_enum:             # <<<<<<<<<<<<<<
 *     CUDA_GRAPH_INSTANTIATE_FLAG_AUTO_FREE_ON_LAUNCH = 1
 * 
 */
enum __pyx_t_4cuda_5ccuda_CUgraphInstantiate_flags_enum {
  __pyx_e_4cuda_5ccuda_CUDA_GRAPH_INSTANTIATE_FLAG_AUTO_FREE_ON_LAUNCH = 1
};

/* "cuda/ccuda.pxd":2295
 * cdef CUresult cuGetExportTable(const void** ppExportTable, const CUuuid* pExportTableId) nogil except ?CUDA_ERROR_NOT_FOUND
 * 
 * cdef enum: CUDA_VERSION = 11050             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_IPC_HANDLE_SIZE = 64
 */
enum  {
  __pyx_e_4cuda_5ccuda_CUDA_VERSION = 0x2B2A
};

/* "cuda/ccuda.pxd":2297
 * cdef enum: CUDA_VERSION = 11050
 * 
 * cdef enum: CU_IPC_HANDLE_SIZE = 64             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_STREAM_LEGACY = 0x1
 */
enum  {
  __pyx_e_4cuda_5ccuda_CU_IPC_HANDLE_SIZE = 64
};

/* "cuda/ccuda.pxd":2299
 * cdef enum: CU_IPC_HANDLE_SIZE = 64
 * 
 * cdef enum: CU_STREAM_LEGACY = 0x1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_STREAM_PER_THREAD = 0x2
 */
enum  {
  __pyx_e_4cuda_5ccuda_CU_STREAM_LEGACY = 0x1
};

/* "cuda/ccuda.pxd":2301
 * cdef enum: CU_STREAM_LEGACY = 0x1
 * 
 * cdef enum: CU_STREAM_PER_THREAD = 0x2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_MEMHOSTALLOC_PORTABLE = 0x01
 */
enum  {
  __pyx_e_4cuda_5ccuda_CU_STREAM_PER_THREAD = 0x2
};

/* "cuda/ccuda.pxd":2303
 * cdef enum: CU_STREAM_PER_THREAD = 0x2
 * 
 * cdef enum: CU_MEMHOSTALLOC_PORTABLE = 0x01             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_MEMHOSTALLOC_DEVICEMAP = 0x02
 */
enum  {
  __pyx_e_4cuda_5ccuda_CU_MEMHOSTALLOC_PORTABLE = 0x01
};

/* "cuda/ccuda.pxd":2305
 * cdef enum: CU_MEMHOSTALLOC_PORTABLE = 0x01
 * 
 * cdef enum: CU_MEMHOSTALLOC_DEVICEMAP = 0x02             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_MEMHOSTALLOC_WRITECOMBINED = 0x04
 */
enum  {
  __pyx_e_4cuda_5ccuda_CU_MEMHOSTALLOC_DEVICEMAP = 0x02
};

/* "cuda/ccuda.pxd":2307
 * cdef enum: CU_MEMHOSTALLOC_DEVICEMAP = 0x02
 * 
 * cdef enum: CU_MEMHOSTALLOC_WRITECOMBINED = 0x04             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_MEMHOSTREGISTER_PORTABLE = 0x01
 */
enum  {
  __pyx_e_4cuda_5ccuda_CU_MEMHOSTALLOC_WRITECOMBINED = 0x04
};

/* "cuda/ccuda.pxd":2309
 * cdef enum: CU_MEMHOSTALLOC_WRITECOMBINED = 0x04
 * 
 * cdef enum: CU_MEMHOSTREGISTER_PORTABLE = 0x01             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_MEMHOSTREGISTER_DEVICEMAP = 0x02
 */
enum  {
  __pyx_e_4cuda_5ccuda_CU_MEMHOSTREGISTER_PORTABLE = 0x01
};

/* "cuda/ccuda.pxd":2311
 * cdef enum: CU_MEMHOSTREGISTER_PORTABLE = 0x01
 * 
 * cdef enum: CU_MEMHOSTREGISTER_DEVICEMAP = 0x02             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_MEMHOSTREGISTER_IOMEMORY = 0x04
 */
enum  {
  __pyx_e_4cuda_5ccuda_CU_MEMHOSTREGISTER_DEVICEMAP = 0x02
};

/* "cuda/ccuda.pxd":2313
 * cdef enum: CU_MEMHOSTREGISTER_DEVICEMAP = 0x02
 * 
 * cdef enum: CU_MEMHOSTREGISTER_IOMEMORY = 0x04             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_MEMHOSTREGISTER_READ_ONLY = 0x08
 */
enum  {
  __pyx_e_4cuda_5ccuda_CU_MEMHOSTREGISTER_IOMEMORY = 0x04
};

/* "cuda/ccuda.pxd":2315
 * cdef enum: CU_MEMHOSTREGISTER_IOMEMORY = 0x04
 * 
 * cdef enum: CU_MEMHOSTREGISTER_READ_ONLY = 0x08             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_ARRAY_SPARSE_PROPERTIES_SINGLE_MIPTAIL = 0x1
 */
enum  {
  __pyx_e_4cuda_5ccuda_CU_MEMHOSTREGISTER_READ_ONLY = 0x08
};

/* "cuda/ccuda.pxd":2317
 * cdef enum: CU_MEMHOSTREGISTER_READ_ONLY = 0x08
 * 
 * cdef enum: CU_ARRAY_SPARSE_PROPERTIES_SINGLE_MIPTAIL = 0x1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CUDA_EXTERNAL_MEMORY_DEDICATED = 0x1
 */
enum  {
  __pyx_e_4cuda_5ccuda_CU_ARRAY_SPARSE_PROPERTIES_SINGLE_MIPTAIL = 0x1
};

/* "cuda/ccuda.pxd":2319
 * cdef enum: CU_ARRAY_SPARSE_PROPERTIES_SINGLE_MIPTAIL = 0x1
 * 
 * cdef enum: CUDA_EXTERNAL_MEMORY_DEDICATED = 0x1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CUDA_EXTERNAL_SEMAPHORE_SIGNAL_SKIP_NVSCIBUF_MEMSYNC = 0x01
 */
enum  {
  __pyx_e_4cuda_5ccuda_CUDA_EXTERNAL_MEMORY_DEDICATED = 0x1
};

/* "cuda/ccuda.pxd":2321
 * cdef enum: CUDA_EXTERNAL_MEMORY_DEDICATED = 0x1
 * 
 * cdef enum: CUDA_EXTERNAL_SEMAPHORE_SIGNAL_SKIP_NVSCIBUF_MEMSYNC = 0x01             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CUDA_EXTERNAL_SEMAPHORE_WAIT_SKIP_NVSCIBUF_MEMSYNC = 0x02
 */
enum  {
  __pyx_e_4cuda_5ccuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_SKIP_NVSCIBUF_MEMSYNC = 0x01
};

/* "cuda/ccuda.pxd":2323
 * cdef enum: CUDA_EXTERNAL_SEMAPHORE_SIGNAL_SKIP_NVSCIBUF_MEMSYNC = 0x01
 * 
 * cdef enum: CUDA_EXTERNAL_SEMAPHORE_WAIT_SKIP_NVSCIBUF_MEMSYNC = 0x02             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CUDA_NVSCISYNC_ATTR_SIGNAL = 0x1
 */
enum  {
  __pyx_e_4cuda_5ccuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_SKIP_NVSCIBUF_MEMSYNC = 0x02
};

/* "cuda/ccuda.pxd":2325
 * cdef enum: CUDA_EXTERNAL_SEMAPHORE_WAIT_SKIP_NVSCIBUF_MEMSYNC = 0x02
 * 
 * cdef enum: CUDA_NVSCISYNC_ATTR_SIGNAL = 0x1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CUDA_NVSCISYNC_ATTR_WAIT = 0x2
 */
enum  {
  __pyx_e_4cuda_5ccuda_CUDA_NVSCISYNC_ATTR_SIGNAL = 0x1
};

/* "cuda/ccuda.pxd":2327
 * cdef enum: CUDA_NVSCISYNC_ATTR_SIGNAL = 0x1
 * 
 * cdef enum: CUDA_NVSCISYNC_ATTR_WAIT = 0x2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_MEM_CREATE_USAGE_TILE_POOL = 0x1
 */
enum  {
  __pyx_e_4cuda_5ccuda_CUDA_NVSCISYNC_ATTR_WAIT = 0x2
};

/* "cuda/ccuda.pxd":2329
 * cdef enum: CUDA_NVSCISYNC_ATTR_WAIT = 0x2
 * 
 * cdef enum: CU_MEM_CREATE_USAGE_TILE_POOL = 0x1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_PRE_LAUNCH_SYNC = 0x01
 */
enum  {
  __pyx_e_4cuda_5ccuda_CU_MEM_CREATE_USAGE_TILE_POOL = 0x1
};

/* "cuda/ccuda.pxd":2331
 * cdef enum: CU_MEM_CREATE_USAGE_TILE_POOL = 0x1
 * 
 * cdef enum: CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_PRE_LAUNCH_SYNC = 0x01             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_POST_LAUNCH_SYNC = 0x02
 */
enum  {
  __pyx_e_4cuda_5ccuda_CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_PRE_LAUNCH_SYNC = 0x01
};

/* "cuda/ccuda.pxd":2333
 * cdef enum: CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_PRE_LAUNCH_SYNC = 0x01
 * 
 * cdef enum: CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_POST_LAUNCH_SYNC = 0x02             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CUDA_ARRAY3D_LAYERED = 0x01
 */
enum  {
  __pyx_e_4cuda_5ccuda_CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_POST_LAUNCH_SYNC = 0x02
};

/* "cuda/ccuda.pxd":2335
 * cdef enum: CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_POST_LAUNCH_SYNC = 0x02
 * 
 * cdef enum: CUDA_ARRAY3D_LAYERED = 0x01             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CUDA_ARRAY3D_2DARRAY = 0x01
 */
enum  {
  __pyx_e_4cuda_5ccuda_CUDA_ARRAY3D_LAYERED = 0x01
};

/* "cuda/ccuda.pxd":2337
 * cdef enum: CUDA_ARRAY3D_LAYERED = 0x01
 * 
 * cdef enum: CUDA_ARRAY3D_2DARRAY = 0x01             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CUDA_ARRAY3D_SURFACE_LDST = 0x02
 */
enum  {
  __pyx_e_4cuda_5ccuda_CUDA_ARRAY3D_2DARRAY = 0x01
};

/* "cuda/ccuda.pxd":2339
 * cdef enum: CUDA_ARRAY3D_2DARRAY = 0x01
 * 
 * cdef enum: CUDA_ARRAY3D_SURFACE_LDST = 0x02             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CUDA_ARRAY3D_CUBEMAP = 0x04
 */
enum  {
  __pyx_e_4cuda_5ccuda_CUDA_ARRAY3D_SURFACE_LDST = 0x02
};

/* "cuda/ccuda.pxd":2341
 * cdef enum: CUDA_ARRAY3D_SURFACE_LDST = 0x02
 * 
 * cdef enum: CUDA_ARRAY3D_CUBEMAP = 0x04             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CUDA_ARRAY3D_TEXTURE_GATHER = 0x08
 */
enum  {
  __pyx_e_4cuda_5ccuda_CUDA_ARRAY3D_CUBEMAP = 0x04
};

/* "cuda/ccuda.pxd":2343
 * cdef enum: CUDA_ARRAY3D_CUBEMAP = 0x04
 * 
 * cdef enum: CUDA_ARRAY3D_TEXTURE_GATHER = 0x08             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CUDA_ARRAY3D_DEPTH_TEXTURE = 0x10
 */
enum  {
  __pyx_e_4cuda_5ccuda_CUDA_ARRAY3D_TEXTURE_GATHER = 0x08
};

/* "cuda/ccuda.pxd":2345
 * cdef enum: CUDA_ARRAY3D_TEXTURE_GATHER = 0x08
 * 
 * cdef enum: CUDA_ARRAY3D_DEPTH_TEXTURE = 0x10             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CUDA_ARRAY3D_COLOR_ATTACHMENT = 0x20
 */
enum  {
  __pyx_e_4cuda_5ccuda_CUDA_ARRAY3D_DEPTH_TEXTURE = 0x10
};

/* "cuda/ccuda.pxd":2347
 * cdef enum: CUDA_ARRAY3D_DEPTH_TEXTURE = 0x10
 * 
 * cdef enum: CUDA_ARRAY3D_COLOR_ATTACHMENT = 0x20             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CUDA_ARRAY3D_SPARSE = 0x40
 */
enum  {
  __pyx_e_4cuda_5ccuda_CUDA_ARRAY3D_COLOR_ATTACHMENT = 0x20
};

/* "cuda/ccuda.pxd":2349
 * cdef enum: CUDA_ARRAY3D_COLOR_ATTACHMENT = 0x20
 * 
 * cdef enum: CUDA_ARRAY3D_SPARSE = 0x40             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_TRSA_OVERRIDE_FORMAT = 0x01
 */
enum  {
  __pyx_e_4cuda_5ccuda_CUDA_ARRAY3D_SPARSE = 0x40
};

/* "cuda/ccuda.pxd":2351
 * cdef enum: CUDA_ARRAY3D_SPARSE = 0x40
 * 
 * cdef enum: CU_TRSA_OVERRIDE_FORMAT = 0x01             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_TRSF_READ_AS_INTEGER = 0x01
 */
enum  {
  __pyx_e_4cuda_5ccuda_CU_TRSA_OVERRIDE_FORMAT = 0x01
};

/* "cuda/ccuda.pxd":2353
 * cdef enum: CU_TRSA_OVERRIDE_FORMAT = 0x01
 * 
 * cdef enum: CU_TRSF_READ_AS_INTEGER = 0x01             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_TRSF_NORMALIZED_COORDINATES = 0x02
 */
enum  {
  __pyx_e_4cuda_5ccuda_CU_TRSF_READ_AS_INTEGER = 0x01
};

/* "cuda/ccuda.pxd":2355
 * cdef enum: CU_TRSF_READ_AS_INTEGER = 0x01
 * 
 * cdef enum: CU_TRSF_NORMALIZED_COORDINATES = 0x02             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_TRSF_SRGB = 0x10
 */
enum  {
  __pyx_e_4cuda_5ccuda_CU_TRSF_NORMALIZED_COORDINATES = 0x02
};

/* "cuda/ccuda.pxd":2357
 * cdef enum: CU_TRSF_NORMALIZED_COORDINATES = 0x02
 * 
 * cdef enum: CU_TRSF_SRGB = 0x10             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_TRSF_DISABLE_TRILINEAR_OPTIMIZATION = 0x20
 */
enum  {
  __pyx_e_4cuda_5ccuda_CU_TRSF_SRGB = 0x10
};

/* "cuda/ccuda.pxd":2359
 * cdef enum: CU_TRSF_SRGB = 0x10
 * 
 * cdef enum: CU_TRSF_DISABLE_TRILINEAR_OPTIMIZATION = 0x20             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_LAUNCH_PARAM_END = 0x00
 */
enum  {
  __pyx_e_4cuda_5ccuda_CU_TRSF_DISABLE_TRILINEAR_OPTIMIZATION = 0x20
};

/* "cuda/ccuda.pxd":2361
 * cdef enum: CU_TRSF_DISABLE_TRILINEAR_OPTIMIZATION = 0x20
 * 
 * cdef enum: CU_LAUNCH_PARAM_END = 0x00             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_LAUNCH_PARAM_BUFFER_POINTER = 0x01
 */
enum  {
  __pyx_e_4cuda_5ccuda_CU_LAUNCH_PARAM_END = 0x00
};

/* "cuda/ccuda.pxd":2363
 * cdef enum: CU_LAUNCH_PARAM_END = 0x00
 * 
 * cdef enum: CU_LAUNCH_PARAM_BUFFER_POINTER = 0x01             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_LAUNCH_PARAM_BUFFER_SIZE = 0x02
 */
enum  {
  __pyx_e_4cuda_5ccuda_CU_LAUNCH_PARAM_BUFFER_POINTER = 0x01
};

/* "cuda/ccuda.pxd":2365
 * cdef enum: CU_LAUNCH_PARAM_BUFFER_POINTER = 0x01
 * 
 * cdef enum: CU_LAUNCH_PARAM_BUFFER_SIZE = 0x02             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_PARAM_TR_DEFAULT = -1
 */
enum  {
  __pyx_e_4cuda_5ccuda_CU_LAUNCH_PARAM_BUFFER_SIZE = 0x02
};

/* "cuda/ccuda.pxd":2367
 * cdef enum: CU_LAUNCH_PARAM_BUFFER_SIZE = 0x02
 * 
 * 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":2369
 * 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":2371
 * cdef enum: CU_DEVICE_CPU = -1
 * 
 * cdef enum: CU_DEVICE_INVALID = -2             # <<<<<<<<<<<<<<
 */
enum  {
  __pyx_e_4cuda_5ccuda_CU_DEVICE_INVALID = -2L
};

/* "cuda/ccuda.pxd":26
 *     cdef struct CUctx_st:
 *         pass
 * ctypedef CUctx_st* CUcontext             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "":
 */
typedef struct CUctx_st *__pyx_t_4cuda_5ccuda_CUcontext;

/* "cuda/ccuda.pxd":31
 *     cdef struct CUmod_st:
 *         pass
 * ctypedef CUmod_st* CUmodule             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "":
 */
typedef struct CUmod_st *__pyx_t_4cuda_5ccuda_CUmodule;

/* "cuda/ccuda.pxd":36
 *     cdef struct CUfunc_st:
 *         pass
 * ctypedef CUfunc_st* CUfunction             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "":
 */
typedef struct CUfunc_st *__pyx_t_4cuda_5ccuda_CUfunction;

/* "cuda/ccuda.pxd":41
 *     cdef struct CUarray_st:
 *         pass
 * ctypedef CUarray_st* CUarray             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "":
 */
typedef struct CUarray_st *__pyx_t_4cuda_5ccuda_CUarray;

/* "cuda/ccuda.pxd":46
 *     cdef struct CUmipmappedArray_st:
 *         pass
 * ctypedef CUmipmappedArray_st* CUmipmappedArray             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "":
 */
typedef struct CUmipmappedArray_st *__pyx_t_4cuda_5ccuda_CUmipmappedArray;

/* "cuda/ccuda.pxd":51
 *     cdef struct CUtexref_st:
 *         pass
 * ctypedef CUtexref_st* CUtexref             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "":
 */
typedef struct CUtexref_st *__pyx_t_4cuda_5ccuda_CUtexref;

/* "cuda/ccuda.pxd":56
 *     cdef struct CUsurfref_st:
 *         pass
 * ctypedef CUsurfref_st* CUsurfref             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "":
 */
typedef struct CUsurfref_st *__pyx_t_4cuda_5ccuda_CUsurfref;

/* "cuda/ccuda.pxd":61
 *     cdef struct CUevent_st:
 *         pass
 * ctypedef CUevent_st* CUevent             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "":
 */
typedef struct CUevent_st *__pyx_t_4cuda_5ccuda_CUevent;

/* "cuda/ccuda.pxd":66
 *     cdef struct CUstream_st:
 *         pass
 * ctypedef CUstream_st* CUstream             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "":
 */
typedef struct CUstream_st *__pyx_t_4cuda_5ccuda_CUstream;

/* "cuda/ccuda.pxd":71
 *     cdef struct CUgraphicsResource_st:
 *         pass
 * ctypedef CUgraphicsResource_st* CUgraphicsResource             # <<<<<<<<<<<<<<
 * 
 * ctypedef unsigned long long CUtexObject_v1
 */
typedef struct CUgraphicsResource_st *__pyx_t_4cuda_5ccuda_CUgraphicsResource;

/* "cuda/ccuda.pxd":84
 *     cdef struct CUextMemory_st:
 *         pass
 * ctypedef CUextMemory_st* CUexternalMemory             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "":
 */
typedef struct CUextMemory_st *__pyx_t_4cuda_5ccuda_CUexternalMemory;

/* "cuda/ccuda.pxd":89
 *     cdef struct CUextSemaphore_st:
 *         pass
 * ctypedef CUextSemaphore_st* CUexternalSemaphore             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "":
 */
typedef struct CUextSemaphore_st *__pyx_t_4cuda_5ccuda_CUexternalSemaphore;

/* "cuda/ccuda.pxd":94
 *     cdef struct CUgraph_st:
 *         pass
 * ctypedef CUgraph_st* CUgraph             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "":
 */
typedef struct CUgraph_st *__pyx_t_4cuda_5ccuda_CUgraph;

/* "cuda/ccuda.pxd":99
 *     cdef struct CUgraphNode_st:
 *         pass
 * ctypedef CUgraphNode_st* CUgraphNode             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "":
 */
typedef struct CUgraphNode_st *__pyx_t_4cuda_5ccuda_CUgraphNode;

/* "cuda/ccuda.pxd":104
 *     cdef struct CUgraphExec_st:
 *         pass
 * ctypedef CUgraphExec_st* CUgraphExec             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "":
 */
typedef struct CUgraphExec_st *__pyx_t_4cuda_5ccuda_CUgraphExec;

/* "cuda/ccuda.pxd":109
 *     cdef struct CUmemPoolHandle_st:
 *         pass
 * ctypedef CUmemPoolHandle_st* CUmemoryPool             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "":
 */
typedef struct CUmemPoolHandle_st *__pyx_t_4cuda_5ccuda_CUmemoryPool;

/* "cuda/ccuda.pxd":114
 *     cdef struct CUuserObject_st:
 *         pass
 * ctypedef CUuserObject_st* CUuserObject             # <<<<<<<<<<<<<<
 * 
 * cdef struct CUuuid_st:
 */
typedef struct CUuserObject_st *__pyx_t_4cuda_5ccuda_CUuserObject;

/* "cuda/ccuda.pxd":116
 * ctypedef CUuserObject_st* CUuserObject
 * 
 * cdef struct CUuuid_st:             # <<<<<<<<<<<<<<
 *     char bytes[16]
 * 
 */
struct __pyx_t_4cuda_5ccuda_CUuuid_st {
  char bytes[16];
};

/* "cuda/ccuda.pxd":119
 *     char bytes[16]
 * 
 * ctypedef CUuuid_st CUuuid             # <<<<<<<<<<<<<<
 * 
 * cdef struct CUipcEventHandle_st:
 */
typedef struct __pyx_t_4cuda_5ccuda_CUuuid_st __pyx_t_4cuda_5ccuda_CUuuid;

/* "cuda/ccuda.pxd":121
 * ctypedef CUuuid_st CUuuid
 * 
 * cdef struct CUipcEventHandle_st:             # <<<<<<<<<<<<<<
 *     char reserved[64]
 * 
 */
struct __pyx_t_4cuda_5ccuda_CUipcEventHandle_st {
  char reserved[64];
};

/* "cuda/ccuda.pxd":124
 *     char reserved[64]
 * 
 * ctypedef CUipcEventHandle_st CUipcEventHandle_v1             # <<<<<<<<<<<<<<
 * 
 * ctypedef CUipcEventHandle_v1 CUipcEventHandle
 */
typedef struct __pyx_t_4cuda_5ccuda_CUipcEventHandle_st __pyx_t_4cuda_5ccuda_CUipcEventHandle_v1;

/* "cuda/ccuda.pxd":126
 * ctypedef CUipcEventHandle_st CUipcEventHandle_v1
 * 
 * ctypedef CUipcEventHandle_v1 CUipcEventHandle             # <<<<<<<<<<<<<<
 * 
 * cdef struct CUipcMemHandle_st:
 */
typedef __pyx_t_4cuda_5ccuda_CUipcEventHandle_v1 __pyx_t_4cuda_5ccuda_CUipcEventHandle;

/* "cuda/ccuda.pxd":128
 * ctypedef CUipcEventHandle_v1 CUipcEventHandle
 * 
 * cdef struct CUipcMemHandle_st:             # <<<<<<<<<<<<<<
 *     char reserved[64]
 * 
 */
struct __pyx_t_4cuda_5ccuda_CUipcMemHandle_st {
  char reserved[64];
};

/* "cuda/ccuda.pxd":131
 *     char reserved[64]
 * 
 * ctypedef CUipcMemHandle_st CUipcMemHandle_v1             # <<<<<<<<<<<<<<
 * 
 * ctypedef CUipcMemHandle_v1 CUipcMemHandle
 */
typedef struct __pyx_t_4cuda_5ccuda_CUipcMemHandle_st __pyx_t_4cuda_5ccuda_CUipcMemHandle_v1;

/* "cuda/ccuda.pxd":133
 * ctypedef CUipcMemHandle_st CUipcMemHandle_v1
 * 
 * ctypedef CUipcMemHandle_v1 CUipcMemHandle             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUipcMem_flags_enum:
 */
typedef __pyx_t_4cuda_5ccuda_CUipcMemHandle_v1 __pyx_t_4cuda_5ccuda_CUipcMemHandle;

/* "cuda/ccuda.pxd":138
 *     CU_IPC_MEM_LAZY_ENABLE_PEER_ACCESS = 0x1
 * 
 * ctypedef CUipcMem_flags_enum CUipcMem_flags             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUmemAttach_flags_enum:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUipcMem_flags_enum __pyx_t_4cuda_5ccuda_CUipcMem_flags;

/* "cuda/ccuda.pxd":145
 *     CU_MEM_ATTACH_SINGLE = 0x4
 * 
 * ctypedef CUmemAttach_flags_enum CUmemAttach_flags             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUctx_flags_enum:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUmemAttach_flags_enum __pyx_t_4cuda_5ccuda_CUmemAttach_flags;

/* "cuda/ccuda.pxd":158
 *     CU_CTX_FLAGS_MASK = 0x1f
 * 
 * ctypedef CUctx_flags_enum CUctx_flags             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUstream_flags_enum:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUctx_flags_enum __pyx_t_4cuda_5ccuda_CUctx_flags;

/* "cuda/ccuda.pxd":164
 *     CU_STREAM_NON_BLOCKING = 0x1
 * 
 * ctypedef CUstream_flags_enum CUstream_flags             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUevent_flags_enum:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUstream_flags_enum __pyx_t_4cuda_5ccuda_CUstream_flags;

/* "cuda/ccuda.pxd":172
 *     CU_EVENT_INTERPROCESS = 0x4
 * 
 * ctypedef CUevent_flags_enum CUevent_flags             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUevent_record_flags_enum:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUevent_flags_enum __pyx_t_4cuda_5ccuda_CUevent_flags;

/* "cuda/ccuda.pxd":178
 *     CU_EVENT_RECORD_EXTERNAL = 0x1
 * 
 * ctypedef CUevent_record_flags_enum CUevent_record_flags             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUevent_wait_flags_enum:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUevent_record_flags_enum __pyx_t_4cuda_5ccuda_CUevent_record_flags;

/* "cuda/ccuda.pxd":184
 *     CU_EVENT_WAIT_EXTERNAL = 0x1
 * 
 * ctypedef CUevent_wait_flags_enum CUevent_wait_flags             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUstreamWaitValue_flags_enum:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUevent_wait_flags_enum __pyx_t_4cuda_5ccuda_CUevent_wait_flags;

/* "cuda/ccuda.pxd":193
 *     CU_STREAM_WAIT_VALUE_FLUSH = 1<<30
 * 
 * ctypedef CUstreamWaitValue_flags_enum CUstreamWaitValue_flags             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUstreamWriteValue_flags_enum:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUstreamWaitValue_flags_enum __pyx_t_4cuda_5ccuda_CUstreamWaitValue_flags;

/* "cuda/ccuda.pxd":199
 *     CU_STREAM_WRITE_VALUE_NO_MEMORY_BARRIER = 0x1
 * 
 * ctypedef CUstreamWriteValue_flags_enum CUstreamWriteValue_flags             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUstreamBatchMemOpType_enum:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUstreamWriteValue_flags_enum __pyx_t_4cuda_5ccuda_CUstreamWriteValue_flags;

/* "cuda/ccuda.pxd":208
 *     CU_STREAM_MEM_OP_FLUSH_REMOTE_WRITES = 3
 * 
 * ctypedef CUstreamBatchMemOpType_enum CUstreamBatchMemOpType             # <<<<<<<<<<<<<<
 * 
 * cdef struct CUstreamMemOpWaitValueParams_st:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUstreamBatchMemOpType_enum __pyx_t_4cuda_5ccuda_CUstreamBatchMemOpType;

/* "cuda/ccuda.pxd":210
 * ctypedef CUstreamBatchMemOpType_enum CUstreamBatchMemOpType
 * 
 * cdef struct CUstreamMemOpWaitValueParams_st:             # <<<<<<<<<<<<<<
 *     CUstreamBatchMemOpType operation
 *     CUdeviceptr address
 */
struct __pyx_t_4cuda_5ccuda_CUstreamMemOpWaitValueParams_st {
  __pyx_t_4cuda_5ccuda_CUstreamBatchMemOpType operation;
  __pyx_t_4cuda_5ccuda_CUdeviceptr address;
  __pyx_t_4cuda_5ccuda_cuuint64_t value64;
  unsigned int flags;
  __pyx_t_4cuda_5ccuda_CUdeviceptr alias;
};

/* "cuda/ccuda.pxd":217
 *     CUdeviceptr alias
 * 
 * cdef struct CUstreamMemOpWriteValueParams_st:             # <<<<<<<<<<<<<<
 *     CUstreamBatchMemOpType operation
 *     CUdeviceptr address
 */
struct __pyx_t_4cuda_5ccuda_CUstreamMemOpWriteValueParams_st {
  __pyx_t_4cuda_5ccuda_CUstreamBatchMemOpType operation;
  __pyx_t_4cuda_5ccuda_CUdeviceptr address;
  __pyx_t_4cuda_5ccuda_cuuint64_t value64;
  unsigned int flags;
  __pyx_t_4cuda_5ccuda_CUdeviceptr alias;
};

/* "cuda/ccuda.pxd":224
 *     CUdeviceptr alias
 * 
 * cdef struct CUstreamMemOpFlushRemoteWritesParams_st:             # <<<<<<<<<<<<<<
 *     CUstreamBatchMemOpType operation
 *     unsigned int flags
 */
struct __pyx_t_4cuda_5ccuda_CUstreamMemOpFlushRemoteWritesParams_st {
  __pyx_t_4cuda_5ccuda_CUstreamBatchMemOpType operation;
  unsigned int flags;
};

/* "cuda/ccuda.pxd":228
 *     unsigned int flags
 * 
 * cdef union CUstreamBatchMemOpParams_union:             # <<<<<<<<<<<<<<
 *     CUstreamBatchMemOpType operation
 *     CUstreamMemOpWaitValueParams_st waitValue
 */
union __pyx_t_4cuda_5ccuda_CUstreamBatchMemOpParams_union {
  __pyx_t_4cuda_5ccuda_CUstreamBatchMemOpType operation;
  struct __pyx_t_4cuda_5ccuda_CUstreamMemOpWaitValueParams_st waitValue;
  struct __pyx_t_4cuda_5ccuda_CUstreamMemOpWriteValueParams_st writeValue;
  struct __pyx_t_4cuda_5ccuda_CUstreamMemOpFlushRemoteWritesParams_st flushRemoteWrites;
  __pyx_t_4cuda_5ccuda_cuuint64_t pad[6];
};

/* "cuda/ccuda.pxd":235
 *     cuuint64_t pad[6]
 * 
 * ctypedef CUstreamBatchMemOpParams_union CUstreamBatchMemOpParams_v1             # <<<<<<<<<<<<<<
 * 
 * ctypedef CUstreamBatchMemOpParams_v1 CUstreamBatchMemOpParams
 */
typedef union __pyx_t_4cuda_5ccuda_CUstreamBatchMemOpParams_union __pyx_t_4cuda_5ccuda_CUstreamBatchMemOpParams_v1;

/* "cuda/ccuda.pxd":237
 * ctypedef CUstreamBatchMemOpParams_union CUstreamBatchMemOpParams_v1
 * 
 * ctypedef CUstreamBatchMemOpParams_v1 CUstreamBatchMemOpParams             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUoccupancy_flags_enum:
 */
typedef __pyx_t_4cuda_5ccuda_CUstreamBatchMemOpParams_v1 __pyx_t_4cuda_5ccuda_CUstreamBatchMemOpParams;

/* "cuda/ccuda.pxd":243
 *     CU_OCCUPANCY_DISABLE_CACHING_OVERRIDE = 0x1
 * 
 * ctypedef CUoccupancy_flags_enum CUoccupancy_flags             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUstreamUpdateCaptureDependencies_flags_enum:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUoccupancy_flags_enum __pyx_t_4cuda_5ccuda_CUoccupancy_flags;

/* "cuda/ccuda.pxd":249
 *     CU_STREAM_SET_CAPTURE_DEPENDENCIES = 0x1
 * 
 * ctypedef CUstreamUpdateCaptureDependencies_flags_enum CUstreamUpdateCaptureDependencies_flags             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUarray_format_enum:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUstreamUpdateCaptureDependencies_flags_enum __pyx_t_4cuda_5ccuda_CUstreamUpdateCaptureDependencies_flags;

/* "cuda/ccuda.pxd":288
 *     CU_AD_FORMAT_BC7_UNORM_SRGB = 0x9e
 * 
 * ctypedef CUarray_format_enum CUarray_format             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUaddress_mode_enum:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUarray_format_enum __pyx_t_4cuda_5ccuda_CUarray_format;

/* "cuda/ccuda.pxd":296
 *     CU_TR_ADDRESS_MODE_BORDER = 3
 * 
 * ctypedef CUaddress_mode_enum CUaddress_mode             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUfilter_mode_enum:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUaddress_mode_enum __pyx_t_4cuda_5ccuda_CUaddress_mode;

/* "cuda/ccuda.pxd":302
 *     CU_TR_FILTER_MODE_LINEAR = 1
 * 
 * ctypedef CUfilter_mode_enum CUfilter_mode             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUdevice_attribute_enum:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUfilter_mode_enum __pyx_t_4cuda_5ccuda_CUfilter_mode;

/* "cuda/ccuda.pxd":432
 *     CU_DEVICE_ATTRIBUTE_MAX
 * 
 * ctypedef CUdevice_attribute_enum CUdevice_attribute             # <<<<<<<<<<<<<<
 * 
 * cdef struct CUdevprop_st:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUdevice_attribute_enum __pyx_t_4cuda_5ccuda_CUdevice_attribute;

/* "cuda/ccuda.pxd":434
 * ctypedef CUdevice_attribute_enum CUdevice_attribute
 * 
 * cdef struct CUdevprop_st:             # <<<<<<<<<<<<<<
 *     int maxThreadsPerBlock
 *     int maxThreadsDim[3]
 */
struct __pyx_t_4cuda_5ccuda_CUdevprop_st {
  int maxThreadsPerBlock;
  int maxThreadsDim[3];
  int maxGridSize[3];
  int sharedMemPerBlock;
  int totalConstantMemory;
  int SIMDWidth;
  int memPitch;
  int regsPerBlock;
  int clockRate;
  int textureAlign;
};

/* "cuda/ccuda.pxd":446
 *     int textureAlign
 * 
 * ctypedef CUdevprop_st CUdevprop_v1             # <<<<<<<<<<<<<<
 * 
 * ctypedef CUdevprop_v1 CUdevprop
 */
typedef struct __pyx_t_4cuda_5ccuda_CUdevprop_st __pyx_t_4cuda_5ccuda_CUdevprop_v1;

/* "cuda/ccuda.pxd":448
 * ctypedef CUdevprop_st CUdevprop_v1
 * 
 * ctypedef CUdevprop_v1 CUdevprop             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUpointer_attribute_enum:
 */
typedef __pyx_t_4cuda_5ccuda_CUdevprop_v1 __pyx_t_4cuda_5ccuda_CUdevprop;

/* "cuda/ccuda.pxd":469
 *     CU_POINTER_ATTRIBUTE_MEMPOOL_HANDLE = 17
 * 
 * ctypedef CUpointer_attribute_enum CUpointer_attribute             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUfunction_attribute_enum:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUpointer_attribute_enum __pyx_t_4cuda_5ccuda_CUpointer_attribute;

/* "cuda/ccuda.pxd":484
 *     CU_FUNC_ATTRIBUTE_MAX
 * 
 * ctypedef CUfunction_attribute_enum CUfunction_attribute             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUfunc_cache_enum:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUfunction_attribute_enum __pyx_t_4cuda_5ccuda_CUfunction_attribute;

/* "cuda/ccuda.pxd":492
 *     CU_FUNC_CACHE_PREFER_EQUAL = 0x03
 * 
 * ctypedef CUfunc_cache_enum CUfunc_cache             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUsharedconfig_enum:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUfunc_cache_enum __pyx_t_4cuda_5ccuda_CUfunc_cache;

/* "cuda/ccuda.pxd":499
 *     CU_SHARED_MEM_CONFIG_EIGHT_BYTE_BANK_SIZE = 0x02
 * 
 * ctypedef CUsharedconfig_enum CUsharedconfig             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUshared_carveout_enum:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUsharedconfig_enum __pyx_t_4cuda_5ccuda_CUsharedconfig;

/* "cuda/ccuda.pxd":506
 *     CU_SHAREDMEM_CARVEOUT_MAX_L1 = 0
 * 
 * ctypedef CUshared_carveout_enum CUshared_carveout             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUmemorytype_enum:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUshared_carveout_enum __pyx_t_4cuda_5ccuda_CUshared_carveout;

/* "cuda/ccuda.pxd":514
 *     CU_MEMORYTYPE_UNIFIED = 0x04
 * 
 * ctypedef CUmemorytype_enum CUmemorytype             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUcomputemode_enum:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUmemorytype_enum __pyx_t_4cuda_5ccuda_CUmemorytype;

/* "cuda/ccuda.pxd":521
 *     CU_COMPUTEMODE_EXCLUSIVE_PROCESS = 3
 * 
 * ctypedef CUcomputemode_enum CUcomputemode             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUmem_advise_enum:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUcomputemode_enum __pyx_t_4cuda_5ccuda_CUcomputemode;

/* "cuda/ccuda.pxd":531
 *     CU_MEM_ADVISE_UNSET_ACCESSED_BY = 6
 * 
 * ctypedef CUmem_advise_enum CUmem_advise             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUmem_range_attribute_enum:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUmem_advise_enum __pyx_t_4cuda_5ccuda_CUmem_advise;

/* "cuda/ccuda.pxd":539
 *     CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION = 4
 * 
 * ctypedef CUmem_range_attribute_enum CUmem_range_attribute             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUjit_option_enum:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUmem_range_attribute_enum __pyx_t_4cuda_5ccuda_CUmem_range_attribute;

/* "cuda/ccuda.pxd":569
 *     CU_JIT_NUM_OPTIONS
 * 
 * ctypedef CUjit_option_enum CUjit_option             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUjit_target_enum:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUjit_option_enum __pyx_t_4cuda_5ccuda_CUjit_option;

/* "cuda/ccuda.pxd":590
 *     CU_TARGET_COMPUTE_86 = 86
 * 
 * ctypedef CUjit_target_enum CUjit_target             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUjit_fallback_enum:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUjit_target_enum __pyx_t_4cuda_5ccuda_CUjit_target;

/* "cuda/ccuda.pxd":596
 *     CU_PREFER_BINARY
 * 
 * ctypedef CUjit_fallback_enum CUjit_fallback             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUjit_cacheMode_enum:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUjit_fallback_enum __pyx_t_4cuda_5ccuda_CUjit_fallback;

/* "cuda/ccuda.pxd":603
 *     CU_JIT_CACHE_OPTION_CA
 * 
 * ctypedef CUjit_cacheMode_enum CUjit_cacheMode             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUjitInputType_enum:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUjit_cacheMode_enum __pyx_t_4cuda_5ccuda_CUjit_cacheMode;

/* "cuda/ccuda.pxd":614
 *     CU_JIT_NUM_INPUT_TYPES
 * 
 * ctypedef CUjitInputType_enum CUjitInputType             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "":
 */
typedef enum __pyx_t_4cuda_5ccuda_CUjitInputType_enum __pyx_t_4cuda_5ccuda_CUjitInputType;

/* "cuda/ccuda.pxd":619
 *     cdef struct CUlinkState_st:
 *         pass
 * ctypedef CUlinkState_st* CUlinkState             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUgraphicsRegisterFlags_enum:
 */
typedef struct CUlinkState_st *__pyx_t_4cuda_5ccuda_CUlinkState;

/* "cuda/ccuda.pxd":628
 *     CU_GRAPHICS_REGISTER_FLAGS_TEXTURE_GATHER = 0x08
 * 
 * ctypedef CUgraphicsRegisterFlags_enum CUgraphicsRegisterFlags             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUgraphicsMapResourceFlags_enum:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUgraphicsRegisterFlags_enum __pyx_t_4cuda_5ccuda_CUgraphicsRegisterFlags;

/* "cuda/ccuda.pxd":635
 *     CU_GRAPHICS_MAP_RESOURCE_FLAGS_WRITE_DISCARD = 0x02
 * 
 * ctypedef CUgraphicsMapResourceFlags_enum CUgraphicsMapResourceFlags             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUarray_cubemap_face_enum:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUgraphicsMapResourceFlags_enum __pyx_t_4cuda_5ccuda_CUgraphicsMapResourceFlags;

/* "cuda/ccuda.pxd":645
 *     CU_CUBEMAP_FACE_NEGATIVE_Z = 0x05
 * 
 * ctypedef CUarray_cubemap_face_enum CUarray_cubemap_face             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUlimit_enum:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUarray_cubemap_face_enum __pyx_t_4cuda_5ccuda_CUarray_cubemap_face;

/* "cuda/ccuda.pxd":657
 *     CU_LIMIT_MAX
 * 
 * ctypedef CUlimit_enum CUlimit             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUresourcetype_enum:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUlimit_enum __pyx_t_4cuda_5ccuda_CUlimit;

/* "cuda/ccuda.pxd":665
 *     CU_RESOURCE_TYPE_PITCH2D = 0x03
 * 
 * ctypedef CUresourcetype_enum CUresourcetype             # <<<<<<<<<<<<<<
 * 
 * ctypedef void (*CUhostFn)(void* userData)
 */
typedef enum __pyx_t_4cuda_5ccuda_CUresourcetype_enum __pyx_t_4cuda_5ccuda_CUresourcetype;

/* "cuda/ccuda.pxd":667
 * ctypedef CUresourcetype_enum CUresourcetype
 * 
 * ctypedef void (*CUhostFn)(void* userData)             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUaccessProperty_enum:
 */
typedef void (*__pyx_t_4cuda_5ccuda_CUhostFn)(void *);

/* "cuda/ccuda.pxd":674
 *     CU_ACCESS_PROPERTY_PERSISTING = 2
 * 
 * ctypedef CUaccessProperty_enum CUaccessProperty             # <<<<<<<<<<<<<<
 * 
 * cdef struct CUaccessPolicyWindow_st:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUaccessProperty_enum __pyx_t_4cuda_5ccuda_CUaccessProperty;

/* "cuda/ccuda.pxd":676
 * ctypedef CUaccessProperty_enum CUaccessProperty
 * 
 * cdef struct CUaccessPolicyWindow_st:             # <<<<<<<<<<<<<<
 *     void* base_ptr
 *     size_t num_bytes
 */
struct __pyx_t_4cuda_5ccuda_CUaccessPolicyWindow_st {
  void *base_ptr;
  size_t num_bytes;
  float hitRatio;
  __pyx_t_4cuda_5ccuda_CUaccessProperty hitProp;
  __pyx_t_4cuda_5ccuda_CUaccessProperty missProp;
};

/* "cuda/ccuda.pxd":683
 *     CUaccessProperty missProp
 * 
 * ctypedef CUaccessPolicyWindow_st CUaccessPolicyWindow_v1             # <<<<<<<<<<<<<<
 * 
 * ctypedef CUaccessPolicyWindow_v1 CUaccessPolicyWindow
 */
typedef struct __pyx_t_4cuda_5ccuda_CUaccessPolicyWindow_st __pyx_t_4cuda_5ccuda_CUaccessPolicyWindow_v1;

/* "cuda/ccuda.pxd":685
 * ctypedef CUaccessPolicyWindow_st CUaccessPolicyWindow_v1
 * 
 * ctypedef CUaccessPolicyWindow_v1 CUaccessPolicyWindow             # <<<<<<<<<<<<<<
 * 
 * cdef struct CUDA_KERNEL_NODE_PARAMS_st:
 */
typedef __pyx_t_4cuda_5ccuda_CUaccessPolicyWindow_v1 __pyx_t_4cuda_5ccuda_CUaccessPolicyWindow;

/* "cuda/ccuda.pxd":687
 * ctypedef CUaccessPolicyWindow_v1 CUaccessPolicyWindow
 * 
 * cdef struct CUDA_KERNEL_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *     CUfunction func
 *     unsigned int gridDimX
 */
struct __pyx_t_4cuda_5ccuda_CUDA_KERNEL_NODE_PARAMS_st {
  __pyx_t_4cuda_5ccuda_CUfunction func;
  unsigned int gridDimX;
  unsigned int gridDimY;
  unsigned int gridDimZ;
  unsigned int blockDimX;
  unsigned int blockDimY;
  unsigned int blockDimZ;
  unsigned int sharedMemBytes;
  void **kernelParams;
  void **extra;
};

/* "cuda/ccuda.pxd":699
 *     void** extra
 * 
 * ctypedef CUDA_KERNEL_NODE_PARAMS_st CUDA_KERNEL_NODE_PARAMS_v1             # <<<<<<<<<<<<<<
 * 
 * ctypedef CUDA_KERNEL_NODE_PARAMS_v1 CUDA_KERNEL_NODE_PARAMS
 */
typedef struct __pyx_t_4cuda_5ccuda_CUDA_KERNEL_NODE_PARAMS_st __pyx_t_4cuda_5ccuda_CUDA_KERNEL_NODE_PARAMS_v1;

/* "cuda/ccuda.pxd":701
 * ctypedef CUDA_KERNEL_NODE_PARAMS_st CUDA_KERNEL_NODE_PARAMS_v1
 * 
 * ctypedef CUDA_KERNEL_NODE_PARAMS_v1 CUDA_KERNEL_NODE_PARAMS             # <<<<<<<<<<<<<<
 * 
 * cdef struct CUDA_MEMSET_NODE_PARAMS_st:
 */
typedef __pyx_t_4cuda_5ccuda_CUDA_KERNEL_NODE_PARAMS_v1 __pyx_t_4cuda_5ccuda_CUDA_KERNEL_NODE_PARAMS;

/* "cuda/ccuda.pxd":703
 * ctypedef CUDA_KERNEL_NODE_PARAMS_v1 CUDA_KERNEL_NODE_PARAMS
 * 
 * cdef struct CUDA_MEMSET_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *     CUdeviceptr dst
 *     size_t pitch
 */
struct __pyx_t_4cuda_5ccuda_CUDA_MEMSET_NODE_PARAMS_st {
  __pyx_t_4cuda_5ccuda_CUdeviceptr dst;
  size_t pitch;
  unsigned int value;
  unsigned int elementSize;
  size_t width;
  size_t height;
};

/* "cuda/ccuda.pxd":711
 *     size_t height
 * 
 * ctypedef CUDA_MEMSET_NODE_PARAMS_st CUDA_MEMSET_NODE_PARAMS_v1             # <<<<<<<<<<<<<<
 * 
 * ctypedef CUDA_MEMSET_NODE_PARAMS_v1 CUDA_MEMSET_NODE_PARAMS
 */
typedef struct __pyx_t_4cuda_5ccuda_CUDA_MEMSET_NODE_PARAMS_st __pyx_t_4cuda_5ccuda_CUDA_MEMSET_NODE_PARAMS_v1;

/* "cuda/ccuda.pxd":713
 * ctypedef CUDA_MEMSET_NODE_PARAMS_st CUDA_MEMSET_NODE_PARAMS_v1
 * 
 * ctypedef CUDA_MEMSET_NODE_PARAMS_v1 CUDA_MEMSET_NODE_PARAMS             # <<<<<<<<<<<<<<
 * 
 * cdef struct CUDA_HOST_NODE_PARAMS_st:
 */
typedef __pyx_t_4cuda_5ccuda_CUDA_MEMSET_NODE_PARAMS_v1 __pyx_t_4cuda_5ccuda_CUDA_MEMSET_NODE_PARAMS;

/* "cuda/ccuda.pxd":715
 * ctypedef CUDA_MEMSET_NODE_PARAMS_v1 CUDA_MEMSET_NODE_PARAMS
 * 
 * cdef struct CUDA_HOST_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *     CUhostFn fn
 *     void* userData
 */
struct __pyx_t_4cuda_5ccuda_CUDA_HOST_NODE_PARAMS_st {
  __pyx_t_4cuda_5ccuda_CUhostFn fn;
  void *userData;
};

/* "cuda/ccuda.pxd":719
 *     void* userData
 * 
 * ctypedef CUDA_HOST_NODE_PARAMS_st CUDA_HOST_NODE_PARAMS_v1             # <<<<<<<<<<<<<<
 * 
 * ctypedef CUDA_HOST_NODE_PARAMS_v1 CUDA_HOST_NODE_PARAMS
 */
typedef struct __pyx_t_4cuda_5ccuda_CUDA_HOST_NODE_PARAMS_st __pyx_t_4cuda_5ccuda_CUDA_HOST_NODE_PARAMS_v1;

/* "cuda/ccuda.pxd":721
 * ctypedef CUDA_HOST_NODE_PARAMS_st CUDA_HOST_NODE_PARAMS_v1
 * 
 * ctypedef CUDA_HOST_NODE_PARAMS_v1 CUDA_HOST_NODE_PARAMS             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUgraphNodeType_enum:
 */
typedef __pyx_t_4cuda_5ccuda_CUDA_HOST_NODE_PARAMS_v1 __pyx_t_4cuda_5ccuda_CUDA_HOST_NODE_PARAMS;

/* "cuda/ccuda.pxd":737
 *     CU_GRAPH_NODE_TYPE_MEM_FREE = 11
 * 
 * ctypedef CUgraphNodeType_enum CUgraphNodeType             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUsynchronizationPolicy_enum:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUgraphNodeType_enum __pyx_t_4cuda_5ccuda_CUgraphNodeType;

/* "cuda/ccuda.pxd":745
 *     CU_SYNC_POLICY_BLOCKING_SYNC = 4
 * 
 * ctypedef CUsynchronizationPolicy_enum CUsynchronizationPolicy             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUkernelNodeAttrID_enum:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUsynchronizationPolicy_enum __pyx_t_4cuda_5ccuda_CUsynchronizationPolicy;

/* "cuda/ccuda.pxd":751
 *     CU_KERNEL_NODE_ATTRIBUTE_COOPERATIVE = 2
 * 
 * ctypedef CUkernelNodeAttrID_enum CUkernelNodeAttrID             # <<<<<<<<<<<<<<
 * 
 * cdef union CUkernelNodeAttrValue_union:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUkernelNodeAttrID_enum __pyx_t_4cuda_5ccuda_CUkernelNodeAttrID;

/* "cuda/ccuda.pxd":753
 * ctypedef CUkernelNodeAttrID_enum CUkernelNodeAttrID
 * 
 * cdef union CUkernelNodeAttrValue_union:             # <<<<<<<<<<<<<<
 *     CUaccessPolicyWindow accessPolicyWindow
 *     int cooperative
 */
union __pyx_t_4cuda_5ccuda_CUkernelNodeAttrValue_union {
  __pyx_t_4cuda_5ccuda_CUaccessPolicyWindow accessPolicyWindow;
  int cooperative;
};

/* "cuda/ccuda.pxd":757
 *     int cooperative
 * 
 * ctypedef CUkernelNodeAttrValue_union CUkernelNodeAttrValue_v1             # <<<<<<<<<<<<<<
 * 
 * ctypedef CUkernelNodeAttrValue_v1 CUkernelNodeAttrValue
 */
typedef union __pyx_t_4cuda_5ccuda_CUkernelNodeAttrValue_union __pyx_t_4cuda_5ccuda_CUkernelNodeAttrValue_v1;

/* "cuda/ccuda.pxd":759
 * ctypedef CUkernelNodeAttrValue_union CUkernelNodeAttrValue_v1
 * 
 * ctypedef CUkernelNodeAttrValue_v1 CUkernelNodeAttrValue             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUstreamCaptureStatus_enum:
 */
typedef __pyx_t_4cuda_5ccuda_CUkernelNodeAttrValue_v1 __pyx_t_4cuda_5ccuda_CUkernelNodeAttrValue;

/* "cuda/ccuda.pxd":766
 *     CU_STREAM_CAPTURE_STATUS_INVALIDATED = 2
 * 
 * ctypedef CUstreamCaptureStatus_enum CUstreamCaptureStatus             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUstreamCaptureMode_enum:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUstreamCaptureStatus_enum __pyx_t_4cuda_5ccuda_CUstreamCaptureStatus;

/* "cuda/ccuda.pxd":773
 *     CU_STREAM_CAPTURE_MODE_RELAXED = 2
 * 
 * ctypedef CUstreamCaptureMode_enum CUstreamCaptureMode             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUstreamAttrID_enum:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUstreamCaptureMode_enum __pyx_t_4cuda_5ccuda_CUstreamCaptureMode;

/* "cuda/ccuda.pxd":779
 *     CU_STREAM_ATTRIBUTE_SYNCHRONIZATION_POLICY = 3
 * 
 * ctypedef CUstreamAttrID_enum CUstreamAttrID             # <<<<<<<<<<<<<<
 * 
 * cdef union CUstreamAttrValue_union:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUstreamAttrID_enum __pyx_t_4cuda_5ccuda_CUstreamAttrID;

/* "cuda/ccuda.pxd":781
 * ctypedef CUstreamAttrID_enum CUstreamAttrID
 * 
 * cdef union CUstreamAttrValue_union:             # <<<<<<<<<<<<<<
 *     CUaccessPolicyWindow accessPolicyWindow
 *     CUsynchronizationPolicy syncPolicy
 */
union __pyx_t_4cuda_5ccuda_CUstreamAttrValue_union {
  __pyx_t_4cuda_5ccuda_CUaccessPolicyWindow accessPolicyWindow;
  __pyx_t_4cuda_5ccuda_CUsynchronizationPolicy syncPolicy;
};

/* "cuda/ccuda.pxd":785
 *     CUsynchronizationPolicy syncPolicy
 * 
 * ctypedef CUstreamAttrValue_union CUstreamAttrValue_v1             # <<<<<<<<<<<<<<
 * 
 * ctypedef CUstreamAttrValue_v1 CUstreamAttrValue
 */
typedef union __pyx_t_4cuda_5ccuda_CUstreamAttrValue_union __pyx_t_4cuda_5ccuda_CUstreamAttrValue_v1;

/* "cuda/ccuda.pxd":787
 * ctypedef CUstreamAttrValue_union CUstreamAttrValue_v1
 * 
 * ctypedef CUstreamAttrValue_v1 CUstreamAttrValue             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUdriverProcAddress_flags_enum:
 */
typedef __pyx_t_4cuda_5ccuda_CUstreamAttrValue_v1 __pyx_t_4cuda_5ccuda_CUstreamAttrValue;

/* "cuda/ccuda.pxd":794
 *     CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM = 1 << 1
 * 
 * ctypedef CUdriverProcAddress_flags_enum CUdriverProcAddress_flags             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUexecAffinityType_enum:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUdriverProcAddress_flags_enum __pyx_t_4cuda_5ccuda_CUdriverProcAddress_flags;

/* "cuda/ccuda.pxd":800
 *     CU_EXEC_AFFINITY_TYPE_MAX
 * 
 * ctypedef CUexecAffinityType_enum CUexecAffinityType             # <<<<<<<<<<<<<<
 * 
 * cdef struct CUexecAffinitySmCount_st:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUexecAffinityType_enum __pyx_t_4cuda_5ccuda_CUexecAffinityType;

/* "cuda/ccuda.pxd":802
 * ctypedef CUexecAffinityType_enum CUexecAffinityType
 * 
 * cdef struct CUexecAffinitySmCount_st:             # <<<<<<<<<<<<<<
 *     unsigned int val
 * 
 */
struct __pyx_t_4cuda_5ccuda_CUexecAffinitySmCount_st {
  unsigned int val;
};

/* "cuda/ccuda.pxd":805
 *     unsigned int val
 * 
 * ctypedef CUexecAffinitySmCount_st CUexecAffinitySmCount_v1             # <<<<<<<<<<<<<<
 * 
 * ctypedef CUexecAffinitySmCount_v1 CUexecAffinitySmCount
 */
typedef struct __pyx_t_4cuda_5ccuda_CUexecAffinitySmCount_st __pyx_t_4cuda_5ccuda_CUexecAffinitySmCount_v1;

/* "cuda/ccuda.pxd":807
 * ctypedef CUexecAffinitySmCount_st CUexecAffinitySmCount_v1
 * 
 * ctypedef CUexecAffinitySmCount_v1 CUexecAffinitySmCount             # <<<<<<<<<<<<<<
 * 
 * cdef union _CUexecAffinityParam_v1_CUexecAffinityParam_v1_CUexecAffinityParam_st_param_u:
 */
typedef __pyx_t_4cuda_5ccuda_CUexecAffinitySmCount_v1 __pyx_t_4cuda_5ccuda_CUexecAffinitySmCount;

/* "cuda/ccuda.pxd":809
 * ctypedef CUexecAffinitySmCount_v1 CUexecAffinitySmCount
 * 
 * cdef union _CUexecAffinityParam_v1_CUexecAffinityParam_v1_CUexecAffinityParam_st_param_u:             # <<<<<<<<<<<<<<
 *     CUexecAffinitySmCount smCount
 * 
 */
union __pyx_t_4cuda_5ccuda__CUexecAffinityParam_v1_CUexecAffinityParam_v1_CUexecAffinityParam_st_param_u {
  __pyx_t_4cuda_5ccuda_CUexecAffinitySmCount smCount;
};

/* "cuda/ccuda.pxd":812
 *     CUexecAffinitySmCount smCount
 * 
 * cdef struct CUexecAffinityParam_st:             # <<<<<<<<<<<<<<
 *     CUexecAffinityType type
 *     _CUexecAffinityParam_v1_CUexecAffinityParam_v1_CUexecAffinityParam_st_param_u param
 */
struct __pyx_t_4cuda_5ccuda_CUexecAffinityParam_st {
  __pyx_t_4cuda_5ccuda_CUexecAffinityType type;
  union __pyx_t_4cuda_5ccuda__CUexecAffinityParam_v1_CUexecAffinityParam_v1_CUexecAffinityParam_st_param_u param;
};

/* "cuda/ccuda.pxd":816
 *     _CUexecAffinityParam_v1_CUexecAffinityParam_v1_CUexecAffinityParam_st_param_u param
 * 
 * ctypedef CUexecAffinityParam_st CUexecAffinityParam_v1             # <<<<<<<<<<<<<<
 * 
 * ctypedef CUexecAffinityParam_v1 CUexecAffinityParam
 */
typedef struct __pyx_t_4cuda_5ccuda_CUexecAffinityParam_st __pyx_t_4cuda_5ccuda_CUexecAffinityParam_v1;

/* "cuda/ccuda.pxd":818
 * ctypedef CUexecAffinityParam_st CUexecAffinityParam_v1
 * 
 * ctypedef CUexecAffinityParam_v1 CUexecAffinityParam             # <<<<<<<<<<<<<<
 * 
 * cdef enum cudaError_enum:
 */
typedef __pyx_t_4cuda_5ccuda_CUexecAffinityParam_v1 __pyx_t_4cuda_5ccuda_CUexecAffinityParam;

/* "cuda/ccuda.pxd":909
 *     CUDA_ERROR_UNKNOWN = 999
 * 
 * ctypedef cudaError_enum CUresult             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUdevice_P2PAttribute_enum:
 */
typedef enum __pyx_t_4cuda_5ccuda_cudaError_enum __pyx_t_4cuda_5ccuda_CUresult;

/* "cuda/ccuda.pxd":918
 *     CU_DEVICE_P2P_ATTRIBUTE_CUDA_ARRAY_ACCESS_SUPPORTED = 0x04
 * 
 * ctypedef CUdevice_P2PAttribute_enum CUdevice_P2PAttribute             # <<<<<<<<<<<<<<
 * 
 * ctypedef void (*CUstreamCallback)(CUstream hStream, CUresult status, void* userData)
 */
typedef enum __pyx_t_4cuda_5ccuda_CUdevice_P2PAttribute_enum __pyx_t_4cuda_5ccuda_CUdevice_P2PAttribute;

/* "cuda/ccuda.pxd":920
 * ctypedef CUdevice_P2PAttribute_enum CUdevice_P2PAttribute
 * 
 * ctypedef void (*CUstreamCallback)(CUstream hStream, CUresult status, void* userData)             # <<<<<<<<<<<<<<
 * 
 * ctypedef size_t (*CUoccupancyB2DSize)(int blockSize)
 */
typedef void (*__pyx_t_4cuda_5ccuda_CUstreamCallback)(__pyx_t_4cuda_5ccuda_CUstream, __pyx_t_4cuda_5ccuda_CUresult, void *);

/* "cuda/ccuda.pxd":922
 * ctypedef void (*CUstreamCallback)(CUstream hStream, CUresult status, void* userData)
 * 
 * ctypedef size_t (*CUoccupancyB2DSize)(int blockSize)             # <<<<<<<<<<<<<<
 * 
 * cdef struct CUDA_MEMCPY2D_st:
 */
typedef size_t (*__pyx_t_4cuda_5ccuda_CUoccupancyB2DSize)(int);

/* "cuda/ccuda.pxd":924
 * ctypedef size_t (*CUoccupancyB2DSize)(int blockSize)
 * 
 * cdef struct CUDA_MEMCPY2D_st:             # <<<<<<<<<<<<<<
 *     size_t srcXInBytes
 *     size_t srcY
 */
struct __pyx_t_4cuda_5ccuda_CUDA_MEMCPY2D_st {
  size_t srcXInBytes;
  size_t srcY;
  __pyx_t_4cuda_5ccuda_CUmemorytype srcMemoryType;
  void const *srcHost;
  __pyx_t_4cuda_5ccuda_CUdeviceptr srcDevice;
  __pyx_t_4cuda_5ccuda_CUarray srcArray;
  size_t srcPitch;
  size_t dstXInBytes;
  size_t dstY;
  __pyx_t_4cuda_5ccuda_CUmemorytype dstMemoryType;
  void *dstHost;
  __pyx_t_4cuda_5ccuda_CUdeviceptr dstDevice;
  __pyx_t_4cuda_5ccuda_CUarray dstArray;
  size_t dstPitch;
  size_t WidthInBytes;
  size_t Height;
};

/* "cuda/ccuda.pxd":942
 *     size_t Height
 * 
 * ctypedef CUDA_MEMCPY2D_st CUDA_MEMCPY2D_v2             # <<<<<<<<<<<<<<
 * 
 * ctypedef CUDA_MEMCPY2D_v2 CUDA_MEMCPY2D
 */
typedef struct __pyx_t_4cuda_5ccuda_CUDA_MEMCPY2D_st __pyx_t_4cuda_5ccuda_CUDA_MEMCPY2D_v2;

/* "cuda/ccuda.pxd":944
 * ctypedef CUDA_MEMCPY2D_st CUDA_MEMCPY2D_v2
 * 
 * ctypedef CUDA_MEMCPY2D_v2 CUDA_MEMCPY2D             # <<<<<<<<<<<<<<
 * 
 * cdef struct CUDA_MEMCPY3D_st:
 */
typedef __pyx_t_4cuda_5ccuda_CUDA_MEMCPY2D_v2 __pyx_t_4cuda_5ccuda_CUDA_MEMCPY2D;

/* "cuda/ccuda.pxd":946
 * ctypedef CUDA_MEMCPY2D_v2 CUDA_MEMCPY2D
 * 
 * cdef struct CUDA_MEMCPY3D_st:             # <<<<<<<<<<<<<<
 *     size_t srcXInBytes
 *     size_t srcY
 */
struct __pyx_t_4cuda_5ccuda_CUDA_MEMCPY3D_st {
  size_t srcXInBytes;
  size_t srcY;
  size_t srcZ;
  size_t srcLOD;
  __pyx_t_4cuda_5ccuda_CUmemorytype srcMemoryType;
  void const *srcHost;
  __pyx_t_4cuda_5ccuda_CUdeviceptr srcDevice;
  __pyx_t_4cuda_5ccuda_CUarray srcArray;
  void *reserved0;
  size_t srcPitch;
  size_t srcHeight;
  size_t dstXInBytes;
  size_t dstY;
  size_t dstZ;
  size_t dstLOD;
  __pyx_t_4cuda_5ccuda_CUmemorytype dstMemoryType;
  void *dstHost;
  __pyx_t_4cuda_5ccuda_CUdeviceptr dstDevice;
  __pyx_t_4cuda_5ccuda_CUarray dstArray;
  void *reserved1;
  size_t dstPitch;
  size_t dstHeight;
  size_t WidthInBytes;
  size_t Height;
  size_t Depth;
};

/* "cuda/ccuda.pxd":973
 *     size_t Depth
 * 
 * ctypedef CUDA_MEMCPY3D_st CUDA_MEMCPY3D_v2             # <<<<<<<<<<<<<<
 * 
 * ctypedef CUDA_MEMCPY3D_v2 CUDA_MEMCPY3D
 */
typedef struct __pyx_t_4cuda_5ccuda_CUDA_MEMCPY3D_st __pyx_t_4cuda_5ccuda_CUDA_MEMCPY3D_v2;

/* "cuda/ccuda.pxd":975
 * ctypedef CUDA_MEMCPY3D_st CUDA_MEMCPY3D_v2
 * 
 * ctypedef CUDA_MEMCPY3D_v2 CUDA_MEMCPY3D             # <<<<<<<<<<<<<<
 * 
 * cdef struct CUDA_MEMCPY3D_PEER_st:
 */
typedef __pyx_t_4cuda_5ccuda_CUDA_MEMCPY3D_v2 __pyx_t_4cuda_5ccuda_CUDA_MEMCPY3D;

/* "cuda/ccuda.pxd":977
 * ctypedef CUDA_MEMCPY3D_v2 CUDA_MEMCPY3D
 * 
 * cdef struct CUDA_MEMCPY3D_PEER_st:             # <<<<<<<<<<<<<<
 *     size_t srcXInBytes
 *     size_t srcY
 */
struct __pyx_t_4cuda_5ccuda_CUDA_MEMCPY3D_PEER_st {
  size_t srcXInBytes;
  size_t srcY;
  size_t srcZ;
  size_t srcLOD;
  __pyx_t_4cuda_5ccuda_CUmemorytype srcMemoryType;
  void const *srcHost;
  __pyx_t_4cuda_5ccuda_CUdeviceptr srcDevice;
  __pyx_t_4cuda_5ccuda_CUarray srcArray;
  __pyx_t_4cuda_5ccuda_CUcontext srcContext;
  size_t srcPitch;
  size_t srcHeight;
  size_t dstXInBytes;
  size_t dstY;
  size_t dstZ;
  size_t dstLOD;
  __pyx_t_4cuda_5ccuda_CUmemorytype dstMemoryType;
  void *dstHost;
  __pyx_t_4cuda_5ccuda_CUdeviceptr dstDevice;
  __pyx_t_4cuda_5ccuda_CUarray dstArray;
  __pyx_t_4cuda_5ccuda_CUcontext dstContext;
  size_t dstPitch;
  size_t dstHeight;
  size_t WidthInBytes;
  size_t Height;
  size_t Depth;
};

/* "cuda/ccuda.pxd":1004
 *     size_t Depth
 * 
 * ctypedef CUDA_MEMCPY3D_PEER_st CUDA_MEMCPY3D_PEER_v1             # <<<<<<<<<<<<<<
 * 
 * ctypedef CUDA_MEMCPY3D_PEER_v1 CUDA_MEMCPY3D_PEER
 */
typedef struct __pyx_t_4cuda_5ccuda_CUDA_MEMCPY3D_PEER_st __pyx_t_4cuda_5ccuda_CUDA_MEMCPY3D_PEER_v1;

/* "cuda/ccuda.pxd":1006
 * ctypedef CUDA_MEMCPY3D_PEER_st CUDA_MEMCPY3D_PEER_v1
 * 
 * ctypedef CUDA_MEMCPY3D_PEER_v1 CUDA_MEMCPY3D_PEER             # <<<<<<<<<<<<<<
 * 
 * cdef struct CUDA_ARRAY_DESCRIPTOR_st:
 */
typedef __pyx_t_4cuda_5ccuda_CUDA_MEMCPY3D_PEER_v1 __pyx_t_4cuda_5ccuda_CUDA_MEMCPY3D_PEER;

/* "cuda/ccuda.pxd":1008
 * ctypedef CUDA_MEMCPY3D_PEER_v1 CUDA_MEMCPY3D_PEER
 * 
 * cdef struct CUDA_ARRAY_DESCRIPTOR_st:             # <<<<<<<<<<<<<<
 *     size_t Width
 *     size_t Height
 */
struct __pyx_t_4cuda_5ccuda_CUDA_ARRAY_DESCRIPTOR_st {
  size_t Width;
  size_t Height;
  __pyx_t_4cuda_5ccuda_CUarray_format Format;
  unsigned int NumChannels;
};

/* "cuda/ccuda.pxd":1014
 *     unsigned int NumChannels
 * 
 * ctypedef CUDA_ARRAY_DESCRIPTOR_st CUDA_ARRAY_DESCRIPTOR_v2             # <<<<<<<<<<<<<<
 * 
 * ctypedef CUDA_ARRAY_DESCRIPTOR_v2 CUDA_ARRAY_DESCRIPTOR
 */
typedef struct __pyx_t_4cuda_5ccuda_CUDA_ARRAY_DESCRIPTOR_st __pyx_t_4cuda_5ccuda_CUDA_ARRAY_DESCRIPTOR_v2;

/* "cuda/ccuda.pxd":1016
 * ctypedef CUDA_ARRAY_DESCRIPTOR_st CUDA_ARRAY_DESCRIPTOR_v2
 * 
 * ctypedef CUDA_ARRAY_DESCRIPTOR_v2 CUDA_ARRAY_DESCRIPTOR             # <<<<<<<<<<<<<<
 * 
 * cdef struct CUDA_ARRAY3D_DESCRIPTOR_st:
 */
typedef __pyx_t_4cuda_5ccuda_CUDA_ARRAY_DESCRIPTOR_v2 __pyx_t_4cuda_5ccuda_CUDA_ARRAY_DESCRIPTOR;

/* "cuda/ccuda.pxd":1018
 * ctypedef CUDA_ARRAY_DESCRIPTOR_v2 CUDA_ARRAY_DESCRIPTOR
 * 
 * cdef struct CUDA_ARRAY3D_DESCRIPTOR_st:             # <<<<<<<<<<<<<<
 *     size_t Width
 *     size_t Height
 */
struct __pyx_t_4cuda_5ccuda_CUDA_ARRAY3D_DESCRIPTOR_st {
  size_t Width;
  size_t Height;
  size_t Depth;
  __pyx_t_4cuda_5ccuda_CUarray_format Format;
  unsigned int NumChannels;
  unsigned int Flags;
};

/* "cuda/ccuda.pxd":1026
 *     unsigned int Flags
 * 
 * ctypedef CUDA_ARRAY3D_DESCRIPTOR_st CUDA_ARRAY3D_DESCRIPTOR_v2             # <<<<<<<<<<<<<<
 * 
 * ctypedef CUDA_ARRAY3D_DESCRIPTOR_v2 CUDA_ARRAY3D_DESCRIPTOR
 */
typedef struct __pyx_t_4cuda_5ccuda_CUDA_ARRAY3D_DESCRIPTOR_st __pyx_t_4cuda_5ccuda_CUDA_ARRAY3D_DESCRIPTOR_v2;

/* "cuda/ccuda.pxd":1028
 * ctypedef CUDA_ARRAY3D_DESCRIPTOR_st CUDA_ARRAY3D_DESCRIPTOR_v2
 * 
 * ctypedef CUDA_ARRAY3D_DESCRIPTOR_v2 CUDA_ARRAY3D_DESCRIPTOR             # <<<<<<<<<<<<<<
 * 
 * cdef struct _CUDA_ARRAY_SPARSE_PROPERTIES_v1_CUDA_ARRAY_SPARSE_PROPERTIES_v1_CUDA_ARRAY_SPARSE_PROPERTIES_st_tileExtent_s:
 */
typedef __pyx_t_4cuda_5ccuda_CUDA_ARRAY3D_DESCRIPTOR_v2 __pyx_t_4cuda_5ccuda_CUDA_ARRAY3D_DESCRIPTOR;

/* "cuda/ccuda.pxd":1030
 * ctypedef CUDA_ARRAY3D_DESCRIPTOR_v2 CUDA_ARRAY3D_DESCRIPTOR
 * 
 * cdef struct _CUDA_ARRAY_SPARSE_PROPERTIES_v1_CUDA_ARRAY_SPARSE_PROPERTIES_v1_CUDA_ARRAY_SPARSE_PROPERTIES_st_tileExtent_s:             # <<<<<<<<<<<<<<
 *     unsigned int width
 *     unsigned int height
 */
struct __pyx_t_4cuda_5ccuda__CUDA_ARRAY_SPARSE_PROPERTIES_v1_CUDA_ARRAY_SPARSE_PROPERTIES_v1_CUDA_ARRAY_SPARSE_PROPERTIES_st_tileExtent_s {
  unsigned int width;
  unsigned int height;
  unsigned int depth;
};

/* "cuda/ccuda.pxd":1035
 *     unsigned int depth
 * 
 * cdef struct CUDA_ARRAY_SPARSE_PROPERTIES_st:             # <<<<<<<<<<<<<<
 *     _CUDA_ARRAY_SPARSE_PROPERTIES_v1_CUDA_ARRAY_SPARSE_PROPERTIES_v1_CUDA_ARRAY_SPARSE_PROPERTIES_st_tileExtent_s tileExtent
 *     unsigned int miptailFirstLevel
 */
struct __pyx_t_4cuda_5ccuda_CUDA_ARRAY_SPARSE_PROPERTIES_st {
  struct __pyx_t_4cuda_5ccuda__CUDA_ARRAY_SPARSE_PROPERTIES_v1_CUDA_ARRAY_SPARSE_PROPERTIES_v1_CUDA_ARRAY_SPARSE_PROPERTIES_st_tileExtent_s tileExtent;
  unsigned int miptailFirstLevel;
  unsigned PY_LONG_LONG miptailSize;
  unsigned int flags;
  unsigned int reserved[4];
};

/* "cuda/ccuda.pxd":1042
 *     unsigned int reserved[4]
 * 
 * ctypedef CUDA_ARRAY_SPARSE_PROPERTIES_st CUDA_ARRAY_SPARSE_PROPERTIES_v1             # <<<<<<<<<<<<<<
 * 
 * ctypedef CUDA_ARRAY_SPARSE_PROPERTIES_v1 CUDA_ARRAY_SPARSE_PROPERTIES
 */
typedef struct __pyx_t_4cuda_5ccuda_CUDA_ARRAY_SPARSE_PROPERTIES_st __pyx_t_4cuda_5ccuda_CUDA_ARRAY_SPARSE_PROPERTIES_v1;

/* "cuda/ccuda.pxd":1044
 * ctypedef CUDA_ARRAY_SPARSE_PROPERTIES_st CUDA_ARRAY_SPARSE_PROPERTIES_v1
 * 
 * ctypedef CUDA_ARRAY_SPARSE_PROPERTIES_v1 CUDA_ARRAY_SPARSE_PROPERTIES             # <<<<<<<<<<<<<<
 * 
 * cdef struct _CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_array_s:
 */
typedef __pyx_t_4cuda_5ccuda_CUDA_ARRAY_SPARSE_PROPERTIES_v1 __pyx_t_4cuda_5ccuda_CUDA_ARRAY_SPARSE_PROPERTIES;

/* "cuda/ccuda.pxd":1046
 * ctypedef CUDA_ARRAY_SPARSE_PROPERTIES_v1 CUDA_ARRAY_SPARSE_PROPERTIES
 * 
 * cdef struct _CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_array_s:             # <<<<<<<<<<<<<<
 *     CUarray hArray
 * 
 */
struct __pyx_t_4cuda_5ccuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_array_s {
  __pyx_t_4cuda_5ccuda_CUarray hArray;
};

/* "cuda/ccuda.pxd":1049
 *     CUarray hArray
 * 
 * cdef struct _CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_mipmap_s:             # <<<<<<<<<<<<<<
 *     CUmipmappedArray hMipmappedArray
 * 
 */
struct __pyx_t_4cuda_5ccuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_mipmap_s {
  __pyx_t_4cuda_5ccuda_CUmipmappedArray hMipmappedArray;
};

/* "cuda/ccuda.pxd":1052
 *     CUmipmappedArray hMipmappedArray
 * 
 * cdef struct _CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_linear_s:             # <<<<<<<<<<<<<<
 *     CUdeviceptr devPtr
 *     CUarray_format format
 */
struct __pyx_t_4cuda_5ccuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_linear_s {
  __pyx_t_4cuda_5ccuda_CUdeviceptr devPtr;
  __pyx_t_4cuda_5ccuda_CUarray_format format;
  unsigned int numChannels;
  size_t sizeInBytes;
};

/* "cuda/ccuda.pxd":1058
 *     size_t sizeInBytes
 * 
 * cdef struct _CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_pitch2D_s:             # <<<<<<<<<<<<<<
 *     CUdeviceptr devPtr
 *     CUarray_format format
 */
struct __pyx_t_4cuda_5ccuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_pitch2D_s {
  __pyx_t_4cuda_5ccuda_CUdeviceptr devPtr;
  __pyx_t_4cuda_5ccuda_CUarray_format format;
  unsigned int numChannels;
  size_t width;
  size_t height;
  size_t pitchInBytes;
};

/* "cuda/ccuda.pxd":1066
 *     size_t pitchInBytes
 * 
 * cdef struct _CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_reserved_s:             # <<<<<<<<<<<<<<
 *     int reserved[32]
 * 
 */
struct __pyx_t_4cuda_5ccuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_reserved_s {
  int reserved[32];
};

/* "cuda/ccuda.pxd":1069
 *     int reserved[32]
 * 
 * cdef union _CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_u:             # <<<<<<<<<<<<<<
 *     _CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_array_s array
 *     _CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_mipmap_s mipmap
 */
union __pyx_t_4cuda_5ccuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_u {
  struct __pyx_t_4cuda_5ccuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_array_s array;
  struct __pyx_t_4cuda_5ccuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_mipmap_s mipmap;
  struct __pyx_t_4cuda_5ccuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_linear_s linear;
  struct __pyx_t_4cuda_5ccuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_pitch2D_s pitch2D;
  struct __pyx_t_4cuda_5ccuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_reserved_s reserved;
};

/* "cuda/ccuda.pxd":1076
 *     _CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_res_reserved_s reserved
 * 
 * cdef struct CUDA_RESOURCE_DESC_st:             # <<<<<<<<<<<<<<
 *     CUresourcetype resType
 *     _CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_u res
 */
struct __pyx_t_4cuda_5ccuda_CUDA_RESOURCE_DESC_st {
  __pyx_t_4cuda_5ccuda_CUresourcetype resType;
  union __pyx_t_4cuda_5ccuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_u res;
  unsigned int flags;
};

/* "cuda/ccuda.pxd":1081
 *     unsigned int flags
 * 
 * ctypedef CUDA_RESOURCE_DESC_st CUDA_RESOURCE_DESC_v1             # <<<<<<<<<<<<<<
 * 
 * ctypedef CUDA_RESOURCE_DESC_v1 CUDA_RESOURCE_DESC
 */
typedef struct __pyx_t_4cuda_5ccuda_CUDA_RESOURCE_DESC_st __pyx_t_4cuda_5ccuda_CUDA_RESOURCE_DESC_v1;

/* "cuda/ccuda.pxd":1083
 * ctypedef CUDA_RESOURCE_DESC_st CUDA_RESOURCE_DESC_v1
 * 
 * ctypedef CUDA_RESOURCE_DESC_v1 CUDA_RESOURCE_DESC             # <<<<<<<<<<<<<<
 * 
 * cdef struct CUDA_TEXTURE_DESC_st:
 */
typedef __pyx_t_4cuda_5ccuda_CUDA_RESOURCE_DESC_v1 __pyx_t_4cuda_5ccuda_CUDA_RESOURCE_DESC;

/* "cuda/ccuda.pxd":1085
 * ctypedef CUDA_RESOURCE_DESC_v1 CUDA_RESOURCE_DESC
 * 
 * cdef struct CUDA_TEXTURE_DESC_st:             # <<<<<<<<<<<<<<
 *     CUaddress_mode addressMode[3]
 *     CUfilter_mode filterMode
 */
struct __pyx_t_4cuda_5ccuda_CUDA_TEXTURE_DESC_st {
  __pyx_t_4cuda_5ccuda_CUaddress_mode addressMode[3];
  __pyx_t_4cuda_5ccuda_CUfilter_mode filterMode;
  unsigned int flags;
  unsigned int maxAnisotropy;
  __pyx_t_4cuda_5ccuda_CUfilter_mode mipmapFilterMode;
  float mipmapLevelBias;
  float minMipmapLevelClamp;
  float maxMipmapLevelClamp;
  float borderColor[4];
  int reserved[12];
};

/* "cuda/ccuda.pxd":1097
 *     int reserved[12]
 * 
 * ctypedef CUDA_TEXTURE_DESC_st CUDA_TEXTURE_DESC_v1             # <<<<<<<<<<<<<<
 * 
 * ctypedef CUDA_TEXTURE_DESC_v1 CUDA_TEXTURE_DESC
 */
typedef struct __pyx_t_4cuda_5ccuda_CUDA_TEXTURE_DESC_st __pyx_t_4cuda_5ccuda_CUDA_TEXTURE_DESC_v1;

/* "cuda/ccuda.pxd":1099
 * ctypedef CUDA_TEXTURE_DESC_st CUDA_TEXTURE_DESC_v1
 * 
 * ctypedef CUDA_TEXTURE_DESC_v1 CUDA_TEXTURE_DESC             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUresourceViewFormat_enum:
 */
typedef __pyx_t_4cuda_5ccuda_CUDA_TEXTURE_DESC_v1 __pyx_t_4cuda_5ccuda_CUDA_TEXTURE_DESC;

/* "cuda/ccuda.pxd":1138
 *     CU_RES_VIEW_FORMAT_UNSIGNED_BC7 = 0x22
 * 
 * ctypedef CUresourceViewFormat_enum CUresourceViewFormat             # <<<<<<<<<<<<<<
 * 
 * cdef struct CUDA_RESOURCE_VIEW_DESC_st:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUresourceViewFormat_enum __pyx_t_4cuda_5ccuda_CUresourceViewFormat;

/* "cuda/ccuda.pxd":1140
 * ctypedef CUresourceViewFormat_enum CUresourceViewFormat
 * 
 * cdef struct CUDA_RESOURCE_VIEW_DESC_st:             # <<<<<<<<<<<<<<
 *     CUresourceViewFormat format
 *     size_t width
 */
struct __pyx_t_4cuda_5ccuda_CUDA_RESOURCE_VIEW_DESC_st {
  __pyx_t_4cuda_5ccuda_CUresourceViewFormat format;
  size_t width;
  size_t height;
  size_t depth;
  unsigned int firstMipmapLevel;
  unsigned int lastMipmapLevel;
  unsigned int firstLayer;
  unsigned int lastLayer;
  unsigned int reserved[16];
};

/* "cuda/ccuda.pxd":1151
 *     unsigned int reserved[16]
 * 
 * ctypedef CUDA_RESOURCE_VIEW_DESC_st CUDA_RESOURCE_VIEW_DESC_v1             # <<<<<<<<<<<<<<
 * 
 * ctypedef CUDA_RESOURCE_VIEW_DESC_v1 CUDA_RESOURCE_VIEW_DESC
 */
typedef struct __pyx_t_4cuda_5ccuda_CUDA_RESOURCE_VIEW_DESC_st __pyx_t_4cuda_5ccuda_CUDA_RESOURCE_VIEW_DESC_v1;

/* "cuda/ccuda.pxd":1153
 * ctypedef CUDA_RESOURCE_VIEW_DESC_st CUDA_RESOURCE_VIEW_DESC_v1
 * 
 * ctypedef CUDA_RESOURCE_VIEW_DESC_v1 CUDA_RESOURCE_VIEW_DESC             # <<<<<<<<<<<<<<
 * 
 * cdef struct CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st:
 */
typedef __pyx_t_4cuda_5ccuda_CUDA_RESOURCE_VIEW_DESC_v1 __pyx_t_4cuda_5ccuda_CUDA_RESOURCE_VIEW_DESC;

/* "cuda/ccuda.pxd":1155
 * ctypedef CUDA_RESOURCE_VIEW_DESC_v1 CUDA_RESOURCE_VIEW_DESC
 * 
 * cdef struct CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st:             # <<<<<<<<<<<<<<
 *     unsigned long long p2pToken
 *     unsigned int vaSpaceToken
 */
struct __pyx_t_4cuda_5ccuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st {
  unsigned PY_LONG_LONG p2pToken;
  unsigned int vaSpaceToken;
};

/* "cuda/ccuda.pxd":1159
 *     unsigned int vaSpaceToken
 * 
 * ctypedef CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1             # <<<<<<<<<<<<<<
 * 
 * ctypedef CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1 CUDA_POINTER_ATTRIBUTE_P2P_TOKENS
 */
typedef struct __pyx_t_4cuda_5ccuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st __pyx_t_4cuda_5ccuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1;

/* "cuda/ccuda.pxd":1161
 * ctypedef CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1
 * 
 * ctypedef CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1 CUDA_POINTER_ATTRIBUTE_P2P_TOKENS             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS_enum:
 */
typedef __pyx_t_4cuda_5ccuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1 __pyx_t_4cuda_5ccuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS;

/* "cuda/ccuda.pxd":1168
 *     CU_POINTER_ATTRIBUTE_ACCESS_FLAG_READWRITE = 0x3
 * 
 * ctypedef CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS_enum CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS             # <<<<<<<<<<<<<<
 * 
 * cdef struct CUDA_LAUNCH_PARAMS_st:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS_enum __pyx_t_4cuda_5ccuda_CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS;

/* "cuda/ccuda.pxd":1170
 * ctypedef CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS_enum CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS
 * 
 * cdef struct CUDA_LAUNCH_PARAMS_st:             # <<<<<<<<<<<<<<
 *     CUfunction function
 *     unsigned int gridDimX
 */
struct __pyx_t_4cuda_5ccuda_CUDA_LAUNCH_PARAMS_st {
  __pyx_t_4cuda_5ccuda_CUfunction function;
  unsigned int gridDimX;
  unsigned int gridDimY;
  unsigned int gridDimZ;
  unsigned int blockDimX;
  unsigned int blockDimY;
  unsigned int blockDimZ;
  unsigned int sharedMemBytes;
  __pyx_t_4cuda_5ccuda_CUstream hStream;
  void **kernelParams;
};

/* "cuda/ccuda.pxd":1182
 *     void** kernelParams
 * 
 * ctypedef CUDA_LAUNCH_PARAMS_st CUDA_LAUNCH_PARAMS_v1             # <<<<<<<<<<<<<<
 * 
 * ctypedef CUDA_LAUNCH_PARAMS_v1 CUDA_LAUNCH_PARAMS
 */
typedef struct __pyx_t_4cuda_5ccuda_CUDA_LAUNCH_PARAMS_st __pyx_t_4cuda_5ccuda_CUDA_LAUNCH_PARAMS_v1;

/* "cuda/ccuda.pxd":1184
 * ctypedef CUDA_LAUNCH_PARAMS_st CUDA_LAUNCH_PARAMS_v1
 * 
 * ctypedef CUDA_LAUNCH_PARAMS_v1 CUDA_LAUNCH_PARAMS             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUexternalMemoryHandleType_enum:
 */
typedef __pyx_t_4cuda_5ccuda_CUDA_LAUNCH_PARAMS_v1 __pyx_t_4cuda_5ccuda_CUDA_LAUNCH_PARAMS;

/* "cuda/ccuda.pxd":1196
 *     CU_EXTERNAL_MEMORY_HANDLE_TYPE_NVSCIBUF = 8
 * 
 * ctypedef CUexternalMemoryHandleType_enum CUexternalMemoryHandleType             # <<<<<<<<<<<<<<
 * 
 * cdef struct _CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_handle_handle_win32_s:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUexternalMemoryHandleType_enum __pyx_t_4cuda_5ccuda_CUexternalMemoryHandleType;

/* "cuda/ccuda.pxd":1198
 * ctypedef CUexternalMemoryHandleType_enum CUexternalMemoryHandleType
 * 
 * cdef struct _CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_handle_handle_win32_s:             # <<<<<<<<<<<<<<
 *     void* handle
 *     void* name
 */
struct __pyx_t_4cuda_5ccuda__CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_handle_handle_win32_s {
  void *handle;
  void *name;
};

/* "cuda/ccuda.pxd":1202
 *     void* name
 * 
 * cdef union _CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_handle_u:             # <<<<<<<<<<<<<<
 *     int fd
 *     _CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_handle_handle_win32_s win32
 */
union __pyx_t_4cuda_5ccuda__CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_handle_u {
  int fd;
  struct __pyx_t_4cuda_5ccuda__CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_handle_handle_win32_s win32;
  void *nvSciBufObject;
};

/* "cuda/ccuda.pxd":1207
 *     void* nvSciBufObject
 * 
 * cdef struct CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st:             # <<<<<<<<<<<<<<
 *     CUexternalMemoryHandleType type
 *     _CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_handle_u handle
 */
struct __pyx_t_4cuda_5ccuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st {
  __pyx_t_4cuda_5ccuda_CUexternalMemoryHandleType type;
  union __pyx_t_4cuda_5ccuda__CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_handle_u handle;
  unsigned PY_LONG_LONG size;
  unsigned int flags;
  unsigned int reserved[16];
};

/* "cuda/ccuda.pxd":1214
 *     unsigned int reserved[16]
 * 
 * ctypedef CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1             # <<<<<<<<<<<<<<
 * 
 * ctypedef CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1 CUDA_EXTERNAL_MEMORY_HANDLE_DESC
 */
typedef struct __pyx_t_4cuda_5ccuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st __pyx_t_4cuda_5ccuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1;

/* "cuda/ccuda.pxd":1216
 * ctypedef CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1
 * 
 * ctypedef CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1 CUDA_EXTERNAL_MEMORY_HANDLE_DESC             # <<<<<<<<<<<<<<
 * 
 * cdef struct CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st:
 */
typedef __pyx_t_4cuda_5ccuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1 __pyx_t_4cuda_5ccuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC;

/* "cuda/ccuda.pxd":1218
 * ctypedef CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1 CUDA_EXTERNAL_MEMORY_HANDLE_DESC
 * 
 * cdef struct CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st:             # <<<<<<<<<<<<<<
 *     unsigned long long offset
 *     unsigned long long size
 */
struct __pyx_t_4cuda_5ccuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st {
  unsigned PY_LONG_LONG offset;
  unsigned PY_LONG_LONG size;
  unsigned int flags;
  unsigned int reserved[16];
};

/* "cuda/ccuda.pxd":1224
 *     unsigned int reserved[16]
 * 
 * ctypedef CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1             # <<<<<<<<<<<<<<
 * 
 * ctypedef CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1 CUDA_EXTERNAL_MEMORY_BUFFER_DESC
 */
typedef struct __pyx_t_4cuda_5ccuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st __pyx_t_4cuda_5ccuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1;

/* "cuda/ccuda.pxd":1226
 * ctypedef CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1
 * 
 * ctypedef CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1 CUDA_EXTERNAL_MEMORY_BUFFER_DESC             # <<<<<<<<<<<<<<
 * 
 * cdef struct CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st:
 */
typedef __pyx_t_4cuda_5ccuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1 __pyx_t_4cuda_5ccuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC;

/* "cuda/ccuda.pxd":1228
 * ctypedef CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1 CUDA_EXTERNAL_MEMORY_BUFFER_DESC
 * 
 * cdef struct CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st:             # <<<<<<<<<<<<<<
 *     unsigned long long offset
 *     CUDA_ARRAY3D_DESCRIPTOR arrayDesc
 */
struct __pyx_t_4cuda_5ccuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st {
  unsigned PY_LONG_LONG offset;
  __pyx_t_4cuda_5ccuda_CUDA_ARRAY3D_DESCRIPTOR arrayDesc;
  unsigned int numLevels;
  unsigned int reserved[16];
};

/* "cuda/ccuda.pxd":1234
 *     unsigned int reserved[16]
 * 
 * ctypedef CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1             # <<<<<<<<<<<<<<
 * 
 * ctypedef CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1 CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC
 */
typedef struct __pyx_t_4cuda_5ccuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st __pyx_t_4cuda_5ccuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1;

/* "cuda/ccuda.pxd":1236
 * ctypedef CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1
 * 
 * ctypedef CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1 CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUexternalSemaphoreHandleType_enum:
 */
typedef __pyx_t_4cuda_5ccuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1 __pyx_t_4cuda_5ccuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC;

/* "cuda/ccuda.pxd":1250
 *     CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TIMELINE_SEMAPHORE_WIN32 = 10
 * 
 * ctypedef CUexternalSemaphoreHandleType_enum CUexternalSemaphoreHandleType             # <<<<<<<<<<<<<<
 * 
 * cdef struct _CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_handle_handle_win32_s:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUexternalSemaphoreHandleType_enum __pyx_t_4cuda_5ccuda_CUexternalSemaphoreHandleType;

/* "cuda/ccuda.pxd":1252
 * ctypedef CUexternalSemaphoreHandleType_enum CUexternalSemaphoreHandleType
 * 
 * cdef struct _CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_handle_handle_win32_s:             # <<<<<<<<<<<<<<
 *     void* handle
 *     void* name
 */
struct __pyx_t_4cuda_5ccuda__CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_handle_handle_win32_s {
  void *handle;
  void *name;
};

/* "cuda/ccuda.pxd":1256
 *     void* name
 * 
 * cdef union _CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_handle_u:             # <<<<<<<<<<<<<<
 *     int fd
 *     _CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_handle_handle_win32_s win32
 */
union __pyx_t_4cuda_5ccuda__CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_handle_u {
  int fd;
  struct __pyx_t_4cuda_5ccuda__CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_handle_handle_win32_s win32;
  void *nvSciSyncObj;
};

/* "cuda/ccuda.pxd":1261
 *     void* nvSciSyncObj
 * 
 * cdef struct CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st:             # <<<<<<<<<<<<<<
 *     CUexternalSemaphoreHandleType type
 *     _CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_handle_u handle
 */
struct __pyx_t_4cuda_5ccuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st {
  __pyx_t_4cuda_5ccuda_CUexternalSemaphoreHandleType type;
  union __pyx_t_4cuda_5ccuda__CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_handle_u handle;
  unsigned int flags;
  unsigned int reserved[16];
};

/* "cuda/ccuda.pxd":1267
 *     unsigned int reserved[16]
 * 
 * ctypedef CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1             # <<<<<<<<<<<<<<
 * 
 * ctypedef CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1 CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC
 */
typedef struct __pyx_t_4cuda_5ccuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st __pyx_t_4cuda_5ccuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1;

/* "cuda/ccuda.pxd":1269
 * ctypedef CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1
 * 
 * ctypedef CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1 CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC             # <<<<<<<<<<<<<<
 * 
 * cdef struct _CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_params_fence_s:
 */
typedef __pyx_t_4cuda_5ccuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1 __pyx_t_4cuda_5ccuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC;

/* "cuda/ccuda.pxd":1271
 * ctypedef CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1 CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC
 * 
 * cdef struct _CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_params_fence_s:             # <<<<<<<<<<<<<<
 *     unsigned long long value
 * 
 */
struct __pyx_t_4cuda_5ccuda__CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_params_fence_s {
  unsigned PY_LONG_LONG value;
};

/* "cuda/ccuda.pxd":1274
 *     unsigned long long value
 * 
 * cdef union _CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_params_nvSciSync_u:             # <<<<<<<<<<<<<<
 *     void* fence
 *     unsigned long long reserved
 */
union __pyx_t_4cuda_5ccuda__CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_params_nvSciSync_u {
  void *fence;
  unsigned PY_LONG_LONG reserved;
};

/* "cuda/ccuda.pxd":1278
 *     unsigned long long reserved
 * 
 * cdef struct _CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_params_keyedMutex_s:             # <<<<<<<<<<<<<<
 *     unsigned long long key
 * 
 */
struct __pyx_t_4cuda_5ccuda__CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_params_keyedMutex_s {
  unsigned PY_LONG_LONG key;
};

/* "cuda/ccuda.pxd":1281
 *     unsigned long long key
 * 
 * cdef struct _CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_s:             # <<<<<<<<<<<<<<
 *     _CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_params_fence_s fence
 *     _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_t_4cuda_5ccuda__CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_s {
  struct __pyx_t_4cuda_5ccuda__CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_params_fence_s fence;
  union __pyx_t_4cuda_5ccuda__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_t_4cuda_5ccuda__CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_params_keyedMutex_s keyedMutex;
  unsigned int reserved[12];
};

/* "cuda/ccuda.pxd":1287
 *     unsigned int reserved[12]
 * 
 * cdef struct CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st:             # <<<<<<<<<<<<<<
 *     _CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_s params
 *     unsigned int flags
 */
struct __pyx_t_4cuda_5ccuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st {
  struct __pyx_t_4cuda_5ccuda__CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params_s params;
  unsigned int flags;
  unsigned int reserved[16];
};

/* "cuda/ccuda.pxd":1292
 *     unsigned int reserved[16]
 * 
 * ctypedef CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1             # <<<<<<<<<<<<<<
 * 
 * ctypedef CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1 CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS
 */
typedef struct __pyx_t_4cuda_5ccuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st __pyx_t_4cuda_5ccuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1;

/* "cuda/ccuda.pxd":1294
 * ctypedef CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1
 * 
 * ctypedef CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1 CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS             # <<<<<<<<<<<<<<
 * 
 * cdef struct _CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_params_fence_s:
 */
typedef __pyx_t_4cuda_5ccuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1 __pyx_t_4cuda_5ccuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS;

/* "cuda/ccuda.pxd":1296
 * ctypedef CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1 CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS
 * 
 * cdef struct _CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_params_fence_s:             # <<<<<<<<<<<<<<
 *     unsigned long long value
 * 
 */
struct __pyx_t_4cuda_5ccuda__CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_params_fence_s {
  unsigned PY_LONG_LONG value;
};

/* "cuda/ccuda.pxd":1299
 *     unsigned long long value
 * 
 * cdef union _CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_params_nvSciSync_u:             # <<<<<<<<<<<<<<
 *     void* fence
 *     unsigned long long reserved
 */
union __pyx_t_4cuda_5ccuda__CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_params_nvSciSync_u {
  void *fence;
  unsigned PY_LONG_LONG reserved;
};

/* "cuda/ccuda.pxd":1303
 *     unsigned long long reserved
 * 
 * cdef struct _CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_params_keyedMutex_s:             # <<<<<<<<<<<<<<
 *     unsigned long long key
 *     unsigned int timeoutMs
 */
struct __pyx_t_4cuda_5ccuda__CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_params_keyedMutex_s {
  unsigned PY_LONG_LONG key;
  unsigned int timeoutMs;
};

/* "cuda/ccuda.pxd":1307
 *     unsigned int timeoutMs
 * 
 * cdef struct _CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_s:             # <<<<<<<<<<<<<<
 *     _CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_params_fence_s fence
 *     _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_t_4cuda_5ccuda__CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_s {
  struct __pyx_t_4cuda_5ccuda__CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_params_fence_s fence;
  union __pyx_t_4cuda_5ccuda__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_t_4cuda_5ccuda__CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_params_keyedMutex_s keyedMutex;
  unsigned int reserved[10];
};

/* "cuda/ccuda.pxd":1313
 *     unsigned int reserved[10]
 * 
 * cdef struct CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st:             # <<<<<<<<<<<<<<
 *     _CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_s params
 *     unsigned int flags
 */
struct __pyx_t_4cuda_5ccuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st {
  struct __pyx_t_4cuda_5ccuda__CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params_s params;
  unsigned int flags;
  unsigned int reserved[16];
};

/* "cuda/ccuda.pxd":1318
 *     unsigned int reserved[16]
 * 
 * ctypedef CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1             # <<<<<<<<<<<<<<
 * 
 * ctypedef CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1 CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS
 */
typedef struct __pyx_t_4cuda_5ccuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st __pyx_t_4cuda_5ccuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1;

/* "cuda/ccuda.pxd":1320
 * ctypedef CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1
 * 
 * ctypedef CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1 CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS             # <<<<<<<<<<<<<<
 * 
 * cdef struct CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st:
 */
typedef __pyx_t_4cuda_5ccuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1 __pyx_t_4cuda_5ccuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS;

/* "cuda/ccuda.pxd":1322
 * ctypedef CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1 CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS
 * 
 * cdef struct CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *     CUexternalSemaphore* extSemArray
 *     const CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS* paramsArray
 */
struct __pyx_t_4cuda_5ccuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st {
  __pyx_t_4cuda_5ccuda_CUexternalSemaphore *extSemArray;
  __pyx_t_4cuda_5ccuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS const *paramsArray;
  unsigned int numExtSems;
};

/* "cuda/ccuda.pxd":1327
 *     unsigned int numExtSems
 * 
 * ctypedef CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1             # <<<<<<<<<<<<<<
 * 
 * ctypedef CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1 CUDA_EXT_SEM_SIGNAL_NODE_PARAMS
 */
typedef struct __pyx_t_4cuda_5ccuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st __pyx_t_4cuda_5ccuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1;

/* "cuda/ccuda.pxd":1329
 * ctypedef CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1
 * 
 * ctypedef CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1 CUDA_EXT_SEM_SIGNAL_NODE_PARAMS             # <<<<<<<<<<<<<<
 * 
 * cdef struct CUDA_EXT_SEM_WAIT_NODE_PARAMS_st:
 */
typedef __pyx_t_4cuda_5ccuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1 __pyx_t_4cuda_5ccuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS;

/* "cuda/ccuda.pxd":1331
 * ctypedef CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1 CUDA_EXT_SEM_SIGNAL_NODE_PARAMS
 * 
 * cdef struct CUDA_EXT_SEM_WAIT_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *     CUexternalSemaphore* extSemArray
 *     const CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS* paramsArray
 */
struct __pyx_t_4cuda_5ccuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st {
  __pyx_t_4cuda_5ccuda_CUexternalSemaphore *extSemArray;
  __pyx_t_4cuda_5ccuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS const *paramsArray;
  unsigned int numExtSems;
};

/* "cuda/ccuda.pxd":1336
 *     unsigned int numExtSems
 * 
 * ctypedef CUDA_EXT_SEM_WAIT_NODE_PARAMS_st CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1             # <<<<<<<<<<<<<<
 * 
 * ctypedef CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1 CUDA_EXT_SEM_WAIT_NODE_PARAMS
 */
typedef struct __pyx_t_4cuda_5ccuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st __pyx_t_4cuda_5ccuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1;

/* "cuda/ccuda.pxd":1338
 * ctypedef CUDA_EXT_SEM_WAIT_NODE_PARAMS_st CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1
 * 
 * ctypedef CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1 CUDA_EXT_SEM_WAIT_NODE_PARAMS             # <<<<<<<<<<<<<<
 * 
 * ctypedef unsigned long long CUmemGenericAllocationHandle_v1
 */
typedef __pyx_t_4cuda_5ccuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1 __pyx_t_4cuda_5ccuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS;

/* "cuda/ccuda.pxd":1351
 *     CU_MEM_HANDLE_TYPE_MAX = 0x7FFFFFFF
 * 
 * ctypedef CUmemAllocationHandleType_enum CUmemAllocationHandleType             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUmemAccess_flags_enum:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUmemAllocationHandleType_enum __pyx_t_4cuda_5ccuda_CUmemAllocationHandleType;

/* "cuda/ccuda.pxd":1359
 *     CU_MEM_ACCESS_FLAGS_PROT_MAX = 0x7FFFFFFF
 * 
 * ctypedef CUmemAccess_flags_enum CUmemAccess_flags             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUmemLocationType_enum:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUmemAccess_flags_enum __pyx_t_4cuda_5ccuda_CUmemAccess_flags;

/* "cuda/ccuda.pxd":1366
 *     CU_MEM_LOCATION_TYPE_MAX = 0x7FFFFFFF
 * 
 * ctypedef CUmemLocationType_enum CUmemLocationType             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUmemAllocationType_enum:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUmemLocationType_enum __pyx_t_4cuda_5ccuda_CUmemLocationType;

/* "cuda/ccuda.pxd":1373
 *     CU_MEM_ALLOCATION_TYPE_MAX = 0x7FFFFFFF
 * 
 * ctypedef CUmemAllocationType_enum CUmemAllocationType             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUmemAllocationGranularity_flags_enum:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUmemAllocationType_enum __pyx_t_4cuda_5ccuda_CUmemAllocationType;

/* "cuda/ccuda.pxd":1379
 *     CU_MEM_ALLOC_GRANULARITY_RECOMMENDED = 0x1
 * 
 * ctypedef CUmemAllocationGranularity_flags_enum CUmemAllocationGranularity_flags             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUarraySparseSubresourceType_enum:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUmemAllocationGranularity_flags_enum __pyx_t_4cuda_5ccuda_CUmemAllocationGranularity_flags;

/* "cuda/ccuda.pxd":1385
 *     CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_MIPTAIL = 1
 * 
 * ctypedef CUarraySparseSubresourceType_enum CUarraySparseSubresourceType             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUmemOperationType_enum:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUarraySparseSubresourceType_enum __pyx_t_4cuda_5ccuda_CUarraySparseSubresourceType;

/* "cuda/ccuda.pxd":1391
 *     CU_MEM_OPERATION_TYPE_UNMAP = 2
 * 
 * ctypedef CUmemOperationType_enum CUmemOperationType             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUmemHandleType_enum:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUmemOperationType_enum __pyx_t_4cuda_5ccuda_CUmemOperationType;

/* "cuda/ccuda.pxd":1396
 *     CU_MEM_HANDLE_TYPE_GENERIC = 0
 * 
 * ctypedef CUmemHandleType_enum CUmemHandleType             # <<<<<<<<<<<<<<
 * 
 * cdef union _CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_resource_u:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUmemHandleType_enum __pyx_t_4cuda_5ccuda_CUmemHandleType;

/* "cuda/ccuda.pxd":1398
 * ctypedef CUmemHandleType_enum CUmemHandleType
 * 
 * cdef union _CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_resource_u:             # <<<<<<<<<<<<<<
 *     CUmipmappedArray mipmap
 *     CUarray array
 */
union __pyx_t_4cuda_5ccuda__CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_resource_u {
  __pyx_t_4cuda_5ccuda_CUmipmappedArray mipmap;
  __pyx_t_4cuda_5ccuda_CUarray array;
};

/* "cuda/ccuda.pxd":1402
 *     CUarray array
 * 
 * cdef struct _CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_subresource_subresource_sparseLevel_s:             # <<<<<<<<<<<<<<
 *     unsigned int level
 *     unsigned int layer
 */
struct __pyx_t_4cuda_5ccuda__CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_subresource_subresource_sparseLevel_s {
  unsigned int level;
  unsigned int layer;
  unsigned int offsetX;
  unsigned int offsetY;
  unsigned int offsetZ;
  unsigned int extentWidth;
  unsigned int extentHeight;
  unsigned int extentDepth;
};

/* "cuda/ccuda.pxd":1412
 *     unsigned int extentDepth
 * 
 * cdef struct _CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_subresource_subresource_miptail_s:             # <<<<<<<<<<<<<<
 *     unsigned int layer
 *     unsigned long long offset
 */
struct __pyx_t_4cuda_5ccuda__CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_subresource_subresource_miptail_s {
  unsigned int layer;
  unsigned PY_LONG_LONG offset;
  unsigned PY_LONG_LONG size;
};

/* "cuda/ccuda.pxd":1417
 *     unsigned long long size
 * 
 * cdef union _CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_subresource_u:             # <<<<<<<<<<<<<<
 *     _CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_subresource_subresource_sparseLevel_s sparseLevel
 *     _CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_subresource_subresource_miptail_s miptail
 */
union __pyx_t_4cuda_5ccuda__CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_subresource_u {
  struct __pyx_t_4cuda_5ccuda__CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_subresource_subresource_sparseLevel_s sparseLevel;
  struct __pyx_t_4cuda_5ccuda__CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_subresource_subresource_miptail_s miptail;
};

/* "cuda/ccuda.pxd":1421
 *     _CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_subresource_subresource_miptail_s miptail
 * 
 * cdef union _CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_memHandle_u:             # <<<<<<<<<<<<<<
 *     CUmemGenericAllocationHandle memHandle
 * 
 */
union __pyx_t_4cuda_5ccuda__CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_memHandle_u {
  __pyx_t_4cuda_5ccuda_CUmemGenericAllocationHandle memHandle;
};

/* "cuda/ccuda.pxd":1424
 *     CUmemGenericAllocationHandle memHandle
 * 
 * cdef struct CUarrayMapInfo_st:             # <<<<<<<<<<<<<<
 *     CUresourcetype resourceType
 *     _CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_resource_u resource
 */
struct __pyx_t_4cuda_5ccuda_CUarrayMapInfo_st {
  __pyx_t_4cuda_5ccuda_CUresourcetype resourceType;
  union __pyx_t_4cuda_5ccuda__CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_resource_u resource;
  __pyx_t_4cuda_5ccuda_CUarraySparseSubresourceType subresourceType;
  union __pyx_t_4cuda_5ccuda__CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_subresource_u subresource;
  __pyx_t_4cuda_5ccuda_CUmemOperationType memOperationType;
  __pyx_t_4cuda_5ccuda_CUmemHandleType memHandleType;
  union __pyx_t_4cuda_5ccuda__CUarrayMapInfo_v1_CUarrayMapInfo_v1_CUarrayMapInfo_st_memHandle_u memHandle;
  unsigned PY_LONG_LONG offset;
  unsigned int deviceBitMask;
  unsigned int flags;
  unsigned int reserved[2];
};

/* "cuda/ccuda.pxd":1437
 *     unsigned int reserved[2]
 * 
 * ctypedef CUarrayMapInfo_st CUarrayMapInfo_v1             # <<<<<<<<<<<<<<
 * 
 * ctypedef CUarrayMapInfo_v1 CUarrayMapInfo
 */
typedef struct __pyx_t_4cuda_5ccuda_CUarrayMapInfo_st __pyx_t_4cuda_5ccuda_CUarrayMapInfo_v1;

/* "cuda/ccuda.pxd":1439
 * ctypedef CUarrayMapInfo_st CUarrayMapInfo_v1
 * 
 * ctypedef CUarrayMapInfo_v1 CUarrayMapInfo             # <<<<<<<<<<<<<<
 * 
 * cdef struct CUmemLocation_st:
 */
typedef __pyx_t_4cuda_5ccuda_CUarrayMapInfo_v1 __pyx_t_4cuda_5ccuda_CUarrayMapInfo;

/* "cuda/ccuda.pxd":1441
 * ctypedef CUarrayMapInfo_v1 CUarrayMapInfo
 * 
 * cdef struct CUmemLocation_st:             # <<<<<<<<<<<<<<
 *     CUmemLocationType type
 *     int id
 */
struct __pyx_t_4cuda_5ccuda_CUmemLocation_st {
  __pyx_t_4cuda_5ccuda_CUmemLocationType type;
  int id;
};

/* "cuda/ccuda.pxd":1445
 *     int id
 * 
 * ctypedef CUmemLocation_st CUmemLocation_v1             # <<<<<<<<<<<<<<
 * 
 * ctypedef CUmemLocation_v1 CUmemLocation
 */
typedef struct __pyx_t_4cuda_5ccuda_CUmemLocation_st __pyx_t_4cuda_5ccuda_CUmemLocation_v1;

/* "cuda/ccuda.pxd":1447
 * ctypedef CUmemLocation_st CUmemLocation_v1
 * 
 * ctypedef CUmemLocation_v1 CUmemLocation             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUmemAllocationCompType_enum:
 */
typedef __pyx_t_4cuda_5ccuda_CUmemLocation_v1 __pyx_t_4cuda_5ccuda_CUmemLocation;

/* "cuda/ccuda.pxd":1453
 *     CU_MEM_ALLOCATION_COMP_GENERIC = 0x1
 * 
 * ctypedef CUmemAllocationCompType_enum CUmemAllocationCompType             # <<<<<<<<<<<<<<
 * 
 * cdef struct _CUmemAllocationProp_v1_CUmemAllocationProp_v1_CUmemAllocationProp_st_allocFlags_s:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUmemAllocationCompType_enum __pyx_t_4cuda_5ccuda_CUmemAllocationCompType;

/* "cuda/ccuda.pxd":1455
 * ctypedef CUmemAllocationCompType_enum CUmemAllocationCompType
 * 
 * cdef struct _CUmemAllocationProp_v1_CUmemAllocationProp_v1_CUmemAllocationProp_st_allocFlags_s:             # <<<<<<<<<<<<<<
 *     unsigned char compressionType
 *     unsigned char gpuDirectRDMACapable
 */
struct __pyx_t_4cuda_5ccuda__CUmemAllocationProp_v1_CUmemAllocationProp_v1_CUmemAllocationProp_st_allocFlags_s {
  unsigned char compressionType;
  unsigned char gpuDirectRDMACapable;
  unsigned short usage;
  unsigned char reserved[4];
};

/* "cuda/ccuda.pxd":1461
 *     unsigned char reserved[4]
 * 
 * cdef struct CUmemAllocationProp_st:             # <<<<<<<<<<<<<<
 *     CUmemAllocationType type
 *     CUmemAllocationHandleType requestedHandleTypes
 */
struct __pyx_t_4cuda_5ccuda_CUmemAllocationProp_st {
  __pyx_t_4cuda_5ccuda_CUmemAllocationType type;
  __pyx_t_4cuda_5ccuda_CUmemAllocationHandleType requestedHandleTypes;
  __pyx_t_4cuda_5ccuda_CUmemLocation location;
  void *win32HandleMetaData;
  struct __pyx_t_4cuda_5ccuda__CUmemAllocationProp_v1_CUmemAllocationProp_v1_CUmemAllocationProp_st_allocFlags_s allocFlags;
};

/* "cuda/ccuda.pxd":1468
 *     _CUmemAllocationProp_v1_CUmemAllocationProp_v1_CUmemAllocationProp_st_allocFlags_s allocFlags
 * 
 * ctypedef CUmemAllocationProp_st CUmemAllocationProp_v1             # <<<<<<<<<<<<<<
 * 
 * ctypedef CUmemAllocationProp_v1 CUmemAllocationProp
 */
typedef struct __pyx_t_4cuda_5ccuda_CUmemAllocationProp_st __pyx_t_4cuda_5ccuda_CUmemAllocationProp_v1;

/* "cuda/ccuda.pxd":1470
 * ctypedef CUmemAllocationProp_st CUmemAllocationProp_v1
 * 
 * ctypedef CUmemAllocationProp_v1 CUmemAllocationProp             # <<<<<<<<<<<<<<
 * 
 * cdef struct CUmemAccessDesc_st:
 */
typedef __pyx_t_4cuda_5ccuda_CUmemAllocationProp_v1 __pyx_t_4cuda_5ccuda_CUmemAllocationProp;

/* "cuda/ccuda.pxd":1472
 * ctypedef CUmemAllocationProp_v1 CUmemAllocationProp
 * 
 * cdef struct CUmemAccessDesc_st:             # <<<<<<<<<<<<<<
 *     CUmemLocation location
 *     CUmemAccess_flags flags
 */
struct __pyx_t_4cuda_5ccuda_CUmemAccessDesc_st {
  __pyx_t_4cuda_5ccuda_CUmemLocation location;
  __pyx_t_4cuda_5ccuda_CUmemAccess_flags flags;
};

/* "cuda/ccuda.pxd":1476
 *     CUmemAccess_flags flags
 * 
 * ctypedef CUmemAccessDesc_st CUmemAccessDesc_v1             # <<<<<<<<<<<<<<
 * 
 * ctypedef CUmemAccessDesc_v1 CUmemAccessDesc
 */
typedef struct __pyx_t_4cuda_5ccuda_CUmemAccessDesc_st __pyx_t_4cuda_5ccuda_CUmemAccessDesc_v1;

/* "cuda/ccuda.pxd":1478
 * ctypedef CUmemAccessDesc_st CUmemAccessDesc_v1
 * 
 * ctypedef CUmemAccessDesc_v1 CUmemAccessDesc             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUgraphExecUpdateResult_enum:
 */
typedef __pyx_t_4cuda_5ccuda_CUmemAccessDesc_v1 __pyx_t_4cuda_5ccuda_CUmemAccessDesc;

/* "cuda/ccuda.pxd":1490
 *     CU_GRAPH_EXEC_UPDATE_ERROR_UNSUPPORTED_FUNCTION_CHANGE = 0x7
 * 
 * ctypedef CUgraphExecUpdateResult_enum CUgraphExecUpdateResult             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUmemPool_attribute_enum:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUgraphExecUpdateResult_enum __pyx_t_4cuda_5ccuda_CUgraphExecUpdateResult;

/* "cuda/ccuda.pxd":1502
 *     CU_MEMPOOL_ATTR_USED_MEM_HIGH
 * 
 * ctypedef CUmemPool_attribute_enum CUmemPool_attribute             # <<<<<<<<<<<<<<
 * 
 * cdef struct CUmemPoolProps_st:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUmemPool_attribute_enum __pyx_t_4cuda_5ccuda_CUmemPool_attribute;

/* "cuda/ccuda.pxd":1504
 * ctypedef CUmemPool_attribute_enum CUmemPool_attribute
 * 
 * cdef struct CUmemPoolProps_st:             # <<<<<<<<<<<<<<
 *     CUmemAllocationType allocType
 *     CUmemAllocationHandleType handleTypes
 */
struct __pyx_t_4cuda_5ccuda_CUmemPoolProps_st {
  __pyx_t_4cuda_5ccuda_CUmemAllocationType allocType;
  __pyx_t_4cuda_5ccuda_CUmemAllocationHandleType handleTypes;
  __pyx_t_4cuda_5ccuda_CUmemLocation location;
  void *win32SecurityAttributes;
  unsigned char reserved[64];
};

/* "cuda/ccuda.pxd":1511
 *     unsigned char reserved[64]
 * 
 * ctypedef CUmemPoolProps_st CUmemPoolProps_v1             # <<<<<<<<<<<<<<
 * 
 * ctypedef CUmemPoolProps_v1 CUmemPoolProps
 */
typedef struct __pyx_t_4cuda_5ccuda_CUmemPoolProps_st __pyx_t_4cuda_5ccuda_CUmemPoolProps_v1;

/* "cuda/ccuda.pxd":1513
 * ctypedef CUmemPoolProps_st CUmemPoolProps_v1
 * 
 * ctypedef CUmemPoolProps_v1 CUmemPoolProps             # <<<<<<<<<<<<<<
 * 
 * cdef struct CUmemPoolPtrExportData_st:
 */
typedef __pyx_t_4cuda_5ccuda_CUmemPoolProps_v1 __pyx_t_4cuda_5ccuda_CUmemPoolProps;

/* "cuda/ccuda.pxd":1515
 * ctypedef CUmemPoolProps_v1 CUmemPoolProps
 * 
 * cdef struct CUmemPoolPtrExportData_st:             # <<<<<<<<<<<<<<
 *     unsigned char reserved[64]
 * 
 */
struct __pyx_t_4cuda_5ccuda_CUmemPoolPtrExportData_st {
  unsigned char reserved[64];
};

/* "cuda/ccuda.pxd":1518
 *     unsigned char reserved[64]
 * 
 * ctypedef CUmemPoolPtrExportData_st CUmemPoolPtrExportData_v1             # <<<<<<<<<<<<<<
 * 
 * ctypedef CUmemPoolPtrExportData_v1 CUmemPoolPtrExportData
 */
typedef struct __pyx_t_4cuda_5ccuda_CUmemPoolPtrExportData_st __pyx_t_4cuda_5ccuda_CUmemPoolPtrExportData_v1;

/* "cuda/ccuda.pxd":1520
 * ctypedef CUmemPoolPtrExportData_st CUmemPoolPtrExportData_v1
 * 
 * ctypedef CUmemPoolPtrExportData_v1 CUmemPoolPtrExportData             # <<<<<<<<<<<<<<
 * 
 * cdef struct CUDA_MEM_ALLOC_NODE_PARAMS_st:
 */
typedef __pyx_t_4cuda_5ccuda_CUmemPoolPtrExportData_v1 __pyx_t_4cuda_5ccuda_CUmemPoolPtrExportData;

/* "cuda/ccuda.pxd":1522
 * ctypedef CUmemPoolPtrExportData_v1 CUmemPoolPtrExportData
 * 
 * cdef struct CUDA_MEM_ALLOC_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *     CUmemPoolProps poolProps
 *     const CUmemAccessDesc* accessDescs
 */
struct __pyx_t_4cuda_5ccuda_CUDA_MEM_ALLOC_NODE_PARAMS_st {
  __pyx_t_4cuda_5ccuda_CUmemPoolProps poolProps;
  __pyx_t_4cuda_5ccuda_CUmemAccessDesc const *accessDescs;
  size_t accessDescCount;
  size_t bytesize;
  __pyx_t_4cuda_5ccuda_CUdeviceptr dptr;
};

/* "cuda/ccuda.pxd":1529
 *     CUdeviceptr dptr
 * 
 * ctypedef CUDA_MEM_ALLOC_NODE_PARAMS_st CUDA_MEM_ALLOC_NODE_PARAMS             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUgraphMem_attribute_enum:
 */
typedef struct __pyx_t_4cuda_5ccuda_CUDA_MEM_ALLOC_NODE_PARAMS_st __pyx_t_4cuda_5ccuda_CUDA_MEM_ALLOC_NODE_PARAMS;

/* "cuda/ccuda.pxd":1537
 *     CU_GRAPH_MEM_ATTR_RESERVED_MEM_HIGH
 * 
 * ctypedef CUgraphMem_attribute_enum CUgraphMem_attribute             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUflushGPUDirectRDMAWritesOptions_enum:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUgraphMem_attribute_enum __pyx_t_4cuda_5ccuda_CUgraphMem_attribute;

/* "cuda/ccuda.pxd":1543
 *     CU_FLUSH_GPU_DIRECT_RDMA_WRITES_OPTION_MEMOPS = 1<<1
 * 
 * ctypedef CUflushGPUDirectRDMAWritesOptions_enum CUflushGPUDirectRDMAWritesOptions             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUGPUDirectRDMAWritesOrdering_enum:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUflushGPUDirectRDMAWritesOptions_enum __pyx_t_4cuda_5ccuda_CUflushGPUDirectRDMAWritesOptions;

/* "cuda/ccuda.pxd":1550
 *     CU_GPU_DIRECT_RDMA_WRITES_ORDERING_ALL_DEVICES = 200
 * 
 * ctypedef CUGPUDirectRDMAWritesOrdering_enum CUGPUDirectRDMAWritesOrdering             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUflushGPUDirectRDMAWritesScope_enum:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUGPUDirectRDMAWritesOrdering_enum __pyx_t_4cuda_5ccuda_CUGPUDirectRDMAWritesOrdering;

/* "cuda/ccuda.pxd":1556
 *     CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TO_ALL_DEVICES = 200
 * 
 * ctypedef CUflushGPUDirectRDMAWritesScope_enum CUflushGPUDirectRDMAWritesScope             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUflushGPUDirectRDMAWritesTarget_enum:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUflushGPUDirectRDMAWritesScope_enum __pyx_t_4cuda_5ccuda_CUflushGPUDirectRDMAWritesScope;

/* "cuda/ccuda.pxd":1561
 *     CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TARGET_CURRENT_CTX = 0
 * 
 * ctypedef CUflushGPUDirectRDMAWritesTarget_enum CUflushGPUDirectRDMAWritesTarget             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUgraphDebugDot_flags_enum:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUflushGPUDirectRDMAWritesTarget_enum __pyx_t_4cuda_5ccuda_CUflushGPUDirectRDMAWritesTarget;

/* "cuda/ccuda.pxd":1578
 *     CU_GRAPH_DEBUG_DOT_FLAGS_MEM_FREE_NODE_PARAMS = 1<<12
 * 
 * ctypedef CUgraphDebugDot_flags_enum CUgraphDebugDot_flags             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUuserObject_flags_enum:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUgraphDebugDot_flags_enum __pyx_t_4cuda_5ccuda_CUgraphDebugDot_flags;

/* "cuda/ccuda.pxd":1583
 *     CU_USER_OBJECT_NO_DESTRUCTOR_SYNC = 1
 * 
 * ctypedef CUuserObject_flags_enum CUuserObject_flags             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUuserObjectRetain_flags_enum:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUuserObject_flags_enum __pyx_t_4cuda_5ccuda_CUuserObject_flags;

/* "cuda/ccuda.pxd":1588
 *     CU_GRAPH_USER_OBJECT_MOVE = 1
 * 
 * ctypedef CUuserObjectRetain_flags_enum CUuserObjectRetain_flags             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUgraphInstantiate_flags_enum:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUuserObjectRetain_flags_enum __pyx_t_4cuda_5ccuda_CUuserObjectRetain_flags;

/* "cuda/ccuda.pxd":1593
 *     CUDA_GRAPH_INSTANTIATE_FLAG_AUTO_FREE_ON_LAUNCH = 1
 * 
 * ctypedef CUgraphInstantiate_flags_enum CUgraphInstantiate_flags             # <<<<<<<<<<<<<<
 * 
 * cdef CUresult cuGetErrorString(CUresult error, const char** pStr) nogil except ?CUDA_ERROR_NOT_FOUND
 */
typedef enum __pyx_t_4cuda_5ccuda_CUgraphInstantiate_flags_enum __pyx_t_4cuda_5ccuda_CUgraphInstantiate_flags;

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


/* "cuda/cuda.pxd":24
 *     cdef bint _ptr_owner
 * 
 * cdef class CUmodule:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUmodule {
  PyObject_HEAD
  __pyx_t_4cuda_5ccuda_CUmodule *_ptr;
  int _ptr_owner;
};


/* "cuda/cuda.pxd":37
 *     cdef bint _ptr_owner
 * 
 * cdef class CUfunction:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUfunction {
  PyObject_HEAD
  __pyx_t_4cuda_5ccuda_CUfunction *_ptr;
  int _ptr_owner;
};


/* "cuda/cuda.pxd":50
 *     cdef bint _ptr_owner
 * 
 * cdef class CUarray:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUarray {
  PyObject_HEAD
  __pyx_t_4cuda_5ccuda_CUarray *_ptr;
  int _ptr_owner;
};


/* "cuda/cuda.pxd":63
 *     cdef bint _ptr_owner
 * 
 * cdef class CUmipmappedArray:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUmipmappedArray {
  PyObject_HEAD
  __pyx_t_4cuda_5ccuda_CUmipmappedArray *_ptr;
  int _ptr_owner;
};


/* "cuda/cuda.pxd":76
 *     cdef bint _ptr_owner
 * 
 * cdef class CUtexref:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUtexref {
  PyObject_HEAD
  __pyx_t_4cuda_5ccuda_CUtexref *_ptr;
  int _ptr_owner;
};


/* "cuda/cuda.pxd":89
 *     cdef bint _ptr_owner
 * 
 * cdef class CUsurfref:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUsurfref {
  PyObject_HEAD
  __pyx_t_4cuda_5ccuda_CUsurfref *_ptr;
  int _ptr_owner;
};


/* "cuda/cuda.pxd":102
 *     cdef bint _ptr_owner
 * 
 * cdef class CUevent:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUevent {
  PyObject_HEAD
  __pyx_t_4cuda_5ccuda_CUevent *_ptr;
  int _ptr_owner;
};


/* "cuda/cuda.pxd":115
 *     cdef bint _ptr_owner
 * 
 * cdef class CUstream:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUstream {
  PyObject_HEAD
  __pyx_t_4cuda_5ccuda_CUstream *_ptr;
  int _ptr_owner;
};


/* "cuda/cuda.pxd":128
 *     cdef bint _ptr_owner
 * 
 * cdef class CUgraphicsResource:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUgraphicsResource {
  PyObject_HEAD
  __pyx_t_4cuda_5ccuda_CUgraphicsResource *_ptr;
  int _ptr_owner;
};


/* "cuda/cuda.pxd":141
 *     cdef bint _ptr_owner
 * 
 * cdef class CUexternalMemory:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUexternalMemory {
  PyObject_HEAD
  __pyx_t_4cuda_5ccuda_CUexternalMemory *_ptr;
  int _ptr_owner;
};


/* "cuda/cuda.pxd":154
 *     cdef bint _ptr_owner
 * 
 * cdef class CUexternalSemaphore:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUexternalSemaphore {
  PyObject_HEAD
  __pyx_t_4cuda_5ccuda_CUexternalSemaphore *_ptr;
  int _ptr_owner;
};


/* "cuda/cuda.pxd":167
 *     cdef bint _ptr_owner
 * 
 * cdef class CUgraph:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUgraph {
  PyObject_HEAD
  __pyx_t_4cuda_5ccuda_CUgraph *_ptr;
  int _ptr_owner;
};


/* "cuda/cuda.pxd":180
 *     cdef bint _ptr_owner
 * 
 * cdef class CUgraphNode:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUgraphNode {
  PyObject_HEAD
  __pyx_t_4cuda_5ccuda_CUgraphNode *_ptr;
  int _ptr_owner;
};


/* "cuda/cuda.pxd":193
 *     cdef bint _ptr_owner
 * 
 * cdef class CUgraphExec:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUgraphExec {
  PyObject_HEAD
  __pyx_t_4cuda_5ccuda_CUgraphExec *_ptr;
  int _ptr_owner;
};


/* "cuda/cuda.pxd":206
 *     cdef bint _ptr_owner
 * 
 * cdef class CUmemoryPool:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUmemoryPool {
  PyObject_HEAD
  __pyx_t_4cuda_5ccuda_CUmemoryPool *_ptr;
  int _ptr_owner;
};


/* "cuda/cuda.pxd":219
 *     cdef bint _ptr_owner
 * 
 * cdef class CUuserObject:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUuserObject {
  PyObject_HEAD
  __pyx_t_4cuda_5ccuda_CUuserObject *_ptr;
  int _ptr_owner;
};


/* "cuda/cuda.pxd":232
 *     cdef bint _ptr_owner
 * 
 * cdef class CUlinkState:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUlinkState {
  PyObject_HEAD
  __pyx_t_4cuda_5ccuda_CUlinkState *_ptr;
  int _ptr_owner;
  PyObject *_keepalive;
};


/* "cuda/cuda.pxd":246
 *     cdef list _keepalive
 * 
 * cdef class CUhostFn:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUhostFn {
  PyObject_HEAD
  __pyx_t_4cuda_5ccuda_CUhostFn *_ptr;
  int _ptr_owner;
};


/* "cuda/cuda.pxd":259
 *     cdef bint _ptr_owner
 * 
 * cdef class CUstreamCallback:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUstreamCallback {
  PyObject_HEAD
  __pyx_t_4cuda_5ccuda_CUstreamCallback *_ptr;
  int _ptr_owner;
};


/* "cuda/cuda.pxd":272
 *     cdef bint _ptr_owner
 * 
 * cdef class CUoccupancyB2DSize:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUoccupancyB2DSize {
  PyObject_HEAD
  __pyx_t_4cuda_5ccuda_CUoccupancyB2DSize *_ptr;
  int _ptr_owner;
};


/* "cuda/cuda.pxd":285
 *     cdef bint _ptr_owner
 * 
 * cdef class CUuuid_st:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUuuid_st {
  PyObject_HEAD
  struct __pyx_t_4cuda_5ccuda_CUuuid_st *_ptr;
  int _ptr_owner;
};


/* "cuda/cuda.pxd":302
 *     cdef bint _ptr_owner
 * 
 * cdef class CUipcEventHandle_st:             # <<<<<<<<<<<<<<
 *     """
 *     CUDA IPC event handle
 */
struct __pyx_obj_4cuda_4cuda_CUipcEventHandle_st {
  PyObject_HEAD
  struct __pyx_t_4cuda_5ccuda_CUipcEventHandle_st *_ptr;
  int _ptr_owner;
};


/* "cuda/cuda.pxd":320
 *     cdef bint _ptr_owner
 * 
 * cdef class CUipcMemHandle_st:             # <<<<<<<<<<<<<<
 *     """
 *     CUDA IPC mem handle
 */
struct __pyx_obj_4cuda_4cuda_CUipcMemHandle_st {
  PyObject_HEAD
  struct __pyx_t_4cuda_5ccuda_CUipcMemHandle_st *_ptr;
  int _ptr_owner;
};


/* "cuda/cuda.pxd":338
 *     cdef bint _ptr_owner
 * 
 * cdef class CUstreamMemOpWaitValueParams_st:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st {
  PyObject_HEAD
  struct __pyx_t_4cuda_5ccuda_CUstreamMemOpWaitValueParams_st *_ptr;
  int _ptr_owner;
  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":366
 *     cdef CUdeviceptr _alias
 * 
 * cdef class CUstreamMemOpWriteValueParams_st:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st {
  PyObject_HEAD
  struct __pyx_t_4cuda_5ccuda_CUstreamMemOpWriteValueParams_st *_ptr;
  int _ptr_owner;
  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":394
 *     cdef CUdeviceptr _alias
 * 
 * cdef class CUstreamMemOpFlushRemoteWritesParams_st:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st {
  PyObject_HEAD
  struct __pyx_t_4cuda_5ccuda_CUstreamMemOpFlushRemoteWritesParams_st *_ptr;
  int _ptr_owner;
};


/* "cuda/cuda.pxd":413
 *     cdef bint _ptr_owner
 * 
 * cdef class CUstreamBatchMemOpParams_union:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union {
  PyObject_HEAD
  union __pyx_t_4cuda_5ccuda_CUstreamBatchMemOpParams_union *_ptr;
  int _ptr_owner;
  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_cuuint64_t *_pad;
};


/* "cuda/cuda.pxd":442
 *     cdef cuuint64_t _pad
 * 
 * cdef class CUdevprop_st:             # <<<<<<<<<<<<<<
 *     """
 *     Legacy device properties
 */
struct __pyx_obj_4cuda_4cuda_CUdevprop_st {
  PyObject_HEAD
  struct __pyx_t_4cuda_5ccuda_CUdevprop_st *_ptr;
  int _ptr_owner;
};


/* "cuda/cuda.pxd":478
 *     cdef bint _ptr_owner
 * 
 * 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 __pyx_t_4cuda_5ccuda_CUaccessPolicyWindow_st *_ptr;
  int _ptr_owner;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *_cbase_ptr;
};


/* "cuda/cuda.pxd":517
 *     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 __pyx_t_4cuda_5ccuda_CUDA_KERNEL_NODE_PARAMS_st *_ptr;
  int _ptr_owner;
  struct __pyx_obj_4cuda_4cuda_CUfunction *_func;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperKernelParams *_ckernelParams;
};


/* "cuda/cuda.pxd":555
 *     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 __pyx_t_4cuda_5ccuda_CUDA_MEMSET_NODE_PARAMS_st *_ptr;
  int _ptr_owner;
  struct __pyx_obj_4cuda_4cuda_CUdeviceptr *_dst;
};


/* "cuda/cuda.pxd":584
 *     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 __pyx_t_4cuda_5ccuda_CUDA_HOST_NODE_PARAMS_st *_ptr;
  int _ptr_owner;
  struct __pyx_obj_4cuda_4cuda_CUhostFn *_fn;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *_cuserData;
};


/* "cuda/cuda.pxd":606
 *     cdef utils.HelperInputVoidPtr _cuserData
 * 
 * cdef class CUkernelNodeAttrValue_union:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUkernelNodeAttrValue_union {
  PyObject_HEAD
  union __pyx_t_4cuda_5ccuda_CUkernelNodeAttrValue_union *_ptr;
  int _ptr_owner;
  struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow *_accessPolicyWindow;
};


/* "cuda/cuda.pxd":626
 *     cdef CUaccessPolicyWindow _accessPolicyWindow
 * 
 * cdef class CUstreamAttrValue_union:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUstreamAttrValue_union {
  PyObject_HEAD
  union __pyx_t_4cuda_5ccuda_CUstreamAttrValue_union *_ptr;
  int _ptr_owner;
  struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow *_accessPolicyWindow;
};


/* "cuda/cuda.pxd":646
 *     cdef CUaccessPolicyWindow _accessPolicyWindow
 * 
 * cdef class CUexecAffinitySmCount_st:             # <<<<<<<<<<<<<<
 *     """
 *     Value for CU_EXEC_AFFINITY_TYPE_SM_COUNT
 */
struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount_st {
  PyObject_HEAD
  struct __pyx_t_4cuda_5ccuda_CUexecAffinitySmCount_st *_ptr;
  int _ptr_owner;
};


/* "cuda/cuda.pxd":664
 *     cdef bint _ptr_owner
 * 
 * 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 __pyx_t_4cuda_5ccuda_CUexecAffinityParam_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount *_smCount;
};


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


/* "cuda/cuda.pxd":702
 *     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 __pyx_t_4cuda_5ccuda_CUDA_MEMCPY2D_st *_ptr;
  int _ptr_owner;
  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":756
 *     cdef CUarray _dstArray
 * 
 * cdef class CUDA_MEMCPY3D_st:             # <<<<<<<<<<<<<<
 *     """
 *     3D memory copy parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st {
  PyObject_HEAD
  struct __pyx_t_4cuda_5ccuda_CUDA_MEMCPY3D_st *_ptr;
  int _ptr_owner;
  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":831
 *     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 __pyx_t_4cuda_5ccuda_CUDA_MEMCPY3D_PEER_st *_ptr;
  int _ptr_owner;
  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":907
 *     cdef CUcontext _dstContext
 * 
 * cdef class CUDA_ARRAY_DESCRIPTOR_st:             # <<<<<<<<<<<<<<
 *     """
 *     Array descriptor
 */
struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st {
  PyObject_HEAD
  struct __pyx_t_4cuda_5ccuda_CUDA_ARRAY_DESCRIPTOR_st *_ptr;
  int _ptr_owner;
};


/* "cuda/cuda.pxd":931
 *     cdef bint _ptr_owner
 * 
 * cdef class CUDA_ARRAY3D_DESCRIPTOR_st:             # <<<<<<<<<<<<<<
 *     """
 *     3D array descriptor
 */
struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st {
  PyObject_HEAD
  struct __pyx_t_4cuda_5ccuda_CUDA_ARRAY3D_DESCRIPTOR_st *_ptr;
  int _ptr_owner;
};


/* "cuda/cuda.pxd":959
 *     cdef bint _ptr_owner
 * 
 * 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 __pyx_t_4cuda_5ccuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *_ptr;
};


/* "cuda/cuda.pxd":979
 *     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 __pyx_t_4cuda_5ccuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *_ptr;
  int _ptr_owner;
  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":1007
 *     cdef _CUDA_ARRAY_SPARSE_PROPERTIES_v1_CUDA_ARRAY_SPARSE_PROPERTIES_v1_CUDA_ARRAY_SPARSE_PROPERTIES_st_tileExtent_s _tileExtent
 * 
 * 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 __pyx_t_4cuda_5ccuda_CUDA_RESOURCE_DESC_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUarray *_hArray;
};


/* "cuda/cuda.pxd":1024
 *     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 __pyx_t_4cuda_5ccuda_CUDA_RESOURCE_DESC_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUmipmappedArray *_hMipmappedArray;
};


/* "cuda/cuda.pxd":1041
 *     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 __pyx_t_4cuda_5ccuda_CUDA_RESOURCE_DESC_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUdeviceptr *_devPtr;
};


/* "cuda/cuda.pxd":1064
 *     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 __pyx_t_4cuda_5ccuda_CUDA_RESOURCE_DESC_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUdeviceptr *_devPtr;
};


/* "cuda/cuda.pxd":1091
 *     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 __pyx_t_4cuda_5ccuda_CUDA_RESOURCE_DESC_st *_ptr;
};


/* "cuda/cuda.pxd":1107
 *     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 __pyx_t_4cuda_5ccuda_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":1136
 *     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 __pyx_t_4cuda_5ccuda_CUDA_RESOURCE_DESC_st *_ptr;
  int _ptr_owner;
  struct __pyx_obj_4cuda_4cuda__CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_v1_CUDA_RESOURCE_DESC_st_res_u *_res;
};


/* "cuda/cuda.pxd":1159
 *     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 __pyx_t_4cuda_5ccuda_CUDA_TEXTURE_DESC_st *_ptr;
  int _ptr_owner;
};


/* "cuda/cuda.pxd":1195
 *     cdef bint _ptr_owner
 * 
 * cdef class CUDA_RESOURCE_VIEW_DESC_st:             # <<<<<<<<<<<<<<
 *     """
 *     Resource view descriptor
 */
struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st {
  PyObject_HEAD
  struct __pyx_t_4cuda_5ccuda_CUDA_RESOURCE_VIEW_DESC_st *_ptr;
  int _ptr_owner;
};


/* "cuda/cuda.pxd":1229
 *     cdef bint _ptr_owner
 * 
 * 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 __pyx_t_4cuda_5ccuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *_ptr;
  int _ptr_owner;
};


/* "cuda/cuda.pxd":1249
 *     cdef bint _ptr_owner
 * 
 * cdef class CUDA_LAUNCH_PARAMS_st:             # <<<<<<<<<<<<<<
 *     """
 *     Kernel launch parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st {
  PyObject_HEAD
  struct __pyx_t_4cuda_5ccuda_CUDA_LAUNCH_PARAMS_st *_ptr;
  int _ptr_owner;
  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":1288
 *     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 __pyx_t_4cuda_5ccuda_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":1308
 *     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 __pyx_t_4cuda_5ccuda_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":1330
 *     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 __pyx_t_4cuda_5ccuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *_ptr;
  int _ptr_owner;
  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":1357
 *     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 __pyx_t_4cuda_5ccuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *_ptr;
  int _ptr_owner;
};


/* "cuda/cuda.pxd":1381
 *     cdef bint _ptr_owner
 * 
 * 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 __pyx_t_4cuda_5ccuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *_ptr;
  int _ptr_owner;
  struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR *_arrayDesc;
};


/* "cuda/cuda.pxd":1407
 *     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 __pyx_t_4cuda_5ccuda_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":1427
 *     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 __pyx_t_4cuda_5ccuda_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":1449
 *     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 __pyx_t_4cuda_5ccuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *_ptr;
  int _ptr_owner;
  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":1474
 *     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 __pyx_t_4cuda_5ccuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *_ptr;
};


/* "cuda/cuda.pxd":1490
 *     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 __pyx_t_4cuda_5ccuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *_ptr;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *_cfence;
};


/* "cuda/cuda.pxd":1509
 *     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 __pyx_t_4cuda_5ccuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *_ptr;
};


/* "cuda/cuda.pxd":1525
 *     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 __pyx_t_4cuda_5ccuda_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":1550
 *     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 __pyx_t_4cuda_5ccuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *_ptr;
  int _ptr_owner;
  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":1580
 *     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 __pyx_t_4cuda_5ccuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *_ptr;
};


/* "cuda/cuda.pxd":1596
 *     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 __pyx_t_4cuda_5ccuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *_ptr;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *_cfence;
};


/* "cuda/cuda.pxd":1615
 *     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 __pyx_t_4cuda_5ccuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *_ptr;
};


/* "cuda/cuda.pxd":1633
 *     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 __pyx_t_4cuda_5ccuda_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":1658
 *     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 __pyx_t_4cuda_5ccuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *_ptr;
  int _ptr_owner;
  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":1688
 *     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 __pyx_t_4cuda_5ccuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *_ptr;
  int _ptr_owner;
  size_t _extSemArray_length;
  __pyx_t_4cuda_5ccuda_CUexternalSemaphore *_extSemArray;
  size_t _paramsArray_length;
  __pyx_t_4cuda_5ccuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS *_paramsArray;
};


/* "cuda/cuda.pxd":1715
 *     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 __pyx_t_4cuda_5ccuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *_ptr;
  int _ptr_owner;
  size_t _extSemArray_length;
  __pyx_t_4cuda_5ccuda_CUexternalSemaphore *_extSemArray;
  size_t _paramsArray_length;
  __pyx_t_4cuda_5ccuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS *_paramsArray;
};


/* "cuda/cuda.pxd":1742
 *     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 __pyx_t_4cuda_5ccuda_CUarrayMapInfo_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUmipmappedArray *_mipmap;
  struct __pyx_obj_4cuda_4cuda_CUarray *_array;
};


/* "cuda/cuda.pxd":1762
 *     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 __pyx_t_4cuda_5ccuda_CUarrayMapInfo_st *_ptr;
};


/* "cuda/cuda.pxd":1792
 *     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 __pyx_t_4cuda_5ccuda_CUarrayMapInfo_st *_ptr;
};


/* "cuda/cuda.pxd":1812
 *     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 __pyx_t_4cuda_5ccuda_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":1832
 *     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 __pyx_t_4cuda_5ccuda_CUarrayMapInfo_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle *_memHandle;
};


/* "cuda/cuda.pxd":1849
 *     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 __pyx_t_4cuda_5ccuda_CUarrayMapInfo_st *_ptr;
  int _ptr_owner;
  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":1891
 *     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 __pyx_t_4cuda_5ccuda_CUmemLocation_st *_ptr;
  int _ptr_owner;
};


/* "cuda/cuda.pxd":1911
 *     cdef bint _ptr_owner
 * 
 * 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 __pyx_t_4cuda_5ccuda_CUmemAllocationProp_st *_ptr;
};


/* "cuda/cuda.pxd":1933
 *     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 __pyx_t_4cuda_5ccuda_CUmemAllocationProp_st *_ptr;
  int _ptr_owner;
  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":1966
 *     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 __pyx_t_4cuda_5ccuda_CUmemAccessDesc_st *_ptr;
  int _ptr_owner;
  struct __pyx_obj_4cuda_4cuda_CUmemLocation *_location;
};


/* "cuda/cuda.pxd":1987
 *     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 __pyx_t_4cuda_5ccuda_CUmemPoolProps_st *_ptr;
  int _ptr_owner;
  struct __pyx_obj_4cuda_4cuda_CUmemLocation *_location;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *_cwin32SecurityAttributes;
};


/* "cuda/cuda.pxd":2020
 *     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 __pyx_t_4cuda_5ccuda_CUmemPoolPtrExportData_st *_ptr;
  int _ptr_owner;
};


/* "cuda/cuda.pxd":2038
 *     cdef bint _ptr_owner
 * 
 * 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 __pyx_t_4cuda_5ccuda_CUDA_MEM_ALLOC_NODE_PARAMS_st *_ptr;
  int _ptr_owner;
  struct __pyx_obj_4cuda_4cuda_CUmemPoolProps *_poolProps;
  size_t _accessDescs_length;
  __pyx_t_4cuda_5ccuda_CUmemAccessDesc *_accessDescs;
  struct __pyx_obj_4cuda_4cuda_CUdeviceptr *_dptr;
};


/* "cuda/cuda.pxd":2072
 *     cdef CUdeviceptr _dptr
 * 
 * cdef class CUuuid(CUuuid_st):             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUuuid {
  struct __pyx_obj_4cuda_4cuda_CUuuid_st __pyx_base;
};


/* "cuda/cuda.pxd":2088
 *     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":2105
 *     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":2122
 *     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":2139
 *     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":2156
 *     pass
 * 
 * cdef class CUstreamBatchMemOpParams_v1(CUstreamBatchMemOpParams_union):             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_v1 {
  struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union __pyx_base;
};


/* "cuda/cuda.pxd":2180
 *     pass
 * 
 * cdef class CUstreamBatchMemOpParams(CUstreamBatchMemOpParams_union):             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams {
  struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union __pyx_base;
};


/* "cuda/cuda.pxd":2204
 *     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":2239
 *     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":2274
 *     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":2311
 *     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":2348
 *     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":2383
 *     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":2418
 *     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":2445
 *     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":2472
 *     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":2491
 *     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":2510
 *     pass
 * 
 * cdef class CUkernelNodeAttrValue_v1(CUkernelNodeAttrValue_union):             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUkernelNodeAttrValue_v1 {
  struct __pyx_obj_4cuda_4cuda_CUkernelNodeAttrValue_union __pyx_base;
};


/* "cuda/cuda.pxd":2528
 *     pass
 * 
 * cdef class CUkernelNodeAttrValue(CUkernelNodeAttrValue_union):             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUkernelNodeAttrValue {
  struct __pyx_obj_4cuda_4cuda_CUkernelNodeAttrValue_union __pyx_base;
};


/* "cuda/cuda.pxd":2546
 *     pass
 * 
 * cdef class CUstreamAttrValue_v1(CUstreamAttrValue_union):             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUstreamAttrValue_v1 {
  struct __pyx_obj_4cuda_4cuda_CUstreamAttrValue_union __pyx_base;
};


/* "cuda/cuda.pxd":2564
 *     pass
 * 
 * cdef class CUstreamAttrValue(CUstreamAttrValue_union):             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUstreamAttrValue {
  struct __pyx_obj_4cuda_4cuda_CUstreamAttrValue_union __pyx_base;
};


/* "cuda/cuda.pxd":2582
 *     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":2599
 *     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":2616
 *     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":2635
 *     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":2654
 *     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":2701
 *     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":2748
 *     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":2814
 *     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":2880
 *     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":2947
 *     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":3014
 *     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":3037
 *     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":3060
 *     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":3087
 *     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":3114
 *     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":3140
 *     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":3166
 *     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":3187
 *     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":3208
 *     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":3243
 *     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":3278
 *     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":3311
 *     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":3344
 *     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":3363
 *     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":3382
 *     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":3417
 *     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":3452
 *     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":3477
 *     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":3502
 *     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":3525
 *     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":3548
 *     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":3572
 *     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":3596
 *     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":3619
 *     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":3642
 *     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":3670
 *     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":3698
 *     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":3726
 *     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":3754
 *     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":3776
 *     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":3798
 *     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":3820
 *     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":3842
 *     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":3880
 *     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":3918
 *     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":3937
 *     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":3956
 *     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":3985
 *     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":4014
 *     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":4033
 *     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":4052
 *     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":4082
 *     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":4112
 *     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":4129
 *     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":4146
 *     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":4175
 *     pass
 * 
 * cdef class cuuint32_t:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_cuuint32_t {
  PyObject_HEAD
  __pyx_t_4cuda_5ccuda_cuuint32_t *_ptr;
  int _ptr_owner;
};


/* "cuda/cuda.pxd":4188
 *     cdef bint _ptr_owner
 * 
 * cdef class cuuint64_t:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_cuuint64_t {
  PyObject_HEAD
  __pyx_t_4cuda_5ccuda_cuuint64_t *_ptr;
  int _ptr_owner;
};


/* "cuda/cuda.pxd":4201
 *     cdef bint _ptr_owner
 * 
 * cdef class CUdeviceptr_v2:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUdeviceptr_v2 {
  PyObject_HEAD
  __pyx_t_4cuda_5ccuda_CUdeviceptr_v2 *_ptr;
  int _ptr_owner;
};


/* "cuda/cuda.pxd":4214
 *     cdef bint _ptr_owner
 * 
 * cdef class CUdeviceptr:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUdeviceptr {
  PyObject_HEAD
  __pyx_t_4cuda_5ccuda_CUdeviceptr *_ptr;
  int _ptr_owner;
};


/* "cuda/cuda.pxd":4227
 *     cdef bint _ptr_owner
 * 
 * cdef class CUdevice_v1:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUdevice_v1 {
  PyObject_HEAD
  __pyx_t_4cuda_5ccuda_CUdevice_v1 *_ptr;
  int _ptr_owner;
};


/* "cuda/cuda.pxd":4240
 *     cdef bint _ptr_owner
 * 
 * cdef class CUdevice:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUdevice {
  PyObject_HEAD
  __pyx_t_4cuda_5ccuda_CUdevice *_ptr;
  int _ptr_owner;
};


/* "cuda/cuda.pxd":4253
 *     cdef bint _ptr_owner
 * 
 * cdef class CUtexObject_v1:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUtexObject_v1 {
  PyObject_HEAD
  __pyx_t_4cuda_5ccuda_CUtexObject_v1 *_ptr;
  int _ptr_owner;
};


/* "cuda/cuda.pxd":4266
 *     cdef bint _ptr_owner
 * 
 * cdef class CUtexObject:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUtexObject {
  PyObject_HEAD
  __pyx_t_4cuda_5ccuda_CUtexObject *_ptr;
  int _ptr_owner;
};


/* "cuda/cuda.pxd":4279
 *     cdef bint _ptr_owner
 * 
 * cdef class CUsurfObject_v1:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUsurfObject_v1 {
  PyObject_HEAD
  __pyx_t_4cuda_5ccuda_CUsurfObject_v1 *_ptr;
  int _ptr_owner;
};


/* "cuda/cuda.pxd":4292
 *     cdef bint _ptr_owner
 * 
 * cdef class CUsurfObject:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUsurfObject {
  PyObject_HEAD
  __pyx_t_4cuda_5ccuda_CUsurfObject *_ptr;
  int _ptr_owner;
};


/* "cuda/cuda.pxd":4305
 *     cdef bint _ptr_owner
 * 
 * cdef class CUmemGenericAllocationHandle_v1:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle_v1 {
  PyObject_HEAD
  __pyx_t_4cuda_5ccuda_CUmemGenericAllocationHandle_v1 *_ptr;
  int _ptr_owner;
};


/* "cuda/cuda.pxd":4318
 *     cdef bint _ptr_owner
 * 
 * cdef class CUmemGenericAllocationHandle:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle {
  PyObject_HEAD
  __pyx_t_4cuda_5ccuda_CUmemGenericAllocationHandle *_ptr;
  int _ptr_owner;
};


/* "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 __pyx_t_4cuda_5ccuda_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 __pyx_t_4cuda_5ccuda_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 __pyx_t_4cuda_5ccuda_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 __pyx_t_4cuda_5ccuda_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 __pyx_t_4cuda_5ccuda_CUjit_option_enum _attr;
  unsigned int _uint;
  float _float;
  char *_charstar;
  enum __pyx_t_4cuda_5ccuda_CUjit_target_enum _target;
  enum __pyx_t_4cuda_5ccuda_CUjit_fallback_enum _fallback;
  int _int;
  enum __pyx_t_4cuda_5ccuda_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
  __pyx_t_4cuda_7ccudart_cudaArray_t *_ptr;
  int _ptr_owner;
};


/* "cuda/cudart.pxd":25
 *     cdef bint _ptr_owner
 * 
 * cdef class cudaArray_const_t:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart_cudaArray_const_t {
  PyObject_HEAD
  __pyx_t_4cuda_7ccudart_cudaArray_const_t *_ptr;
  int _ptr_owner;
};


/* "cuda/cudart.pxd":38
 *     cdef bint _ptr_owner
 * 
 * cdef class cudaMipmappedArray_t:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_t {
  PyObject_HEAD
  __pyx_t_4cuda_7ccudart_cudaMipmappedArray_t *_ptr;
  int _ptr_owner;
};


/* "cuda/cudart.pxd":51
 *     cdef bint _ptr_owner
 * 
 * cdef class cudaMipmappedArray_const_t:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_const_t {
  PyObject_HEAD
  __pyx_t_4cuda_7ccudart_cudaMipmappedArray_const_t *_ptr;
  int _ptr_owner;
};


/* "cuda/cudart.pxd":64
 *     cdef bint _ptr_owner
 * 
 * cdef class cudaGraphicsResource_t:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t {
  PyObject_HEAD
  __pyx_t_4cuda_7ccudart_cudaGraphicsResource_t *_ptr;
  int _ptr_owner;
};


/* "cuda/cudart.pxd":77
 *     cdef bint _ptr_owner
 * 
 * cdef class cudaExternalMemory_t:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart_cudaExternalMemory_t {
  PyObject_HEAD
  __pyx_t_4cuda_7ccudart_cudaExternalMemory_t *_ptr;
  int _ptr_owner;
};


/* "cuda/cudart.pxd":90
 *     cdef bint _ptr_owner
 * 
 * cdef class cudaExternalSemaphore_t:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphore_t {
  PyObject_HEAD
  __pyx_t_4cuda_7ccudart_cudaExternalSemaphore_t *_ptr;
  int _ptr_owner;
};


/* "cuda/cudart.pxd":103
 *     cdef bint _ptr_owner
 * 
 * cdef class cudaHostFn_t:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart_cudaHostFn_t {
  PyObject_HEAD
  __pyx_t_4cuda_7ccudart_cudaHostFn_t *_ptr;
  int _ptr_owner;
};


/* "cuda/cudart.pxd":116
 *     cdef bint _ptr_owner
 * 
 * cdef class cudaStreamCallback_t:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart_cudaStreamCallback_t {
  PyObject_HEAD
  __pyx_t_4cuda_7ccudart_cudaStreamCallback_t *_ptr;
  int _ptr_owner;
};


/* "cuda/cudart.pxd":129
 *     cdef bint _ptr_owner
 * 
 * cdef class dim3:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart_dim3 {
  PyObject_HEAD
  struct __pyx_t_4cuda_7ccudart_dim3 *_ptr;
  int _ptr_owner;
};


/* "cuda/cudart.pxd":150
 *     cdef bint _ptr_owner
 * 
 * cdef class cudaChannelFormatDesc:             # <<<<<<<<<<<<<<
 *     """
 *     CUDA Channel format descriptor
 */
struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc {
  PyObject_HEAD
  struct __pyx_t_4cuda_7ccudart_cudaChannelFormatDesc *_ptr;
  int _ptr_owner;
};


/* "cuda/cudart.pxd":176
 *     cdef bint _ptr_owner
 * 
 * cdef class _cudaArraySparseProperties_tileExtent_s:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s {
  PyObject_HEAD
  struct __pyx_t_4cuda_7ccudart_cudaArraySparseProperties *_ptr;
};


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


/* "cuda/cudart.pxd":223
 *     cdef _cudaArraySparseProperties_tileExtent_s _tileExtent
 * 
 * cdef class cudaPitchedPtr:             # <<<<<<<<<<<<<<
 *     """
 *     CUDA Pitched memory pointer ::make_cudaPitchedPtr
 */
struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr {
  PyObject_HEAD
  struct __pyx_t_4cuda_7ccudart_cudaPitchedPtr *_ptr;
  int _ptr_owner;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *_cptr;
};


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


/* "cuda/cudart.pxd":271
 *     cdef bint _ptr_owner
 * 
 * cdef class cudaPos:             # <<<<<<<<<<<<<<
 *     """
 *     CUDA 3D position ::make_cudaPos
 */
struct __pyx_obj_4cuda_6cudart_cudaPos {
  PyObject_HEAD
  struct __pyx_t_4cuda_7ccudart_cudaPos *_ptr;
  int _ptr_owner;
};


/* "cuda/cudart.pxd":293
 *     cdef bint _ptr_owner
 * 
 * cdef class cudaMemcpy3DParms:             # <<<<<<<<<<<<<<
 *     """
 *     CUDA 3D memory copying parameters
 */
struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms {
  PyObject_HEAD
  struct __pyx_t_4cuda_7ccudart_cudaMemcpy3DParms *_ptr;
  int _ptr_owner;
  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":332
 *     cdef cudaExtent _extent
 * 
 * cdef class cudaMemcpy3DPeerParms:             # <<<<<<<<<<<<<<
 *     """
 *     CUDA 3D cross-device memory copying parameters
 */
struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms {
  PyObject_HEAD
  struct __pyx_t_4cuda_7ccudart_cudaMemcpy3DPeerParms *_ptr;
  int _ptr_owner;
  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":373
 *     cdef cudaExtent _extent
 * 
 * cdef class cudaMemsetParams:             # <<<<<<<<<<<<<<
 *     """
 *     CUDA Memset node parameters
 */
struct __pyx_obj_4cuda_6cudart_cudaMemsetParams {
  PyObject_HEAD
  struct __pyx_t_4cuda_7ccudart_cudaMemsetParams *_ptr;
  int _ptr_owner;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *_cdst;
};


/* "cuda/cudart.pxd":402
 *     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 __pyx_t_4cuda_7ccudart_cudaAccessPolicyWindow *_ptr;
  int _ptr_owner;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *_cbase_ptr;
};


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


/* "cuda/cudart.pxd":461
 *     cdef utils.HelperInputVoidPtr _cuserData
 * 
 * cdef class cudaStreamAttrValue:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart_cudaStreamAttrValue {
  PyObject_HEAD
  union __pyx_t_4cuda_7ccudart_cudaStreamAttrValue *_ptr;
  int _ptr_owner;
  struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *_accessPolicyWindow;
};


/* "cuda/cudart.pxd":481
 *     cdef cudaAccessPolicyWindow _accessPolicyWindow
 * 
 * cdef class cudaKernelNodeAttrValue:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart_cudaKernelNodeAttrValue {
  PyObject_HEAD
  union __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrValue *_ptr;
  int _ptr_owner;
  struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *_accessPolicyWindow;
};


/* "cuda/cudart.pxd":501
 *     cdef cudaAccessPolicyWindow _accessPolicyWindow
 * 
 * cdef class _cudaResourceDesc_res_res_array_s:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_array_s {
  PyObject_HEAD
  struct __pyx_t_4cuda_7ccudart_cudaResourceDesc *_ptr;
  struct __pyx_obj_4cuda_6cudart_cudaArray_t *_array;
};


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


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


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


/* "cuda/cudart.pxd":583
 *     cdef cudaChannelFormatDesc _desc
 * 
 * cdef class _cudaResourceDesc_res_u:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u {
  PyObject_HEAD
  struct __pyx_t_4cuda_7ccudart_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":609
 *     cdef _cudaResourceDesc_res_res_pitch2D_s _pitch2D
 * 
 * cdef class cudaResourceDesc:             # <<<<<<<<<<<<<<
 *     """
 *     CUDA resource descriptor
 */
struct __pyx_obj_4cuda_6cudart_cudaResourceDesc {
  PyObject_HEAD
  struct __pyx_t_4cuda_7ccudart_cudaResourceDesc *_ptr;
  int _ptr_owner;
  struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_u *_res;
};


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


/* "cuda/cudart.pxd":662
 *     cdef bint _ptr_owner
 * 
 * cdef class cudaPointerAttributes:             # <<<<<<<<<<<<<<
 *     """
 *     CUDA pointer attributes
 */
struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes {
  PyObject_HEAD
  struct __pyx_t_4cuda_7ccudart_cudaPointerAttributes *_ptr;
  int _ptr_owner;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *_cdevicePointer;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *_chostPointer;
};


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


/* "cuda/cudart.pxd":754
 *     cdef bint _ptr_owner
 * 
 * cdef class cudaMemLocation:             # <<<<<<<<<<<<<<
 *     """
 *     Specifies a memory location. To specify a gpu, set type =
 */
struct __pyx_obj_4cuda_6cudart_cudaMemLocation {
  PyObject_HEAD
  struct __pyx_t_4cuda_7ccudart_cudaMemLocation *_ptr;
  int _ptr_owner;
};


/* "cuda/cudart.pxd":775
 *     cdef bint _ptr_owner
 * 
 * cdef class cudaMemAccessDesc:             # <<<<<<<<<<<<<<
 *     """
 *     Memory access descriptor
 */
struct __pyx_obj_4cuda_6cudart_cudaMemAccessDesc {
  PyObject_HEAD
  struct __pyx_t_4cuda_7ccudart_cudaMemAccessDesc *_ptr;
  int _ptr_owner;
  struct __pyx_obj_4cuda_6cudart_cudaMemLocation *_location;
};


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


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


/* "cuda/cudart.pxd":847
 *     cdef bint _ptr_owner
 * 
 * cdef class cudaMemAllocNodeParams:             # <<<<<<<<<<<<<<
 *     """
 *     Memory allocation node parameters
 */
struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams {
  PyObject_HEAD
  struct __pyx_t_4cuda_7ccudart_cudaMemAllocNodeParams *_ptr;
  int _ptr_owner;
  struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *_poolProps;
  size_t _accessDescs_length;
  struct __pyx_t_4cuda_7ccudart_cudaMemAccessDesc *_accessDescs;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *_cdptr;
};


/* "cuda/cudart.pxd":881
 *     cdef utils.HelperInputVoidPtr _cdptr
 * 
 * cdef class CUuuid_st:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart_CUuuid_st {
  PyObject_HEAD
  struct __pyx_t_4cuda_7ccudart_CUuuid_st *_ptr;
  int _ptr_owner;
};


/* "cuda/cudart.pxd":898
 *     cdef bint _ptr_owner
 * 
 * cdef class cudaDeviceProp:             # <<<<<<<<<<<<<<
 *     """
 *     CUDA device properties
 */
struct __pyx_obj_4cuda_6cudart_cudaDeviceProp {
  PyObject_HEAD
  struct __pyx_t_4cuda_7ccudart_cudaDeviceProp *_ptr;
  int _ptr_owner;
  struct __pyx_obj_4cuda_6cudart_cudaUUID_t *_uuid;
};


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


/* "cuda/cudart.pxd":1109
 *     cdef bint _ptr_owner
 * 
 * cdef class cudaIpcMemHandle_st:             # <<<<<<<<<<<<<<
 *     """
 *     CUDA IPC memory handle
 */
struct __pyx_obj_4cuda_6cudart_cudaIpcMemHandle_st {
  PyObject_HEAD
  struct __pyx_t_4cuda_7ccudart_cudaIpcMemHandle_st *_ptr;
  int _ptr_owner;
};


/* "cuda/cudart.pxd":1127
 *     cdef bint _ptr_owner
 * 
 * cdef class _cudaExternalMemoryHandleDesc_handle_handle_win32_s:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s {
  PyObject_HEAD
  struct __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleDesc *_ptr;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *_chandle;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr *_cname;
};


/* "cuda/cudart.pxd":1147
 *     cdef utils.HelperInputVoidPtr _cname
 * 
 * cdef class _cudaExternalMemoryHandleDesc_handle_u:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u {
  PyObject_HEAD
  struct __pyx_t_4cuda_7ccudart_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":1169
 *     cdef utils.HelperInputVoidPtr _cnvSciBufObject
 * 
 * cdef class cudaExternalMemoryHandleDesc:             # <<<<<<<<<<<<<<
 *     """
 *     External memory handle descriptor
 */
struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc {
  PyObject_HEAD
  struct __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleDesc *_ptr;
  int _ptr_owner;
  struct __pyx_obj_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u *_handle;
};


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


/* "cuda/cudart.pxd":1216
 *     cdef bint _ptr_owner
 * 
 * cdef class cudaExternalMemoryMipmappedArrayDesc:             # <<<<<<<<<<<<<<
 *     """
 *     External memory mipmap descriptor
 */
struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc {
  PyObject_HEAD
  struct __pyx_t_4cuda_7ccudart_cudaExternalMemoryMipmappedArrayDesc *_ptr;
  int _ptr_owner;
  struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *_formatDesc;
  struct __pyx_obj_4cuda_6cudart_cudaExtent *_extent;
};


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


/* "cuda/cudart.pxd":1266
 *     cdef utils.HelperInputVoidPtr _cname
 * 
 * cdef class _cudaExternalSemaphoreHandleDesc_handle_u:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u {
  PyObject_HEAD
  struct __pyx_t_4cuda_7ccudart_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":1288
 *     cdef utils.HelperInputVoidPtr _cnvSciSyncObj
 * 
 * cdef class cudaExternalSemaphoreHandleDesc:             # <<<<<<<<<<<<<<
 *     """
 *     External semaphore handle descriptor
 */
struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreHandleDesc {
  PyObject_HEAD
  struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleDesc *_ptr;
  int _ptr_owner;
  struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u *_handle;
};


/* "cuda/cudart.pxd":1311
 *     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 __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreSignalParams *_ptr;
};


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


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


/* "cuda/cudart.pxd":1362
 *     cdef ccudart.cudaExternalSemaphoreSignalParams* _ptr
 * 
 * cdef class _cudaExternalSemaphoreSignalParams_params_s:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s {
  PyObject_HEAD
  struct __pyx_t_4cuda_7ccudart_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":1387
 *     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 __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreSignalParams *_ptr;
  int _ptr_owner;
  struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s *_params;
};


/* "cuda/cudart.pxd":1417
 *     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 __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreWaitParams *_ptr;
};


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


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


/* "cuda/cudart.pxd":1470
 *     cdef ccudart.cudaExternalSemaphoreWaitParams* _ptr
 * 
 * cdef class _cudaExternalSemaphoreWaitParams_params_s:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s {
  PyObject_HEAD
  struct __pyx_t_4cuda_7ccudart_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":1495
 *     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 __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreWaitParams *_ptr;
  int _ptr_owner;
  struct __pyx_obj_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s *_params;
};


/* "cuda/cudart.pxd":1525
 *     cdef _cudaExternalSemaphoreWaitParams_params_s _params
 * 
 * cdef class cudaKernelNodeParams:             # <<<<<<<<<<<<<<
 *     """
 *     CUDA GPU kernel node parameters
 */
struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams {
  PyObject_HEAD
  struct __pyx_t_4cuda_7ccudart_cudaKernelNodeParams *_ptr;
  int _ptr_owner;
  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":1557
 *     cdef utils.HelperKernelParams _ckernelParams
 * 
 * cdef class cudaExternalSemaphoreSignalNodeParams:             # <<<<<<<<<<<<<<
 *     """
 *     External semaphore signal node parameters
 */
struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams {
  PyObject_HEAD
  struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreSignalNodeParams *_ptr;
  int _ptr_owner;
  size_t _extSemArray_length;
  __pyx_t_4cuda_7ccudart_cudaExternalSemaphore_t *_extSemArray;
  size_t _paramsArray_length;
  struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreSignalParams *_paramsArray;
};


/* "cuda/cudart.pxd":1584
 *     cdef ccudart.cudaExternalSemaphoreSignalParams* _paramsArray
 * 
 * cdef class cudaExternalSemaphoreWaitNodeParams:             # <<<<<<<<<<<<<<
 *     """
 *     External semaphore wait node parameters
 */
struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams {
  PyObject_HEAD
  struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreWaitNodeParams *_ptr;
  int _ptr_owner;
  size_t _extSemArray_length;
  __pyx_t_4cuda_7ccudart_cudaExternalSemaphore_t *_extSemArray;
  size_t _paramsArray_length;
  struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreWaitParams *_paramsArray;
};


/* "cuda/cudart.pxd":1611
 *     cdef ccudart.cudaExternalSemaphoreWaitParams* _paramsArray
 * 
 * cdef class cudaTextureDesc:             # <<<<<<<<<<<<<<
 *     """
 *     CUDA texture descriptor
 */
struct __pyx_obj_4cuda_6cudart_cudaTextureDesc {
  PyObject_HEAD
  struct __pyx_t_4cuda_7ccudart_cudaTextureDesc *_ptr;
  int _ptr_owner;
};


/* "cuda/cudart.pxd":1651
 *     cdef bint _ptr_owner
 * 
 * cdef class CUuuid(CUuuid_st):             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart_CUuuid {
  struct __pyx_obj_4cuda_6cudart_CUuuid_st __pyx_base;
};


/* "cuda/cudart.pxd":1667
 *     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":1683
 *     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":1700
 *     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":1717
 *     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":1729
 *     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":1741
 *     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":1753
 *     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":1765
 *     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":1777
 *     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":1789
 *     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":1801
 *     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":1813
 *     pass
 * 
 * cdef class cudaSurfaceObject_t:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart_cudaSurfaceObject_t {
  PyObject_HEAD
  __pyx_t_4cuda_7ccudart_cudaSurfaceObject_t *_ptr;
  int _ptr_owner;
};


/* "cuda/cudart.pxd":1826
 *     cdef bint _ptr_owner
 * 
 * cdef class cudaTextureObject_t:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_6cudart_cudaTextureObject_t {
  PyObject_HEAD
  __pyx_t_4cuda_7ccudart_cudaTextureObject_t *_ptr;
  int _ptr_owner;
};


/* "cuda/cudart.pyx":9083
 * 
 * @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":9121
 *     """
 *     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]")
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 */
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":9981
 * 
 * @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":10061
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     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
 */
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":10064
 *         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]")
 *     cdef ccudart.cudaExternalSemaphore_t* cextSemArray = NULL
 */
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":10093
 * 
 * @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":10180
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     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
 */
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":10183
 *         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]")
 *     cdef ccudart.cudaExternalSemaphore_t* cextSemArray = NULL
 */
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":13843
 * 
 * @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":13892
 *     """
 *     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):
 */
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":13894
 *     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):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dataSizes' is not instance of type (expected List[int]")
 *     pylist = [utils.HelperCUmem_range_attribute(pyattributes, pydataSizes) for (pyattributes, pydataSizes) in zip(attributes, dataSizes)]
 */
struct __pyx_obj_4cuda_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":14531
 * 
 * @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":14560
 *     """
 *     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]")
 *     if not isinstance(memPool, (cudaMemPool_t, cuda.CUmemoryPool)):
 */
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":15897
 * 
 * @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":15993
 *     """
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */
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":16193
 * 
 * @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":16246
 *     """
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */
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":16268
 * 
 * @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":16334
 *     """
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */
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":16482
 * 
 * @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":16528
 *     """
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */
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":16614
 * 
 * @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":16661
 *     """
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */
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":16747
 * 
 * @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":16797
 *         raise TypeError("Argument 'childGraph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(childGraph)))
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */
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":16853
 * 
 * @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":16897
 *     """
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */
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":16918
 * 
 * @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":16968
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */
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":17058
 * 
 * @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":17111
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */
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":17201
 * 
 * @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":17254
 *     """
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */
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":17351
 * 
 * @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":17404
 *     """
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */
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":17499
 * 
 * @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":17583
 *     """
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */
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":17638
 * 
 * @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":17699
 *     """
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */
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":18262
 * 
 * @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":18299
 *     """
 *     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_
 */
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":18302
 *         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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */
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":18334
 * 
 * @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":18372
 *     """
 *     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_
 */
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":18375
 *         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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */
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 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

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

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

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

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

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

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

/* 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____pyx_t_4cuda_7ccudart_cudaRoundMode(enum __pyx_t_4cuda_7ccudart_cudaRoundMode value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(enum __pyx_t_4cuda_7ccudart_cudaError value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaChannelFormatKind(enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemoryType(enum __pyx_t_4cuda_7ccudart_cudaMemoryType value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemcpyKind(enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaAccessProperty(enum __pyx_t_4cuda_7ccudart_cudaAccessProperty value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaStreamCaptureStatus(enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureStatus value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaStreamCaptureMode(enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy(enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy 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_cudaStreamUpdateCaptureDependenciesFlags(enum __pyx_t_4cuda_7ccudart_cudaStreamUpdateCaptureDependenciesFlags value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaUserObjectFlags(enum __pyx_t_4cuda_7ccudart_cudaUserObjectFlags value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaUserObjectRetainFlags(enum __pyx_t_4cuda_7ccudart_cudaUserObjectRetainFlags value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphicsRegisterFlags(enum __pyx_t_4cuda_7ccudart_cudaGraphicsRegisterFlags value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphicsMapFlags(enum __pyx_t_4cuda_7ccudart_cudaGraphicsMapFlags value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphicsCubeFace(enum __pyx_t_4cuda_7ccudart_cudaGraphicsCubeFace 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_cudaResourceType(enum __pyx_t_4cuda_7ccudart_cudaResourceType value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaResourceViewFormat(enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaFuncAttribute(enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaFuncCache(enum __pyx_t_4cuda_7ccudart_cudaFuncCache value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaSharedMemConfig(enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaSharedCarveout(enum __pyx_t_4cuda_7ccudart_cudaSharedCarveout value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaComputeMode(enum __pyx_t_4cuda_7ccudart_cudaComputeMode value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaLimit(enum __pyx_t_4cuda_7ccudart_cudaLimit value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemoryAdvise(enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemRangeAttribute(enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaOutputMode(enum __pyx_t_4cuda_7ccudart_cudaOutputMode value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesOptions(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesOptions value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGPUDirectRDMAWritesOrdering(enum __pyx_t_4cuda_7ccudart_cudaGPUDirectRDMAWritesOrdering value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemPoolAttr(enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemLocationType(enum __pyx_t_4cuda_7ccudart_cudaMemLocationType value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemAccessFlags(enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemAllocationType(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType(enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr(enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType(enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType(enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaCGScope(enum __pyx_t_4cuda_7ccudart_cudaCGScope value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphNodeType(enum __pyx_t_4cuda_7ccudart_cudaGraphNodeType value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphExecUpdateResult(enum __pyx_t_4cuda_7ccudart_cudaGraphExecUpdateResult value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGetDriverEntryPointFlags(enum __pyx_t_4cuda_7ccudart_cudaGetDriverEntryPointFlags value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphDebugDotFlags(enum __pyx_t_4cuda_7ccudart_cudaGraphDebugDotFlags value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphInstantiateFlags(enum __pyx_t_4cuda_7ccudart_cudaGraphInstantiateFlags value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaSurfaceBoundaryMode(enum __pyx_t_4cuda_7ccudart_cudaSurfaceBoundaryMode value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaSurfaceFormatMode(enum __pyx_t_4cuda_7ccudart_cudaSurfaceFormatMode value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaTextureAddressMode(enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaTextureFilterMode(enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaTextureReadMode(enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDataType_t(enum __pyx_t_4cuda_7ccudart_cudaDataType_t value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_libraryPropertyType_t(enum __pyx_t_4cuda_7ccudart_libraryPropertyType_t 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 *);

/* 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 __pyx_t_4cuda_7ccudart_cudaChannelFormatKind __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaChannelFormatKind(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaMemcpyKind(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaAccessProperty __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaAccessProperty(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaResourceType __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaResourceType(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaResourceViewFormat(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaMemoryType __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaMemoryType(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaMemLocationType __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaMemLocationType(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaMemAccessFlags(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaMemAllocationType(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaTextureAddressMode(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaTextureFilterMode(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaTextureReadMode(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaLimit __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaLimit(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaFuncCache __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaFuncCache(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaSharedMemConfig(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaError __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaError(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaStreamCaptureMode(PyObject *);

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

/* CIntFromPy.proto */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaFuncAttribute(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaMemoryAdvise(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaMemRangeAttribute(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType(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 'cuda.ccudart' */
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDeviceReset)(void); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDeviceSynchronize)(void); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDeviceSetLimit)(enum __pyx_t_4cuda_7ccudart_cudaLimit, size_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDeviceGetLimit)(size_t *, enum __pyx_t_4cuda_7ccudart_cudaLimit); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDeviceGetTexture1DLinearMaxWidth)(size_t *, struct __pyx_t_4cuda_7ccudart_cudaChannelFormatDesc const *, int); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDeviceGetCacheConfig)(enum __pyx_t_4cuda_7ccudart_cudaFuncCache *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDeviceGetStreamPriorityRange)(int *, int *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDeviceSetCacheConfig)(enum __pyx_t_4cuda_7ccudart_cudaFuncCache); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDeviceGetSharedMemConfig)(enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDeviceSetSharedMemConfig)(enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDeviceGetByPCIBusId)(int *, char const *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDeviceGetPCIBusId)(char *, int, int); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaIpcGetEventHandle)(__pyx_t_4cuda_7ccudart_cudaIpcEventHandle_t *, __pyx_t_4cuda_7ccudart_cudaEvent_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaIpcOpenEventHandle)(__pyx_t_4cuda_7ccudart_cudaEvent_t *, __pyx_t_4cuda_7ccudart_cudaIpcEventHandle_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaIpcGetMemHandle)(__pyx_t_4cuda_7ccudart_cudaIpcMemHandle_t *, void *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaIpcOpenMemHandle)(void **, __pyx_t_4cuda_7ccudart_cudaIpcMemHandle_t, unsigned int); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaIpcCloseMemHandle)(void *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDeviceFlushGPUDirectRDMAWrites)(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget, enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaThreadExit)(void); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaThreadSynchronize)(void); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaThreadSetLimit)(enum __pyx_t_4cuda_7ccudart_cudaLimit, size_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaThreadGetLimit)(size_t *, enum __pyx_t_4cuda_7ccudart_cudaLimit); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaThreadGetCacheConfig)(enum __pyx_t_4cuda_7ccudart_cudaFuncCache *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaThreadSetCacheConfig)(enum __pyx_t_4cuda_7ccudart_cudaFuncCache); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGetLastError)(void); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaPeekAtLastError)(void); /*proto*/
static char const *(*__pyx_f_4cuda_7ccudart_cudaGetErrorName)(__pyx_t_4cuda_7ccudart_cudaError_t); /*proto*/
static char const *(*__pyx_f_4cuda_7ccudart_cudaGetErrorString)(__pyx_t_4cuda_7ccudart_cudaError_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGetDeviceCount)(int *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGetDeviceProperties)(struct __pyx_t_4cuda_7ccudart_cudaDeviceProp *, int); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDeviceGetAttribute)(int *, enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr, int); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDeviceGetDefaultMemPool)(__pyx_t_4cuda_7ccudart_cudaMemPool_t *, int); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDeviceSetMemPool)(int, __pyx_t_4cuda_7ccudart_cudaMemPool_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDeviceGetMemPool)(__pyx_t_4cuda_7ccudart_cudaMemPool_t *, int); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDeviceGetNvSciSyncAttributes)(void *, int, int); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDeviceGetP2PAttribute)(int *, enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr, int, int); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaChooseDevice)(int *, struct __pyx_t_4cuda_7ccudart_cudaDeviceProp const *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaSetDevice)(int); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGetDevice)(int *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaSetDeviceFlags)(unsigned int); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGetDeviceFlags)(unsigned int *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaStreamCreate)(__pyx_t_4cuda_7ccudart_cudaStream_t *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaStreamCreateWithFlags)(__pyx_t_4cuda_7ccudart_cudaStream_t *, unsigned int); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaStreamCreateWithPriority)(__pyx_t_4cuda_7ccudart_cudaStream_t *, unsigned int, int); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaStreamGetPriority)(__pyx_t_4cuda_7ccudart_cudaStream_t, int *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaStreamGetFlags)(__pyx_t_4cuda_7ccudart_cudaStream_t, unsigned int *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaCtxResetPersistingL2Cache)(void); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaStreamCopyAttributes)(__pyx_t_4cuda_7ccudart_cudaStream_t, __pyx_t_4cuda_7ccudart_cudaStream_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaStreamGetAttribute)(__pyx_t_4cuda_7ccudart_cudaStream_t, enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID, union __pyx_t_4cuda_7ccudart_cudaStreamAttrValue *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaStreamSetAttribute)(__pyx_t_4cuda_7ccudart_cudaStream_t, enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID, union __pyx_t_4cuda_7ccudart_cudaStreamAttrValue const *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaStreamDestroy)(__pyx_t_4cuda_7ccudart_cudaStream_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaStreamWaitEvent)(__pyx_t_4cuda_7ccudart_cudaStream_t, __pyx_t_4cuda_7ccudart_cudaEvent_t, unsigned int); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaStreamAddCallback)(__pyx_t_4cuda_7ccudart_cudaStream_t, __pyx_t_4cuda_7ccudart_cudaStreamCallback_t, void *, unsigned int); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaStreamSynchronize)(__pyx_t_4cuda_7ccudart_cudaStream_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaStreamQuery)(__pyx_t_4cuda_7ccudart_cudaStream_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaStreamAttachMemAsync)(__pyx_t_4cuda_7ccudart_cudaStream_t, void *, size_t, unsigned int); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaStreamBeginCapture)(__pyx_t_4cuda_7ccudart_cudaStream_t, enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaThreadExchangeStreamCaptureMode)(enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaStreamEndCapture)(__pyx_t_4cuda_7ccudart_cudaStream_t, __pyx_t_4cuda_7ccudart_cudaGraph_t *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaStreamIsCapturing)(__pyx_t_4cuda_7ccudart_cudaStream_t, enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureStatus *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaStreamGetCaptureInfo)(__pyx_t_4cuda_7ccudart_cudaStream_t, enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureStatus *, unsigned PY_LONG_LONG *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaStreamGetCaptureInfo_v2)(__pyx_t_4cuda_7ccudart_cudaStream_t, enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureStatus *, unsigned PY_LONG_LONG *, __pyx_t_4cuda_7ccudart_cudaGraph_t *, __pyx_t_4cuda_7ccudart_cudaGraphNode_t const **, size_t *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaStreamUpdateCaptureDependencies)(__pyx_t_4cuda_7ccudart_cudaStream_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t *, size_t, unsigned int); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaEventCreate)(__pyx_t_4cuda_7ccudart_cudaEvent_t *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaEventCreateWithFlags)(__pyx_t_4cuda_7ccudart_cudaEvent_t *, unsigned int); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaEventRecord)(__pyx_t_4cuda_7ccudart_cudaEvent_t, __pyx_t_4cuda_7ccudart_cudaStream_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaEventRecordWithFlags)(__pyx_t_4cuda_7ccudart_cudaEvent_t, __pyx_t_4cuda_7ccudart_cudaStream_t, unsigned int); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaEventQuery)(__pyx_t_4cuda_7ccudart_cudaEvent_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaEventSynchronize)(__pyx_t_4cuda_7ccudart_cudaEvent_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaEventDestroy)(__pyx_t_4cuda_7ccudart_cudaEvent_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaEventElapsedTime)(float *, __pyx_t_4cuda_7ccudart_cudaEvent_t, __pyx_t_4cuda_7ccudart_cudaEvent_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaImportExternalMemory)(__pyx_t_4cuda_7ccudart_cudaExternalMemory_t *, struct __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleDesc const *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaExternalMemoryGetMappedBuffer)(void **, __pyx_t_4cuda_7ccudart_cudaExternalMemory_t, struct __pyx_t_4cuda_7ccudart_cudaExternalMemoryBufferDesc const *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaExternalMemoryGetMappedMipmappedArray)(__pyx_t_4cuda_7ccudart_cudaMipmappedArray_t *, __pyx_t_4cuda_7ccudart_cudaExternalMemory_t, struct __pyx_t_4cuda_7ccudart_cudaExternalMemoryMipmappedArrayDesc const *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDestroyExternalMemory)(__pyx_t_4cuda_7ccudart_cudaExternalMemory_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaImportExternalSemaphore)(__pyx_t_4cuda_7ccudart_cudaExternalSemaphore_t *, struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleDesc const *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaSignalExternalSemaphoresAsync)(__pyx_t_4cuda_7ccudart_cudaExternalSemaphore_t const *, struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreSignalParams const *, unsigned int, __pyx_t_4cuda_7ccudart_cudaStream_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaWaitExternalSemaphoresAsync)(__pyx_t_4cuda_7ccudart_cudaExternalSemaphore_t const *, struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreWaitParams const *, unsigned int, __pyx_t_4cuda_7ccudart_cudaStream_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDestroyExternalSemaphore)(__pyx_t_4cuda_7ccudart_cudaExternalSemaphore_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaFuncSetCacheConfig)(void const *, enum __pyx_t_4cuda_7ccudart_cudaFuncCache); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaFuncSetSharedMemConfig)(void const *, enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaFuncGetAttributes)(struct __pyx_t_4cuda_7ccudart_cudaFuncAttributes *, void const *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaFuncSetAttribute)(void const *, enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute, int); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaSetDoubleForDevice)(double *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaSetDoubleForHost)(double *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaLaunchHostFunc)(__pyx_t_4cuda_7ccudart_cudaStream_t, __pyx_t_4cuda_7ccudart_cudaHostFn_t, void *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaOccupancyMaxActiveBlocksPerMultiprocessor)(int *, void const *, int, size_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaOccupancyAvailableDynamicSMemPerBlock)(size_t *, void const *, int, int); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags)(int *, void const *, int, size_t, unsigned int); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMallocManaged)(void **, size_t, unsigned int); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMalloc)(void **, size_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMallocHost)(void **, size_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMallocPitch)(void **, size_t *, size_t, size_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMallocArray)(__pyx_t_4cuda_7ccudart_cudaArray_t *, struct __pyx_t_4cuda_7ccudart_cudaChannelFormatDesc const *, size_t, size_t, unsigned int); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaFree)(void *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaFreeHost)(void *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaFreeArray)(__pyx_t_4cuda_7ccudart_cudaArray_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaFreeMipmappedArray)(__pyx_t_4cuda_7ccudart_cudaMipmappedArray_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaHostAlloc)(void **, size_t, unsigned int); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaHostRegister)(void *, size_t, unsigned int); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaHostUnregister)(void *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaHostGetDevicePointer)(void **, void *, unsigned int); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaHostGetFlags)(unsigned int *, void *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMalloc3D)(struct __pyx_t_4cuda_7ccudart_cudaPitchedPtr *, struct __pyx_t_4cuda_7ccudart_cudaExtent); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMalloc3DArray)(__pyx_t_4cuda_7ccudart_cudaArray_t *, struct __pyx_t_4cuda_7ccudart_cudaChannelFormatDesc const *, struct __pyx_t_4cuda_7ccudart_cudaExtent, unsigned int); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMallocMipmappedArray)(__pyx_t_4cuda_7ccudart_cudaMipmappedArray_t *, struct __pyx_t_4cuda_7ccudart_cudaChannelFormatDesc const *, struct __pyx_t_4cuda_7ccudart_cudaExtent, unsigned int, unsigned int); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGetMipmappedArrayLevel)(__pyx_t_4cuda_7ccudart_cudaArray_t *, __pyx_t_4cuda_7ccudart_cudaMipmappedArray_const_t, unsigned int); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemcpy3D)(struct __pyx_t_4cuda_7ccudart_cudaMemcpy3DParms const *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemcpy3DPeer)(struct __pyx_t_4cuda_7ccudart_cudaMemcpy3DPeerParms const *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemcpy3DAsync)(struct __pyx_t_4cuda_7ccudart_cudaMemcpy3DParms const *, __pyx_t_4cuda_7ccudart_cudaStream_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemcpy3DPeerAsync)(struct __pyx_t_4cuda_7ccudart_cudaMemcpy3DPeerParms const *, __pyx_t_4cuda_7ccudart_cudaStream_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemGetInfo)(size_t *, size_t *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaArrayGetInfo)(struct __pyx_t_4cuda_7ccudart_cudaChannelFormatDesc *, struct __pyx_t_4cuda_7ccudart_cudaExtent *, unsigned int *, __pyx_t_4cuda_7ccudart_cudaArray_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaArrayGetPlane)(__pyx_t_4cuda_7ccudart_cudaArray_t *, __pyx_t_4cuda_7ccudart_cudaArray_t, unsigned int); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaArrayGetSparseProperties)(struct __pyx_t_4cuda_7ccudart_cudaArraySparseProperties *, __pyx_t_4cuda_7ccudart_cudaArray_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMipmappedArrayGetSparseProperties)(struct __pyx_t_4cuda_7ccudart_cudaArraySparseProperties *, __pyx_t_4cuda_7ccudart_cudaMipmappedArray_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemcpy)(void *, void const *, size_t, enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemcpyPeer)(void *, int, void const *, int, size_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemcpy2D)(void *, size_t, void const *, size_t, size_t, size_t, enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemcpy2DToArray)(__pyx_t_4cuda_7ccudart_cudaArray_t, size_t, size_t, void const *, size_t, size_t, size_t, enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemcpy2DFromArray)(void *, size_t, __pyx_t_4cuda_7ccudart_cudaArray_const_t, size_t, size_t, size_t, size_t, enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemcpy2DArrayToArray)(__pyx_t_4cuda_7ccudart_cudaArray_t, size_t, size_t, __pyx_t_4cuda_7ccudart_cudaArray_const_t, size_t, size_t, size_t, size_t, enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemcpyAsync)(void *, void const *, size_t, enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind, __pyx_t_4cuda_7ccudart_cudaStream_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemcpyPeerAsync)(void *, int, void const *, int, size_t, __pyx_t_4cuda_7ccudart_cudaStream_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemcpy2DAsync)(void *, size_t, void const *, size_t, size_t, size_t, enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind, __pyx_t_4cuda_7ccudart_cudaStream_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemcpy2DToArrayAsync)(__pyx_t_4cuda_7ccudart_cudaArray_t, size_t, size_t, void const *, size_t, size_t, size_t, enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind, __pyx_t_4cuda_7ccudart_cudaStream_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemcpy2DFromArrayAsync)(void *, size_t, __pyx_t_4cuda_7ccudart_cudaArray_const_t, size_t, size_t, size_t, size_t, enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind, __pyx_t_4cuda_7ccudart_cudaStream_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemset)(void *, int, size_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemset2D)(void *, size_t, int, size_t, size_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemset3D)(struct __pyx_t_4cuda_7ccudart_cudaPitchedPtr, int, struct __pyx_t_4cuda_7ccudart_cudaExtent); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemsetAsync)(void *, int, size_t, __pyx_t_4cuda_7ccudart_cudaStream_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemset2DAsync)(void *, size_t, int, size_t, size_t, __pyx_t_4cuda_7ccudart_cudaStream_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemset3DAsync)(struct __pyx_t_4cuda_7ccudart_cudaPitchedPtr, int, struct __pyx_t_4cuda_7ccudart_cudaExtent, __pyx_t_4cuda_7ccudart_cudaStream_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemPrefetchAsync)(void const *, size_t, int, __pyx_t_4cuda_7ccudart_cudaStream_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemAdvise)(void const *, size_t, enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise, int); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemRangeGetAttribute)(void *, size_t, enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute, void const *, size_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemRangeGetAttributes)(void **, size_t *, enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute *, size_t, void const *, size_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemcpyToArray)(__pyx_t_4cuda_7ccudart_cudaArray_t, size_t, size_t, void const *, size_t, enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemcpyFromArray)(void *, __pyx_t_4cuda_7ccudart_cudaArray_const_t, size_t, size_t, size_t, enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemcpyArrayToArray)(__pyx_t_4cuda_7ccudart_cudaArray_t, size_t, size_t, __pyx_t_4cuda_7ccudart_cudaArray_const_t, size_t, size_t, size_t, enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemcpyToArrayAsync)(__pyx_t_4cuda_7ccudart_cudaArray_t, size_t, size_t, void const *, size_t, enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind, __pyx_t_4cuda_7ccudart_cudaStream_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemcpyFromArrayAsync)(void *, __pyx_t_4cuda_7ccudart_cudaArray_const_t, size_t, size_t, size_t, enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind, __pyx_t_4cuda_7ccudart_cudaStream_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMallocAsync)(void **, size_t, __pyx_t_4cuda_7ccudart_cudaStream_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaFreeAsync)(void *, __pyx_t_4cuda_7ccudart_cudaStream_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemPoolTrimTo)(__pyx_t_4cuda_7ccudart_cudaMemPool_t, size_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemPoolSetAttribute)(__pyx_t_4cuda_7ccudart_cudaMemPool_t, enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr, void *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemPoolGetAttribute)(__pyx_t_4cuda_7ccudart_cudaMemPool_t, enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr, void *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemPoolSetAccess)(__pyx_t_4cuda_7ccudart_cudaMemPool_t, struct __pyx_t_4cuda_7ccudart_cudaMemAccessDesc const *, size_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemPoolGetAccess)(enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags *, __pyx_t_4cuda_7ccudart_cudaMemPool_t, struct __pyx_t_4cuda_7ccudart_cudaMemLocation *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemPoolCreate)(__pyx_t_4cuda_7ccudart_cudaMemPool_t *, struct __pyx_t_4cuda_7ccudart_cudaMemPoolProps const *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemPoolDestroy)(__pyx_t_4cuda_7ccudart_cudaMemPool_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMallocFromPoolAsync)(void **, size_t, __pyx_t_4cuda_7ccudart_cudaMemPool_t, __pyx_t_4cuda_7ccudart_cudaStream_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemPoolExportToShareableHandle)(void *, __pyx_t_4cuda_7ccudart_cudaMemPool_t, enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType, unsigned int); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemPoolImportFromShareableHandle)(__pyx_t_4cuda_7ccudart_cudaMemPool_t *, void *, enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType, unsigned int); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemPoolExportPointer)(struct __pyx_t_4cuda_7ccudart_cudaMemPoolPtrExportData *, void *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaMemPoolImportPointer)(void **, __pyx_t_4cuda_7ccudart_cudaMemPool_t, struct __pyx_t_4cuda_7ccudart_cudaMemPoolPtrExportData *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaPointerGetAttributes)(struct __pyx_t_4cuda_7ccudart_cudaPointerAttributes *, void const *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDeviceCanAccessPeer)(int *, int, int); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDeviceEnablePeerAccess)(int, unsigned int); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDeviceDisablePeerAccess)(int); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphicsUnregisterResource)(__pyx_t_4cuda_7ccudart_cudaGraphicsResource_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphicsResourceSetMapFlags)(__pyx_t_4cuda_7ccudart_cudaGraphicsResource_t, unsigned int); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphicsMapResources)(int, __pyx_t_4cuda_7ccudart_cudaGraphicsResource_t *, __pyx_t_4cuda_7ccudart_cudaStream_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphicsUnmapResources)(int, __pyx_t_4cuda_7ccudart_cudaGraphicsResource_t *, __pyx_t_4cuda_7ccudart_cudaStream_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphicsResourceGetMappedPointer)(void **, size_t *, __pyx_t_4cuda_7ccudart_cudaGraphicsResource_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphicsSubResourceGetMappedArray)(__pyx_t_4cuda_7ccudart_cudaArray_t *, __pyx_t_4cuda_7ccudart_cudaGraphicsResource_t, unsigned int, unsigned int); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphicsResourceGetMappedMipmappedArray)(__pyx_t_4cuda_7ccudart_cudaMipmappedArray_t *, __pyx_t_4cuda_7ccudart_cudaGraphicsResource_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGetChannelDesc)(struct __pyx_t_4cuda_7ccudart_cudaChannelFormatDesc *, __pyx_t_4cuda_7ccudart_cudaArray_const_t); /*proto*/
static struct __pyx_t_4cuda_7ccudart_cudaChannelFormatDesc (*__pyx_f_4cuda_7ccudart_cudaCreateChannelDesc)(int, int, int, int, enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaCreateTextureObject)(__pyx_t_4cuda_7ccudart_cudaTextureObject_t *, struct __pyx_t_4cuda_7ccudart_cudaResourceDesc const *, struct __pyx_t_4cuda_7ccudart_cudaTextureDesc const *, struct __pyx_t_4cuda_7ccudart_cudaResourceViewDesc const *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDestroyTextureObject)(__pyx_t_4cuda_7ccudart_cudaTextureObject_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGetTextureObjectResourceDesc)(struct __pyx_t_4cuda_7ccudart_cudaResourceDesc *, __pyx_t_4cuda_7ccudart_cudaTextureObject_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGetTextureObjectTextureDesc)(struct __pyx_t_4cuda_7ccudart_cudaTextureDesc *, __pyx_t_4cuda_7ccudart_cudaTextureObject_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGetTextureObjectResourceViewDesc)(struct __pyx_t_4cuda_7ccudart_cudaResourceViewDesc *, __pyx_t_4cuda_7ccudart_cudaTextureObject_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaCreateSurfaceObject)(__pyx_t_4cuda_7ccudart_cudaSurfaceObject_t *, struct __pyx_t_4cuda_7ccudart_cudaResourceDesc const *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDestroySurfaceObject)(__pyx_t_4cuda_7ccudart_cudaSurfaceObject_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGetSurfaceObjectResourceDesc)(struct __pyx_t_4cuda_7ccudart_cudaResourceDesc *, __pyx_t_4cuda_7ccudart_cudaSurfaceObject_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDriverGetVersion)(int *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaRuntimeGetVersion)(int *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphCreate)(__pyx_t_4cuda_7ccudart_cudaGraph_t *, unsigned int); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphAddKernelNode)(__pyx_t_4cuda_7ccudart_cudaGraphNode_t *, __pyx_t_4cuda_7ccudart_cudaGraph_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t const *, size_t, struct __pyx_t_4cuda_7ccudart_cudaKernelNodeParams const *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphKernelNodeGetParams)(__pyx_t_4cuda_7ccudart_cudaGraphNode_t, struct __pyx_t_4cuda_7ccudart_cudaKernelNodeParams *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphKernelNodeSetParams)(__pyx_t_4cuda_7ccudart_cudaGraphNode_t, struct __pyx_t_4cuda_7ccudart_cudaKernelNodeParams const *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphKernelNodeCopyAttributes)(__pyx_t_4cuda_7ccudart_cudaGraphNode_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphKernelNodeGetAttribute)(__pyx_t_4cuda_7ccudart_cudaGraphNode_t, enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID, union __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrValue *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphKernelNodeSetAttribute)(__pyx_t_4cuda_7ccudart_cudaGraphNode_t, enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID, union __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrValue const *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphAddMemcpyNode)(__pyx_t_4cuda_7ccudart_cudaGraphNode_t *, __pyx_t_4cuda_7ccudart_cudaGraph_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t const *, size_t, struct __pyx_t_4cuda_7ccudart_cudaMemcpy3DParms const *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphAddMemcpyNode1D)(__pyx_t_4cuda_7ccudart_cudaGraphNode_t *, __pyx_t_4cuda_7ccudart_cudaGraph_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t const *, size_t, void *, void const *, size_t, enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphMemcpyNodeGetParams)(__pyx_t_4cuda_7ccudart_cudaGraphNode_t, struct __pyx_t_4cuda_7ccudart_cudaMemcpy3DParms *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphMemcpyNodeSetParams)(__pyx_t_4cuda_7ccudart_cudaGraphNode_t, struct __pyx_t_4cuda_7ccudart_cudaMemcpy3DParms const *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphMemcpyNodeSetParams1D)(__pyx_t_4cuda_7ccudart_cudaGraphNode_t, void *, void const *, size_t, enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphAddMemsetNode)(__pyx_t_4cuda_7ccudart_cudaGraphNode_t *, __pyx_t_4cuda_7ccudart_cudaGraph_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t const *, size_t, struct __pyx_t_4cuda_7ccudart_cudaMemsetParams const *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphMemsetNodeGetParams)(__pyx_t_4cuda_7ccudart_cudaGraphNode_t, struct __pyx_t_4cuda_7ccudart_cudaMemsetParams *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphMemsetNodeSetParams)(__pyx_t_4cuda_7ccudart_cudaGraphNode_t, struct __pyx_t_4cuda_7ccudart_cudaMemsetParams const *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphAddHostNode)(__pyx_t_4cuda_7ccudart_cudaGraphNode_t *, __pyx_t_4cuda_7ccudart_cudaGraph_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t const *, size_t, struct __pyx_t_4cuda_7ccudart_cudaHostNodeParams const *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphHostNodeGetParams)(__pyx_t_4cuda_7ccudart_cudaGraphNode_t, struct __pyx_t_4cuda_7ccudart_cudaHostNodeParams *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphHostNodeSetParams)(__pyx_t_4cuda_7ccudart_cudaGraphNode_t, struct __pyx_t_4cuda_7ccudart_cudaHostNodeParams const *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphAddChildGraphNode)(__pyx_t_4cuda_7ccudart_cudaGraphNode_t *, __pyx_t_4cuda_7ccudart_cudaGraph_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t const *, size_t, __pyx_t_4cuda_7ccudart_cudaGraph_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphChildGraphNodeGetGraph)(__pyx_t_4cuda_7ccudart_cudaGraphNode_t, __pyx_t_4cuda_7ccudart_cudaGraph_t *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphAddEmptyNode)(__pyx_t_4cuda_7ccudart_cudaGraphNode_t *, __pyx_t_4cuda_7ccudart_cudaGraph_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t const *, size_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphAddEventRecordNode)(__pyx_t_4cuda_7ccudart_cudaGraphNode_t *, __pyx_t_4cuda_7ccudart_cudaGraph_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t const *, size_t, __pyx_t_4cuda_7ccudart_cudaEvent_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphEventRecordNodeGetEvent)(__pyx_t_4cuda_7ccudart_cudaGraphNode_t, __pyx_t_4cuda_7ccudart_cudaEvent_t *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphEventRecordNodeSetEvent)(__pyx_t_4cuda_7ccudart_cudaGraphNode_t, __pyx_t_4cuda_7ccudart_cudaEvent_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphAddEventWaitNode)(__pyx_t_4cuda_7ccudart_cudaGraphNode_t *, __pyx_t_4cuda_7ccudart_cudaGraph_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t const *, size_t, __pyx_t_4cuda_7ccudart_cudaEvent_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphEventWaitNodeGetEvent)(__pyx_t_4cuda_7ccudart_cudaGraphNode_t, __pyx_t_4cuda_7ccudart_cudaEvent_t *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphEventWaitNodeSetEvent)(__pyx_t_4cuda_7ccudart_cudaGraphNode_t, __pyx_t_4cuda_7ccudart_cudaEvent_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphAddExternalSemaphoresSignalNode)(__pyx_t_4cuda_7ccudart_cudaGraphNode_t *, __pyx_t_4cuda_7ccudart_cudaGraph_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t const *, size_t, struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreSignalNodeParams const *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphExternalSemaphoresSignalNodeGetParams)(__pyx_t_4cuda_7ccudart_cudaGraphNode_t, struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreSignalNodeParams *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphExternalSemaphoresSignalNodeSetParams)(__pyx_t_4cuda_7ccudart_cudaGraphNode_t, struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreSignalNodeParams const *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphAddExternalSemaphoresWaitNode)(__pyx_t_4cuda_7ccudart_cudaGraphNode_t *, __pyx_t_4cuda_7ccudart_cudaGraph_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t const *, size_t, struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreWaitNodeParams const *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphExternalSemaphoresWaitNodeGetParams)(__pyx_t_4cuda_7ccudart_cudaGraphNode_t, struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreWaitNodeParams *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphExternalSemaphoresWaitNodeSetParams)(__pyx_t_4cuda_7ccudart_cudaGraphNode_t, struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreWaitNodeParams const *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphAddMemAllocNode)(__pyx_t_4cuda_7ccudart_cudaGraphNode_t *, __pyx_t_4cuda_7ccudart_cudaGraph_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t const *, size_t, struct __pyx_t_4cuda_7ccudart_cudaMemAllocNodeParams *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphMemAllocNodeGetParams)(__pyx_t_4cuda_7ccudart_cudaGraphNode_t, struct __pyx_t_4cuda_7ccudart_cudaMemAllocNodeParams *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphAddMemFreeNode)(__pyx_t_4cuda_7ccudart_cudaGraphNode_t *, __pyx_t_4cuda_7ccudart_cudaGraph_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t const *, size_t, void *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphMemFreeNodeGetParams)(__pyx_t_4cuda_7ccudart_cudaGraphNode_t, void *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDeviceGraphMemTrim)(int); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDeviceGetGraphMemAttribute)(int, enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType, void *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaDeviceSetGraphMemAttribute)(int, enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType, void *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphClone)(__pyx_t_4cuda_7ccudart_cudaGraph_t *, __pyx_t_4cuda_7ccudart_cudaGraph_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphNodeFindInClone)(__pyx_t_4cuda_7ccudart_cudaGraphNode_t *, __pyx_t_4cuda_7ccudart_cudaGraphNode_t, __pyx_t_4cuda_7ccudart_cudaGraph_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphNodeGetType)(__pyx_t_4cuda_7ccudart_cudaGraphNode_t, enum __pyx_t_4cuda_7ccudart_cudaGraphNodeType *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphGetNodes)(__pyx_t_4cuda_7ccudart_cudaGraph_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t *, size_t *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphGetRootNodes)(__pyx_t_4cuda_7ccudart_cudaGraph_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t *, size_t *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphGetEdges)(__pyx_t_4cuda_7ccudart_cudaGraph_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t *, __pyx_t_4cuda_7ccudart_cudaGraphNode_t *, size_t *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphNodeGetDependencies)(__pyx_t_4cuda_7ccudart_cudaGraphNode_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t *, size_t *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphNodeGetDependentNodes)(__pyx_t_4cuda_7ccudart_cudaGraphNode_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t *, size_t *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphAddDependencies)(__pyx_t_4cuda_7ccudart_cudaGraph_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t const *, __pyx_t_4cuda_7ccudart_cudaGraphNode_t const *, size_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphRemoveDependencies)(__pyx_t_4cuda_7ccudart_cudaGraph_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t const *, __pyx_t_4cuda_7ccudart_cudaGraphNode_t const *, size_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphDestroyNode)(__pyx_t_4cuda_7ccudart_cudaGraphNode_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphInstantiate)(__pyx_t_4cuda_7ccudart_cudaGraphExec_t *, __pyx_t_4cuda_7ccudart_cudaGraph_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t *, char *, size_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphInstantiateWithFlags)(__pyx_t_4cuda_7ccudart_cudaGraphExec_t *, __pyx_t_4cuda_7ccudart_cudaGraph_t, unsigned PY_LONG_LONG); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphExecKernelNodeSetParams)(__pyx_t_4cuda_7ccudart_cudaGraphExec_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t, struct __pyx_t_4cuda_7ccudart_cudaKernelNodeParams const *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphExecMemcpyNodeSetParams)(__pyx_t_4cuda_7ccudart_cudaGraphExec_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t, struct __pyx_t_4cuda_7ccudart_cudaMemcpy3DParms const *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphExecMemcpyNodeSetParams1D)(__pyx_t_4cuda_7ccudart_cudaGraphExec_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t, void *, void const *, size_t, enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphExecMemsetNodeSetParams)(__pyx_t_4cuda_7ccudart_cudaGraphExec_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t, struct __pyx_t_4cuda_7ccudart_cudaMemsetParams const *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphExecHostNodeSetParams)(__pyx_t_4cuda_7ccudart_cudaGraphExec_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t, struct __pyx_t_4cuda_7ccudart_cudaHostNodeParams const *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphExecChildGraphNodeSetParams)(__pyx_t_4cuda_7ccudart_cudaGraphExec_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t, __pyx_t_4cuda_7ccudart_cudaGraph_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphExecEventRecordNodeSetEvent)(__pyx_t_4cuda_7ccudart_cudaGraphExec_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t, __pyx_t_4cuda_7ccudart_cudaEvent_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphExecEventWaitNodeSetEvent)(__pyx_t_4cuda_7ccudart_cudaGraphExec_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t, __pyx_t_4cuda_7ccudart_cudaEvent_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphExecExternalSemaphoresSignalNodeSetParams)(__pyx_t_4cuda_7ccudart_cudaGraphExec_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t, struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreSignalNodeParams const *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphExecExternalSemaphoresWaitNodeSetParams)(__pyx_t_4cuda_7ccudart_cudaGraphExec_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t, struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreWaitNodeParams const *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphExecUpdate)(__pyx_t_4cuda_7ccudart_cudaGraphExec_t, __pyx_t_4cuda_7ccudart_cudaGraph_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t *, enum __pyx_t_4cuda_7ccudart_cudaGraphExecUpdateResult *); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphUpload)(__pyx_t_4cuda_7ccudart_cudaGraphExec_t, __pyx_t_4cuda_7ccudart_cudaStream_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphLaunch)(__pyx_t_4cuda_7ccudart_cudaGraphExec_t, __pyx_t_4cuda_7ccudart_cudaStream_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphExecDestroy)(__pyx_t_4cuda_7ccudart_cudaGraphExec_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphDestroy)(__pyx_t_4cuda_7ccudart_cudaGraph_t); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphDebugDotPrint)(__pyx_t_4cuda_7ccudart_cudaGraph_t, char const *, unsigned int); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaUserObjectCreate)(__pyx_t_4cuda_7ccudart_cudaUserObject_t *, void *, __pyx_t_4cuda_7ccudart_cudaHostFn_t, unsigned int, unsigned int); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaUserObjectRetain)(__pyx_t_4cuda_7ccudart_cudaUserObject_t, unsigned int); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaUserObjectRelease)(__pyx_t_4cuda_7ccudart_cudaUserObject_t, unsigned int); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphRetainUserObject)(__pyx_t_4cuda_7ccudart_cudaGraph_t, __pyx_t_4cuda_7ccudart_cudaUserObject_t, unsigned int, unsigned int); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGraphReleaseUserObject)(__pyx_t_4cuda_7ccudart_cudaGraph_t, __pyx_t_4cuda_7ccudart_cudaUserObject_t, unsigned int); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGetDriverEntryPoint)(char const *, void **, unsigned PY_LONG_LONG); /*proto*/
static __pyx_t_4cuda_7ccudart_cudaError_t (*__pyx_f_4cuda_7ccudart_cudaGetExportTable)(void const **, __pyx_t_4cuda_7ccudart_cudaUUID_t const *); /*proto*/
static struct __pyx_t_4cuda_7ccudart_cudaPitchedPtr (*__pyx_f_4cuda_7ccudart_make_cudaPitchedPtr)(void *, size_t, size_t, size_t); /*proto*/
static struct __pyx_t_4cuda_7ccudart_cudaPos (*__pyx_f_4cuda_7ccudart_make_cudaPos)(size_t, size_t, size_t); /*proto*/
static struct __pyx_t_4cuda_7ccudart_cudaExtent (*__pyx_f_4cuda_7ccudart_make_cudaExtent)(size_t, size_t, size_t); /*proto*/

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

/* 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_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_CUstreamBatchMemOpParams_union = 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_CUkernelNodeAttrValue_union = 0;
static PyTypeObject *__pyx_ptype_4cuda_4cuda_CUstreamAttrValue_union = 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_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_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_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_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_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_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;

/* 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 '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_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_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_cudaStreamAttrValue = 0;
static PyTypeObject *__pyx_ptype_4cuda_6cudart_cudaKernelNodeAttrValue = 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_cudaTextureDesc = 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_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_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____pyx_t_4cuda_7ccudart_cudaTextureAddressMode(enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode *, Py_ssize_t); /*proto*/
static CYTHON_INLINE PyObject *__Pyx_carray_to_tuple_enum____pyx_t_4cuda_7ccudart_cudaTextureAddressMode(enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode *, Py_ssize_t); /*proto*/
static int __Pyx_carray_from_py_enum____pyx_t_4cuda_7ccudart_cudaTextureAddressMode(PyObject *, enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute>  __pyx_convert_vector_from_py_enum____pyx_t_4cuda_7ccudart_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_MemoryError;
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_RuntimeError;
static PyObject *__pyx_builtin_zip;
static PyObject *__pyx_builtin_OverflowError;
static PyObject *__pyx_builtin_IndexError;
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__48[] = "\n";
static const char __pyx_k__49[] = "";
static const char __pyx_k__65[] = "    ";
static const char __pyx_k__66[] = "_";
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_ptr[] = "_ptr";
static const char __pyx_k_res[] = "res :\n";
static const char __pyx_k_src[] = "src";
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_Enum[] = "Enum";
static const char __pyx_k_List[] = "List";
static const char __pyx_k__395[] = " < ";
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_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_prop[] = "prop";
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_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_ckind[] = "ckind";
static const char __pyx_k_close[] = "close";
static const char __pyx_k_cmode[] = "cmode";
static const char __pyx_k_count[] = "count";
static const char __pyx_k_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_graph[] = "graph";
static const char __pyx_k_hNode[] = "hNode";
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_pitch[] = "pitch : ";
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_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_advice[] = "advice";
static const char __pyx_k_cd_ptr[] = "cd_ptr";
static const char __pyx_k_cerror[] = "cerror";
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_ctypes[] = "ctypes";
static const char __pyx_k_cvalue[] = "cvalue";
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_pFlags[] = "pFlags";
static const char __pyx_k_pGraph[] = "pGraph";
static const char __pyx_k_pValue[] = "pValue";
static const char __pyx_k_params[] = "params :\n";
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_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_cconfig[] = "cconfig";
static const char __pyx_k_cdevPtr[] = "cdevPtr";
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_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_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_pitch2D[] = "pitch2D :\n";
static const char __pyx_k_pitch_2[] = "pitch";
static const char __pyx_k_prepare[] = "__prepare__";
static const char __pyx_k_pynodes[] = "pynodes";
static const char __pyx_k_resType[] = "resType : ";
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_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_cdst_ptr[] = "cdst_ptr";
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_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_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_planeIdx[] = "planeIdx";
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_allocType[] = "allocType : ";
static const char __pyx_k_attribute[] = "attribute";
static const char __pyx_k_blockSize[] = "blockSize";
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_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_enumerate[] = "enumerate";
static const char __pyx_k_event_out[] = "event_out";
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_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_pitch2D_2[] = "pitch2D";
static const char __pyx_k_poolProps[] = "poolProps :\n";
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_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_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_childGraph[] = "childGraph";
static const char __pyx_k_cpHost_ptr[] = "cpHost_ptr";
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_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_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_ptxVersion[] = "ptxVersion : ";
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_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_R_16BF[] = "CUDA_R_16BF";
static const char __pyx_k_MemoryError[] = "MemoryError";
static const char __pyx_k_PATCH_LEVEL[] = "PATCH_LEVEL";
static const char __pyx_k_accessDescs[] = "accessDescs : ";
static const char __pyx_k_addressMode[] = "addressMode : ";
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_cdevPtr_ptr[] = "cdevPtr_ptr";
static const char __pyx_k_chandleType[] = "chandleType";
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_cpRootNodes[] = "cpRootNodes";
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_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_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_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_pciDeviceID[] = "pciDeviceID : ";
static const char __pyx_k_pciDomainID[] = "pciDomainID : ";
static const char __pyx_k_poolProps_2[] = "poolProps";
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_RuntimeError[] = "RuntimeError";
static const char __pyx_k_Unknown_type[] = "Unknown type: ";
static const char __pyx_k_ccacheConfig[] = "ccacheConfig";
static const char __pyx_k_cextSemArray[] = "cextSemArray";
static const char __pyx_k_cfmtDesc_ptr[] = "cfmtDesc_ptr";
static const char __pyx_k_cparamsArray[] = "cparamsArray";
static const char __pyx_k_cudaDataType[] = "cudaDataType";
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_pitchInBytes[] = "pitchInBytes : ";
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_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_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_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_originalGraph[] = "originalGraph";
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_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_constSizeBytes[] = "constSizeBytes : ";
static const char __pyx_k_cpDependencies[] = "cpDependencies";
static const char __pyx_k_cpoolProps_ptr[] = "cpoolProps_ptr";
static const char __pyx_k_cresources_ptr[] = "cresources_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_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_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_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_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_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_cudaDeviceReset[] = "cudaDeviceReset";
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_pypDependencies[] = "pypDependencies";
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_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_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_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_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_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_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_List_is_too_small[] = "List is too small: ";
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_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_pypDependentNodes[] = "pypDependentNodes";
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_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_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_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_cudaThreadGetLimit[] = "cudaThreadGetLimit";
static const char __pyx_k_cudaThreadSetLimit[] = "cudaThreadSetLimit";
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_mipmapFilterMode_2[] = "mipmapFilterMode";
static const char __pyx_k_normalizedCoords_2[] = "normalizedCoords";
static const char __pyx_k_pNumDependentNodes[] = "pNumDependentNodes";
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_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_cudaErrorInvalidPtx[] = "cudaErrorInvalidPtx";
static const char __pyx_k_cudaFilterModePoint[] = "cudaFilterModePoint";
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_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_sharedMemPerBlock_2[] = "sharedMemPerBlock";
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_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_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_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_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_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_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_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_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_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_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_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_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_cudaSetDevice_line_7874[] = "cudaSetDevice (line 7874)";
static const char __pyx_k_cudaStreamCaptureStatus[] = "cudaStreamCaptureStatus";
static const char __pyx_k_cudaSurfaceBoundaryMode[] = "cudaSurfaceBoundaryMode";
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_cudaAccessPropertyNormal[] = "cudaAccessPropertyNormal";
static const char __pyx_k_cudaArrayColorAttachment[] = "cudaArrayColorAttachment";
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_cudaDevAttrManagedMemory[] = "cudaDevAttrManagedMemory";
static const char __pyx_k_cudaDeviceGetCacheConfig[] = "cudaDeviceGetCacheConfig";
static const char __pyx_k_cudaDeviceSetCacheConfig[] = "cudaDeviceSetCacheConfig";
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_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_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_cudaThreadGetCacheConfig[] = "cudaThreadGetCacheConfig";
static const char __pyx_k_cudaThreadSetCacheConfig[] = "cudaThreadSetCacheConfig";
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_persistingL2CacheMaxSize[] = "persistingL2CacheMaxSize : ";
static const char __pyx_k_preferredShmemCarveout_2[] = "preferredShmemCarveout";
static const char __pyx_k_sharedMemPerBlockOptin_2[] = "sharedMemPerBlockOptin";
static const char __pyx_k_CUuuid_st___reduce_cython[] = "CUuuid_st.__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_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_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_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_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_computePreemptionSupported[] = "computePreemptionSupported : ";
static const char __pyx_k_cudaChannelFormatKindFloat[] = "cudaChannelFormatKindFloat";
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_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_cudaExtent___reduce_cython[] = "cudaExtent.__reduce_cython__";
static const char __pyx_k_cudaFuncSetSharedMemConfig[] = "cudaFuncSetSharedMemConfig";
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_cudaStreamAttrValue_getPtr[] = "cudaStreamAttrValue.getPtr";
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_CUuuid_st___setstate_cython[] = "CUuuid_st.__setstate_cython__";
static const char __pyx_k_accessPolicyMaxWindowSize_2[] = "accessPolicyMaxWindowSize";
static const char __pyx_k_cudaAccessPropertyStreaming[] = "cudaAccessPropertyStreaming";
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_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_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_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_cudaImportExternalSemaphore[] = "cudaImportExternalSemaphore";
static const char __pyx_k_cudaKernelNodeParams_getPtr[] = "cudaKernelNodeParams.getPtr";
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_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_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_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_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_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_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_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_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_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_cooperativeMultiDeviceLaunch_2[] = "cooperativeMultiDeviceLaunch";
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_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_cudaKernelNodeAttrValue_getPtr[] = "cudaKernelNodeAttrValue.getPtr";
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_Argument_dst_is_not_instance_of[] = "Argument 'dst' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found ";
static const char __pyx_k_Argument_end_is_not_instance_of[] = "Argument 'end' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found ";
static const char __pyx_k_Argument_hGraph_is_not_instance[] = "Argument 'hGraph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found ";
static const char __pyx_k_Argument_object_is_not_instance[] = "Argument 'object' is not instance of type (expected <class 'cudart.cudaUserObject_t, cuda.CUuserObject'>, found ";
static const char __pyx_k_Argument_src_is_not_instance_of[] = "Argument 'src' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found ";
static const char __pyx_k_Argument_stream_is_not_instance[] = "Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found ";
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 (cudaGetDeviceCount() - 1).\n\n    Any device memory subsequently allocated from this host thread using\n    cudaMalloc(), cudaMallocPitch() or cudaMallocArray() will be physically\n    resident on `device`. Any host memory allocated from this host thread\n    using cudaMallocHost() or cudaHostAlloc() or cudaHostRegister() will\n    have its lifetime associated with `device`. Any streams or events\n    created from this host thread will be associated with `device`. Any\n    kernels launched from this host thread using the <<<>>> operator or\n    cudaLaunchKernel() will be 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.\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        cudaSuccess\n        cudaErrorInvalidDevice\n        cudaErrorDeviceAlreadyInUse\n    None\n        None\n\n    See Also\n    --------\n    cudaGetDeviceCount\n    cudaGetDevice\n    cudaGetDeviceProperties\n    cudaChooseDevice\n    cuCtxSetCurrent\n    ";
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_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_cudaKernelNodeParams___setstate[] = "cudaKernelNodeParams.__setstate_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_childGraph_is_not_insta[] = "Argument 'childGraph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found ";
static const char __pyx_k_Argument_clonedGraph_is_not_inst[] = "Argument 'clonedGraph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, 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_event_is_not_instance_o[] = "Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found ";
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_graphExec_is_not_instan[] = "Argument 'graphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found ";
static const char __pyx_k_Argument_graph_is_not_instance_o[] = "Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found ";
static const char __pyx_k_Argument_hDst_is_not_instance_of[] = "Argument 'hDst' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found ";
static const char __pyx_k_Argument_hGraphExec_is_not_insta[] = "Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found ";
static const char __pyx_k_Argument_hNode_is_not_instance_o[] = "Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found ";
static const char __pyx_k_Argument_hSrc_is_not_instance_of[] = "Argument 'hSrc' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found ";
static const char __pyx_k_Argument_hStream_is_not_instance[] = "Argument 'hStream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found ";
static const char __pyx_k_Argument_memPool_is_not_instance[] = "Argument 'memPool' is not instance of type (expected <class 'cudart.cudaMemPool_t, cuda.CUmemoryPool'>, found ";
static const char __pyx_k_Argument_node_is_not_instance_of[] = "Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found ";
static const char __pyx_k_Argument_originalGraph_is_not_in[] = "Argument 'originalGraph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found ";
static const char __pyx_k_Argument_originalNode_is_not_ins[] = "Argument 'originalNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, 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_paramsArray_is_not_inst[] = "Argument 'paramsArray' is not instance of type (expected List[ccudart.cudaExternalSemaphoreSignalParams]";
static const char __pyx_k_Argument_start_is_not_instance_o[] = "Argument 'start' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, 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_Failed_to_allocate_length_x_size[] = "Failed to allocate length x size memory: 1x";
static const char __pyx_k_canUseHostPointerForRegisteredMe[] = "canUseHostPointerForRegisteredMem : ";
static const char __pyx_k_cudaAccessPolicyWindow___setstat[] = "cudaAccessPolicyWindow.__setstate_cython__";
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_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_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_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_cudaFuncAttributeMaxDynamicShare[] = "cudaFuncAttributeMaxDynamicSharedMemorySize";
static const char __pyx_k_cudaFuncAttributePreferredShared[] = "cudaFuncAttributePreferredSharedMemoryCarveout";
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_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_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_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_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_cudaKernelNodeAttrValue___reduce[] = "cudaKernelNodeAttrValue.__reduce_cython__";
static const char __pyx_k_cudaKernelNodeAttrValue___setsta[] = "cudaKernelNodeAttrValue.__setstate_cython__";
static const char __pyx_k_cudaKernelNodeAttributeAccessPol[] = "cudaKernelNodeAttributeAccessPolicyWindow";
static const char __pyx_k_cudaKernelNodeAttributeCooperati[] = "cudaKernelNodeAttributeCooperative";
static const char __pyx_k_cudaKernelNodeParams___reduce_cy[] = "cudaKernelNodeParams.__reduce_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_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_cudaStreamAttrValue___reduce_cyt[] = "cudaStreamAttrValue.__reduce_cython__";
static const char __pyx_k_cudaStreamAttrValue___setstate_c[] = "cudaStreamAttrValue.__setstate_cython__";
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_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_pageableMemoryAccessUsesHostPage[] = "pageableMemoryAccessUsesHostPageTables : ";
static const char __pyx_k_singleToDoublePrecisionPerfRatio[] = "singleToDoublePrecisionPerfRatio : ";
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_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_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_Failed_to_allocate_length_x_size_2[] = "Failed to allocate length x size memory: ";
static const char __pyx_k_canUseHostPointerForRegisteredMe_2[] = "canUseHostPointerForRegisteredMem";
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_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_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_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_childGraph_is_not_insta;
static PyObject *__pyx_kp_u_Argument_clonedGraph_is_not_inst;
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_dst_is_not_instance_of;
static PyObject *__pyx_kp_u_Argument_end_is_not_instance_of;
static PyObject *__pyx_kp_u_Argument_event_is_not_instance_o;
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_graphExec_is_not_instan;
static PyObject *__pyx_kp_u_Argument_graph_is_not_instance_o;
static PyObject *__pyx_kp_u_Argument_hDst_is_not_instance_of;
static PyObject *__pyx_kp_u_Argument_hGraphExec_is_not_insta;
static PyObject *__pyx_kp_u_Argument_hGraph_is_not_instance;
static PyObject *__pyx_kp_u_Argument_hNode_is_not_instance_o;
static PyObject *__pyx_kp_u_Argument_hSrc_is_not_instance_of;
static PyObject *__pyx_kp_u_Argument_hStream_is_not_instance;
static PyObject *__pyx_kp_u_Argument_memPool_is_not_instance;
static PyObject *__pyx_kp_u_Argument_node_is_not_instance_of;
static PyObject *__pyx_kp_u_Argument_object_is_not_instance;
static PyObject *__pyx_kp_u_Argument_originalGraph_is_not_in;
static PyObject *__pyx_kp_u_Argument_originalNode_is_not_ins;
static PyObject *__pyx_kp_u_Argument_pDependencies_is_not_in;
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_src_is_not_instance_of;
static PyObject *__pyx_kp_u_Argument_start_is_not_instance_o;
static PyObject *__pyx_kp_u_Argument_stream_is_not_instance;
static PyObject *__pyx_kp_u_Argument_to_is_not_instance_of_t;
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_n_s_CUDA_IPC_HANDLE_SIZE;
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_8I;
static PyObject *__pyx_n_s_CUDA_R_8U;
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_u_ECCEnabled;
static PyObject *__pyx_n_s_ECCEnabled_2;
static PyObject *__pyx_n_s_Enum;
static PyObject *__pyx_kp_u_Failed_to_allocate_length_x_size;
static PyObject *__pyx_kp_u_Failed_to_allocate_length_x_size_2;
static PyObject *__pyx_n_s_IndexError;
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_n_s_RuntimeError;
static PyObject *__pyx_kp_u_Set_device_to_be_used_for_GPU_e;
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__395;
static PyObject *__pyx_kp_u__48;
static PyObject *__pyx_kp_u__49;
static PyObject *__pyx_kp_u__65;
static PyObject *__pyx_n_u__66;
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_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_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_cattr;
static PyObject *__pyx_n_s_cattribute;
static PyObject *__pyx_n_s_cattributes;
static PyObject *__pyx_n_s_cbufferDesc_ptr;
static PyObject *__pyx_n_s_ccacheConfig;
static PyObject *__pyx_n_s_cconfig;
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_cdevPtr;
static PyObject *__pyx_n_s_cdevPtr_ptr;
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_cerror;
static PyObject *__pyx_n_s_cexportData_ptr;
static PyObject *__pyx_n_s_cextSemArray;
static PyObject *__pyx_n_s_cf;
static PyObject *__pyx_n_s_cfmtDesc_ptr;
static PyObject *__pyx_n_s_cfrom;
static PyObject *__pyx_n_s_cfunc;
static PyObject *__pyx_n_s_cfunc_ptr;
static PyObject *__pyx_n_s_chandleType;
static PyObject *__pyx_n_s_childGraph;
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_n_s_cmemHandleDesc_ptr;
static PyObject *__pyx_n_s_cmipmapDesc_ptr;
static PyObject *__pyx_n_s_cmode;
static PyObject *__pyx_n_s_cnodeParams_ptr;
static PyObject *__pyx_n_s_cnodes;
static PyObject *__pyx_n_s_cnvSciSyncAttrList_ptr;
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_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_count;
static PyObject *__pyx_n_s_cpCopyParams_ptr;
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_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_cresources_ptr;
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_ctarget;
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_cudaArrayGetInfo;
static PyObject *__pyx_n_s_cudaArrayGetPlane;
static PyObject *__pyx_n_s_cudaArrayGetSparseProperties;
static PyObject *__pyx_n_s_cudaArrayLayered;
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_u_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_u_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_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_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_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_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_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_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_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_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_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_u_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_u_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_cudaFuncAttributeMax;
static PyObject *__pyx_n_s_cudaFuncAttributeMaxDynamicShare;
static PyObject *__pyx_n_s_cudaFuncAttributePreferredShared;
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_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_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_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_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_cudaGraphNodeGetType;
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_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_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_u_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_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_u_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_u_cudaKernelNodeAttrValue;
static PyObject *__pyx_n_s_cudaKernelNodeAttrValue___reduce;
static PyObject *__pyx_n_s_cudaKernelNodeAttrValue___setsta;
static PyObject *__pyx_n_s_cudaKernelNodeAttrValue_getPtr;
static PyObject *__pyx_n_s_cudaKernelNodeAttributeAccessPol;
static PyObject *__pyx_n_s_cudaKernelNodeAttributeCooperati;
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_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_cudaMipmappedArrayGetSparsePrope;
static PyObject *__pyx_kp_u_cudaMipmappedArray_const_t;
static PyObject *__pyx_n_s_cudaMipmappedArray_const_t_2;
static PyObject *__pyx_n_u_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_u_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_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_7874;
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_u_cudaStreamAttrValue;
static PyObject *__pyx_n_s_cudaStreamAttrValue___reduce_cyt;
static PyObject *__pyx_n_s_cudaStreamAttrValue___setstate_c;
static PyObject *__pyx_n_s_cudaStreamAttrValue_getPtr;
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_u_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_u_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_cudaTextureFilterMode;
static PyObject *__pyx_kp_u_cudaTextureObject_t;
static PyObject *__pyx_n_s_cudaTextureObject_t_2;
static PyObject *__pyx_n_u_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_cudaThreadGetCacheConfig;
static PyObject *__pyx_n_s_cudaThreadGetLimit;
static PyObject *__pyx_n_s_cudaThreadSetCacheConfig;
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_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_cvoidStarHelper_ptr;
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_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_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_n_s_event;
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_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_import;
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_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_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_n_s_numAttributes;
static PyObject *__pyx_n_s_numBlocks;
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_p;
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_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_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_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_path;
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_peerDevice;
static PyObject *__pyx_kp_u_persistingL2CacheMaxSize;
static PyObject *__pyx_n_s_persistingL2CacheMaxSize_2;
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_n_s_planeIdx;
static PyObject *__pyx_kp_u_poolProps;
static PyObject *__pyx_n_s_poolProps_2;
static PyObject *__pyx_n_s_ppExportTable;
static PyObject *__pyx_kp_u_preferredShmemCarveout;
static PyObject *__pyx_n_s_preferredShmemCarveout_2;
static PyObject *__pyx_n_s_prepare;
static PyObject *__pyx_n_s_priority;
static PyObject *__pyx_n_s_prop;
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_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_pypDependencies;
static PyObject *__pyx_n_s_pypDependentNodes;
static PyObject *__pyx_n_s_pypRootNodes;
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_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_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_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_n_s_value;
static PyObject *__pyx_kp_u_value_2;
static PyObject *__pyx_n_s_value_out;
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 void __pyx_pf_4cuda_6cudart_11cudaArray_t_4__dealloc__(struct __pyx_obj_4cuda_6cudart_cudaArray_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_11cudaArray_t_6__repr__(struct __pyx_obj_4cuda_6cudart_cudaArray_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_11cudaArray_t_8__index__(struct __pyx_obj_4cuda_6cudart_cudaArray_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_11cudaArray_t_10__int__(struct __pyx_obj_4cuda_6cudart_cudaArray_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_11cudaArray_t_12getPtr(struct __pyx_obj_4cuda_6cudart_cudaArray_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_11cudaArray_t_14__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaArray_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_11cudaArray_t_16__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 void __pyx_pf_4cuda_6cudart_17cudaArray_const_t_4__dealloc__(struct __pyx_obj_4cuda_6cudart_cudaArray_const_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_17cudaArray_const_t_6__repr__(struct __pyx_obj_4cuda_6cudart_cudaArray_const_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_17cudaArray_const_t_8__index__(struct __pyx_obj_4cuda_6cudart_cudaArray_const_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_17cudaArray_const_t_10__int__(struct __pyx_obj_4cuda_6cudart_cudaArray_const_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_17cudaArray_const_t_12getPtr(struct __pyx_obj_4cuda_6cudart_cudaArray_const_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_17cudaArray_const_t_14__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_16__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 void __pyx_pf_4cuda_6cudart_20cudaMipmappedArray_t_4__dealloc__(struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaMipmappedArray_t_6__repr__(struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaMipmappedArray_t_8__index__(struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaMipmappedArray_t_10__int__(struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaMipmappedArray_t_12getPtr(struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaMipmappedArray_t_14__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaMipmappedArray_t_16__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 void __pyx_pf_4cuda_6cudart_26cudaMipmappedArray_const_t_4__dealloc__(struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_const_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_26cudaMipmappedArray_const_t_6__repr__(struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_const_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_26cudaMipmappedArray_const_t_8__index__(struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_const_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_26cudaMipmappedArray_const_t_10__int__(struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_const_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_26cudaMipmappedArray_const_t_12getPtr(struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_const_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_26cudaMipmappedArray_const_t_14__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_16__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 void __pyx_pf_4cuda_6cudart_22cudaGraphicsResource_t_4__dealloc__(struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_22cudaGraphicsResource_t_6__repr__(struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_22cudaGraphicsResource_t_8__index__(struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_22cudaGraphicsResource_t_10__int__(struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_22cudaGraphicsResource_t_12getPtr(struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_22cudaGraphicsResource_t_14__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_22cudaGraphicsResource_t_16__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 void __pyx_pf_4cuda_6cudart_20cudaExternalMemory_t_4__dealloc__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemory_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaExternalMemory_t_6__repr__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemory_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaExternalMemory_t_8__index__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemory_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaExternalMemory_t_10__int__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemory_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaExternalMemory_t_12getPtr(struct __pyx_obj_4cuda_6cudart_cudaExternalMemory_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaExternalMemory_t_14__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalMemory_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaExternalMemory_t_16__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 void __pyx_pf_4cuda_6cudart_23cudaExternalSemaphore_t_4__dealloc__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphore_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_23cudaExternalSemaphore_t_6__repr__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphore_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_23cudaExternalSemaphore_t_8__index__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphore_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_23cudaExternalSemaphore_t_10__int__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphore_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_23cudaExternalSemaphore_t_12getPtr(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphore_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_23cudaExternalSemaphore_t_14__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphore_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_23cudaExternalSemaphore_t_16__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_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 void __pyx_pf_4cuda_6cudart_12cudaHostFn_t_4__dealloc__(struct __pyx_obj_4cuda_6cudart_cudaHostFn_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_12cudaHostFn_t_6__repr__(struct __pyx_obj_4cuda_6cudart_cudaHostFn_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_12cudaHostFn_t_8__index__(struct __pyx_obj_4cuda_6cudart_cudaHostFn_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_12cudaHostFn_t_10__int__(struct __pyx_obj_4cuda_6cudart_cudaHostFn_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_12cudaHostFn_t_12getPtr(struct __pyx_obj_4cuda_6cudart_cudaHostFn_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_12cudaHostFn_t_14__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaHostFn_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_12cudaHostFn_t_16__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 void __pyx_pf_4cuda_6cudart_20cudaStreamCallback_t_4__dealloc__(struct __pyx_obj_4cuda_6cudart_cudaStreamCallback_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaStreamCallback_t_6__repr__(struct __pyx_obj_4cuda_6cudart_cudaStreamCallback_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaStreamCallback_t_8__index__(struct __pyx_obj_4cuda_6cudart_cudaStreamCallback_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaStreamCallback_t_10__int__(struct __pyx_obj_4cuda_6cudart_cudaStreamCallback_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaStreamCallback_t_12getPtr(struct __pyx_obj_4cuda_6cudart_cudaStreamCallback_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaStreamCallback_t_14__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaStreamCallback_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaStreamCallback_t_16__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__(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__(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__(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_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__(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__(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__(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__(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, struct __pyx_obj_4cuda_6cudart_cudaArray_t *__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, struct __pyx_obj_4cuda_6cudart_cudaArray_t *__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__(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, struct __pyx_obj_4cuda_6cudart_cudaArray_t *__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, struct __pyx_obj_4cuda_6cudart_cudaArray_t *__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__(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__(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__(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, struct __pyx_obj_4cuda_6cudart_cudaHostFn_t *__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_19cudaStreamAttrValue___cinit__(struct __pyx_obj_4cuda_6cudart_cudaStreamAttrValue *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_19cudaStreamAttrValue_2__init__(struct __pyx_obj_4cuda_6cudart_cudaStreamAttrValue *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_6cudart_19cudaStreamAttrValue_4__dealloc__(struct __pyx_obj_4cuda_6cudart_cudaStreamAttrValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_19cudaStreamAttrValue_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaStreamAttrValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_19cudaStreamAttrValue_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaStreamAttrValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_19cudaStreamAttrValue_18accessPolicyWindow___get__(struct __pyx_obj_4cuda_6cudart_cudaStreamAttrValue *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_19cudaStreamAttrValue_18accessPolicyWindow_2__set__(struct __pyx_obj_4cuda_6cudart_cudaStreamAttrValue *__pyx_v_self, struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *__pyx_v_accessPolicyWindow); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_19cudaStreamAttrValue_10syncPolicy___get__(struct __pyx_obj_4cuda_6cudart_cudaStreamAttrValue *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_19cudaStreamAttrValue_10syncPolicy_2__set__(struct __pyx_obj_4cuda_6cudart_cudaStreamAttrValue *__pyx_v_self, PyObject *__pyx_v_syncPolicy); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_19cudaStreamAttrValue_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaStreamAttrValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_19cudaStreamAttrValue_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaStreamAttrValue *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_6cudart_23cudaKernelNodeAttrValue___cinit__(struct __pyx_obj_4cuda_6cudart_cudaKernelNodeAttrValue *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_6cudart_23cudaKernelNodeAttrValue_2__init__(struct __pyx_obj_4cuda_6cudart_cudaKernelNodeAttrValue *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_6cudart_23cudaKernelNodeAttrValue_4__dealloc__(struct __pyx_obj_4cuda_6cudart_cudaKernelNodeAttrValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_23cudaKernelNodeAttrValue_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaKernelNodeAttrValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_23cudaKernelNodeAttrValue_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaKernelNodeAttrValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_23cudaKernelNodeAttrValue_18accessPolicyWindow___get__(struct __pyx_obj_4cuda_6cudart_cudaKernelNodeAttrValue *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_23cudaKernelNodeAttrValue_18accessPolicyWindow_2__set__(struct __pyx_obj_4cuda_6cudart_cudaKernelNodeAttrValue *__pyx_v_self, struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *__pyx_v_accessPolicyWindow); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_23cudaKernelNodeAttrValue_11cooperative___get__(struct __pyx_obj_4cuda_6cudart_cudaKernelNodeAttrValue *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_6cudart_23cudaKernelNodeAttrValue_11cooperative_2__set__(struct __pyx_obj_4cuda_6cudart_cudaKernelNodeAttrValue *__pyx_v_self, int __pyx_v_cooperative); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_23cudaKernelNodeAttrValue_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaKernelNodeAttrValue *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_23cudaKernelNodeAttrValue_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaKernelNodeAttrValue *__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, struct __pyx_obj_4cuda_6cudart_cudaArray_t *__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, struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_t *__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__(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__(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__(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__(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__(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__(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__(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__(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__(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__(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__(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__(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__(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__(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__(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__(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__(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__(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__(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_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__(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_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__(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__(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_cudaDeviceReset(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_2cudaDeviceSynchronize(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_4cudaDeviceSetLimit(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_limit, size_t __pyx_v_value); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_6cudaDeviceGetLimit(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_limit); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_8cudaDeviceGetTexture1DLinearMaxWidth(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_10cudaDeviceGetCacheConfig(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_12cudaDeviceGetStreamPriorityRange(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_14cudaDeviceSetCacheConfig(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_cacheConfig); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_16cudaDeviceGetSharedMemConfig(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_18cudaDeviceSetSharedMemConfig(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_config); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_20cudaDeviceGetByPCIBusId(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_pciBusId); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_22cudaDeviceGetPCIBusId(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_length, int __pyx_v_device); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_24cudaIpcGetEventHandle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_event); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_26cudaIpcOpenEventHandle(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaIpcEventHandle_t *__pyx_v_handle); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_28cudaIpcGetMemHandle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_devPtr); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_30cudaIpcOpenMemHandle(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_32cudaIpcCloseMemHandle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_devPtr); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_34cudaDeviceFlushGPUDirectRDMAWrites(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_target, PyObject *__pyx_v_scope); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_36cudaThreadExit(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_38cudaThreadSynchronize(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_40cudaThreadSetLimit(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_limit, size_t __pyx_v_value); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_42cudaThreadGetLimit(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_limit); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_44cudaThreadGetCacheConfig(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_46cudaThreadSetCacheConfig(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_cacheConfig); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_48cudaGetLastError(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_50cudaPeekAtLastError(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_52cudaGetErrorName(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_error); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_54cudaGetErrorString(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_error); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_56cudaGetDeviceCount(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_58cudaGetDeviceProperties(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_device); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_60cudaDeviceGetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_attr, int __pyx_v_device); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_62cudaDeviceGetDefaultMemPool(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_device); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_64cudaDeviceSetMemPool(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_device, PyObject *__pyx_v_memPool); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_66cudaDeviceGetMemPool(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_device); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_68cudaDeviceGetNvSciSyncAttributes(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_device, int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_70cudaDeviceGetP2PAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_attr, int __pyx_v_srcDevice, int __pyx_v_dstDevice); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_72cudaChooseDevice(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_prop); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_74cudaSetDevice(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_device); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_76cudaGetDevice(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_78cudaSetDeviceFlags(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_80cudaGetDeviceFlags(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_82cudaStreamCreate(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_84cudaStreamCreateWithFlags(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_86cudaStreamCreateWithPriority(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_flags, int __pyx_v_priority); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_88cudaStreamGetPriority(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_90cudaStreamGetFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_92cudaCtxResetPersistingL2Cache(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_94cudaStreamCopyAttributes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, PyObject *__pyx_v_src); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_96cudaStreamGetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream, PyObject *__pyx_v_attr); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_98cudaStreamSetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream, PyObject *__pyx_v_attr, struct __pyx_obj_4cuda_6cudart_cudaStreamAttrValue *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_100cudaStreamDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_102cudaStreamWaitEvent(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_104cudaStreamAddCallback(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream, struct __pyx_obj_4cuda_6cudart_cudaStreamCallback_t *__pyx_v_callback, PyObject *__pyx_v_userData, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_106cudaStreamSynchronize(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_108cudaStreamQuery(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_110cudaStreamAttachMemAsync(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_112cudaStreamBeginCapture(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream, PyObject *__pyx_v_mode); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_114cudaThreadExchangeStreamCaptureMode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_mode); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_116cudaStreamEndCapture(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_118cudaStreamIsCapturing(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_120cudaStreamGetCaptureInfo(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_122cudaStreamGetCaptureInfo_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_124cudaStreamUpdateCaptureDependencies(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_126cudaEventCreate(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_128cudaEventCreateWithFlags(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_130cudaEventRecord(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_event, PyObject *__pyx_v_stream); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_132cudaEventRecordWithFlags(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_134cudaEventQuery(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_event); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_136cudaEventSynchronize(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_event); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_138cudaEventDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_event); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_140cudaEventElapsedTime(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_start, PyObject *__pyx_v_end); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_142cudaImportExternalMemory(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *__pyx_v_memHandleDesc); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_144cudaExternalMemoryGetMappedBuffer(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaExternalMemory_t *__pyx_v_extMem, struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryBufferDesc *__pyx_v_bufferDesc); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_146cudaExternalMemoryGetMappedMipmappedArray(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaExternalMemory_t *__pyx_v_extMem, struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *__pyx_v_mipmapDesc); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_148cudaDestroyExternalMemory(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaExternalMemory_t *__pyx_v_extMem); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_150cudaImportExternalSemaphore(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_152cudaSignalExternalSemaphoresAsync(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_154cudaWaitExternalSemaphoresAsync(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_156cudaDestroyExternalSemaphore(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphore_t *__pyx_v_extSem); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_158cudaFuncSetCacheConfig(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, PyObject *__pyx_v_cacheConfig); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_160cudaFuncSetSharedMemConfig(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, PyObject *__pyx_v_config); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_162cudaFuncGetAttributes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_164cudaFuncSetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, PyObject *__pyx_v_attr, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_166cudaSetDoubleForDevice(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_d); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_168cudaSetDoubleForHost(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_d); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_170cudaLaunchHostFunc(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream, struct __pyx_obj_4cuda_6cudart_cudaHostFn_t *__pyx_v_fn, PyObject *__pyx_v_userData); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_172cudaOccupancyMaxActiveBlocksPerMultiprocessor(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_174cudaOccupancyAvailableDynamicSMemPerBlock(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, int __pyx_v_numBlocks, int __pyx_v_blockSize); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_176cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(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_178cudaMallocManaged(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_size, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_180cudaMalloc(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_size); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_182cudaMallocHost(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_size); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_184cudaMallocPitch(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_width, size_t __pyx_v_height); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_186cudaMallocArray(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_188cudaFree(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_devPtr); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_190cudaFreeHost(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ptr); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_192cudaFreeArray(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaArray_t *__pyx_v_array); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_194cudaFreeMipmappedArray(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_t *__pyx_v_mipmappedArray); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_196cudaHostAlloc(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_size, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_198cudaHostRegister(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_200cudaHostUnregister(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ptr); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_202cudaHostGetDevicePointer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_pHost, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_204cudaHostGetFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_pHost); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_206cudaMalloc3D(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaExtent *__pyx_v_extent); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_208cudaMalloc3DArray(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_210cudaMallocMipmappedArray(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_212cudaGetMipmappedArrayLevel(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_const_t *__pyx_v_mipmappedArray, unsigned int __pyx_v_level); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_214cudaMemcpy3D(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_p); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_216cudaMemcpy3DPeer(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_v_p); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_218cudaMemcpy3DAsync(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_220cudaMemcpy3DPeerAsync(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_222cudaMemGetInfo(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_224cudaArrayGetInfo(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaArray_t *__pyx_v_array); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_226cudaArrayGetPlane(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaArray_t *__pyx_v_hArray, unsigned int __pyx_v_planeIdx); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_228cudaArrayGetSparseProperties(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaArray_t *__pyx_v_array); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_230cudaMipmappedArrayGetSparseProperties(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_t *__pyx_v_mipmap); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_232cudaMemcpy(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_234cudaMemcpyPeer(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_236cudaMemcpy2D(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_238cudaMemcpy2DToArray(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaArray_t *__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_240cudaMemcpy2DFromArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, size_t __pyx_v_dpitch, struct __pyx_obj_4cuda_6cudart_cudaArray_const_t *__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_242cudaMemcpy2DArrayToArray(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaArray_t *__pyx_v_dst, size_t __pyx_v_wOffsetDst, size_t __pyx_v_hOffsetDst, struct __pyx_obj_4cuda_6cudart_cudaArray_const_t *__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_244cudaMemcpyAsync(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_246cudaMemcpyPeerAsync(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_248cudaMemcpy2DAsync(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_250cudaMemcpy2DToArrayAsync(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaArray_t *__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_252cudaMemcpy2DFromArrayAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, size_t __pyx_v_dpitch, struct __pyx_obj_4cuda_6cudart_cudaArray_const_t *__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_254cudaMemset(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_256cudaMemset2D(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_258cudaMemset3D(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_260cudaMemsetAsync(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_262cudaMemset2DAsync(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_264cudaMemset3DAsync(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_266cudaMemPrefetchAsync(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_268cudaMemAdvise(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_270cudaMemRangeGetAttribute(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_272cudaMemRangeGetAttributes(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_274cudaMemcpyToArray(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaArray_t *__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_276cudaMemcpyFromArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, struct __pyx_obj_4cuda_6cudart_cudaArray_const_t *__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_278cudaMemcpyArrayToArray(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaArray_t *__pyx_v_dst, size_t __pyx_v_wOffsetDst, size_t __pyx_v_hOffsetDst, struct __pyx_obj_4cuda_6cudart_cudaArray_const_t *__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_280cudaMemcpyToArrayAsync(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaArray_t *__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_282cudaMemcpyFromArrayAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, struct __pyx_obj_4cuda_6cudart_cudaArray_const_t *__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_284cudaMallocAsync(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_size, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_286cudaFreeAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_devPtr, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_288cudaMemPoolTrimTo(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_memPool, size_t __pyx_v_minBytesToKeep); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_290cudaMemPoolSetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_memPool, PyObject *__pyx_v_attr, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_292cudaMemPoolGetAttribute(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_294cudaMemPoolSetAccess(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_296cudaMemPoolGetAccess(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_298cudaMemPoolCreate(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *__pyx_v_poolProps); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_300cudaMemPoolDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_memPool); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_302cudaMallocFromPoolAsync(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_304cudaMemPoolExportToShareableHandle(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_306cudaMemPoolImportFromShareableHandle(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_308cudaMemPoolExportPointer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ptr); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_310cudaMemPoolImportPointer(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_312cudaPointerGetAttributes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ptr); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_314cudaDeviceCanAccessPeer(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_device, int __pyx_v_peerDevice); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_316cudaDeviceEnablePeerAccess(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_peerDevice, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_318cudaDeviceDisablePeerAccess(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_peerDevice); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_320cudaGraphicsUnregisterResource(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *__pyx_v_resource); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_322cudaGraphicsResourceSetMapFlags(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *__pyx_v_resource, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_324cudaGraphicsMapResources(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_count, struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *__pyx_v_resources, PyObject *__pyx_v_stream); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_326cudaGraphicsUnmapResources(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_count, struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *__pyx_v_resources, PyObject *__pyx_v_stream); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_328cudaGraphicsResourceGetMappedPointer(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *__pyx_v_resource); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_330cudaGraphicsSubResourceGetMappedArray(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *__pyx_v_resource, unsigned int __pyx_v_arrayIndex, unsigned int __pyx_v_mipLevel); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_332cudaGraphicsResourceGetMappedMipmappedArray(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *__pyx_v_resource); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_334cudaGetChannelDesc(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaArray_const_t *__pyx_v_array); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_336cudaCreateChannelDesc(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_338cudaCreateTextureObject(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_340cudaDestroyTextureObject(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaTextureObject_t *__pyx_v_texObject); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_342cudaGetTextureObjectResourceDesc(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaTextureObject_t *__pyx_v_texObject); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_344cudaGetTextureObjectTextureDesc(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaTextureObject_t *__pyx_v_texObject); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_346cudaGetTextureObjectResourceViewDesc(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaTextureObject_t *__pyx_v_texObject); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_348cudaCreateSurfaceObject(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *__pyx_v_pResDesc); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_350cudaDestroySurfaceObject(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaSurfaceObject_t *__pyx_v_surfObject); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_352cudaGetSurfaceObjectResourceDesc(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaSurfaceObject_t *__pyx_v_surfObject); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_354cudaDriverGetVersion(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_356cudaRuntimeGetVersion(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_358cudaGraphCreate(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_360cudaGraphAddKernelNode(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_362cudaGraphKernelNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_364cudaGraphKernelNodeSetParams(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_366cudaGraphKernelNodeCopyAttributes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hSrc, PyObject *__pyx_v_hDst); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_368cudaGraphKernelNodeGetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, PyObject *__pyx_v_attr); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_370cudaGraphKernelNodeSetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, PyObject *__pyx_v_attr, struct __pyx_obj_4cuda_6cudart_cudaKernelNodeAttrValue *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_22cudaGraphAddMemcpyNode_genexpr(PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_372cudaGraphAddMemcpyNode(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_374cudaGraphAddMemcpyNode1D(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_376cudaGraphMemcpyNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_378cudaGraphMemcpyNodeSetParams(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_380cudaGraphMemcpyNodeSetParams1D(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_382cudaGraphAddMemsetNode(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_384cudaGraphMemsetNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_386cudaGraphMemsetNodeSetParams(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_388cudaGraphAddHostNode(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_390cudaGraphHostNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_392cudaGraphHostNodeSetParams(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_394cudaGraphAddChildGraphNode(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_396cudaGraphChildGraphNodeGetGraph(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_398cudaGraphAddEmptyNode(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_400cudaGraphAddEventRecordNode(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_402cudaGraphEventRecordNodeGetEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_404cudaGraphEventRecordNodeSetEvent(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_406cudaGraphAddEventWaitNode(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_408cudaGraphEventWaitNodeGetEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_410cudaGraphEventWaitNodeSetEvent(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_412cudaGraphAddExternalSemaphoresSignalNode(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_414cudaGraphExternalSemaphoresSignalNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_416cudaGraphExternalSemaphoresSignalNodeSetParams(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_418cudaGraphAddExternalSemaphoresWaitNode(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_420cudaGraphExternalSemaphoresWaitNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_422cudaGraphExternalSemaphoresWaitNodeSetParams(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_424cudaGraphAddMemAllocNode(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_426cudaGraphMemAllocNodeGetParams(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_428cudaGraphAddMemFreeNode(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_430cudaGraphMemFreeNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_432cudaDeviceGraphMemTrim(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_device); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_434cudaDeviceGetGraphMemAttribute(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_device, PyObject *__pyx_v_attr); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_436cudaDeviceSetGraphMemAttribute(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_device, PyObject *__pyx_v_attr, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_438cudaGraphClone(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_originalGraph); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_440cudaGraphNodeFindInClone(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_originalNode, PyObject *__pyx_v_clonedGraph); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_442cudaGraphNodeGetType(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_444cudaGraphGetNodes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, size_t __pyx_v_numNodes); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_446cudaGraphGetRootNodes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, size_t __pyx_v_pNumRootNodes); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_448cudaGraphGetEdges(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, size_t __pyx_v_numEdges); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_450cudaGraphNodeGetDependencies(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node, size_t __pyx_v_pNumDependencies); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_452cudaGraphNodeGetDependentNodes(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_454cudaGraphAddDependencies(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_456cudaGraphRemoveDependencies(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_458cudaGraphDestroyNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_460cudaGraphInstantiate(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_462cudaGraphInstantiateWithFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, unsigned PY_LONG_LONG __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_464cudaGraphExecKernelNodeSetParams(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_466cudaGraphExecMemcpyNodeSetParams(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_468cudaGraphExecMemcpyNodeSetParams1D(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_470cudaGraphExecMemsetNodeSetParams(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_472cudaGraphExecHostNodeSetParams(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_474cudaGraphExecChildGraphNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_node, PyObject *__pyx_v_childGraph); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_476cudaGraphExecEventRecordNodeSetEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, PyObject *__pyx_v_event); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_478cudaGraphExecEventWaitNodeSetEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, PyObject *__pyx_v_event); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_480cudaGraphExecExternalSemaphoresSignalNodeSetParams(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_482cudaGraphExecExternalSemaphoresWaitNodeSetParams(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_484cudaGraphExecUpdate(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hGraph); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_486cudaGraphUpload(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graphExec, PyObject *__pyx_v_stream); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_488cudaGraphLaunch(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graphExec, PyObject *__pyx_v_stream); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_490cudaGraphExecDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graphExec); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_492cudaGraphDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_494cudaGraphDebugDotPrint(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_496cudaUserObjectCreate(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ptr, struct __pyx_obj_4cuda_6cudart_cudaHostFn_t *__pyx_v_destroy, unsigned int __pyx_v_initialRefcount, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_498cudaUserObjectRetain(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_object, unsigned int __pyx_v_count); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_500cudaUserObjectRelease(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_object, unsigned int __pyx_v_count); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_502cudaGraphRetainUserObject(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_504cudaGraphReleaseUserObject(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_506cudaGetDriverEntryPoint(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_symbol, unsigned PY_LONG_LONG __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_508cudaGetExportTable(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaUUID_t *__pyx_v_pExportTableId); /* proto */
static PyObject *__pyx_pf_4cuda_6cudart_510make_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_512make_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_514make_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_516sizeof(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_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_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_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__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_cudaTextureDesc(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_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_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_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__51;
static PyObject *__pyx_tuple__53;
static PyObject *__pyx_tuple__56;
static PyObject *__pyx_tuple__58;
static PyObject *__pyx_tuple__61;
static PyObject *__pyx_tuple__63;
static PyObject *__pyx_tuple__68;
static PyObject *__pyx_tuple__70;
static PyObject *__pyx_tuple__73;
static PyObject *__pyx_tuple__75;
static PyObject *__pyx_tuple__78;
static PyObject *__pyx_tuple__80;
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__394;
static PyObject *__pyx_tuple__410;
static PyObject *__pyx_tuple__411;
static PyObject *__pyx_tuple__413;
static PyObject *__pyx_tuple__473;
static PyObject *__pyx_tuple__474;
static PyObject *__pyx_tuple__486;
static PyObject *__pyx_tuple__520;
static PyObject *__pyx_tuple__568;
static PyObject *__pyx_tuple__569;
static PyObject *__pyx_tuple__601;
static PyObject *__pyx_tuple__602;
static PyObject *__pyx_tuple__603;
static PyObject *__pyx_tuple__604;
static PyObject *__pyx_tuple__605;
static PyObject *__pyx_tuple__606;
static PyObject *__pyx_tuple__607;
static PyObject *__pyx_tuple__608;
static PyObject *__pyx_tuple__609;
static PyObject *__pyx_tuple__610;
static PyObject *__pyx_tuple__611;
static PyObject *__pyx_tuple__612;
static PyObject *__pyx_tuple__613;
static PyObject *__pyx_tuple__614;
static PyObject *__pyx_tuple__615;
static PyObject *__pyx_tuple__616;
static PyObject *__pyx_tuple__617;
static PyObject *__pyx_tuple__618;
static PyObject *__pyx_tuple__619;
static PyObject *__pyx_tuple__620;
static PyObject *__pyx_tuple__621;
static PyObject *__pyx_tuple__622;
static PyObject *__pyx_tuple__623;
static PyObject *__pyx_tuple__624;
static PyObject *__pyx_tuple__625;
static PyObject *__pyx_tuple__626;
static PyObject *__pyx_tuple__627;
static PyObject *__pyx_tuple__628;
static PyObject *__pyx_tuple__629;
static PyObject *__pyx_tuple__630;
static PyObject *__pyx_tuple__631;
static PyObject *__pyx_tuple__632;
static PyObject *__pyx_tuple__633;
static PyObject *__pyx_tuple__634;
static PyObject *__pyx_tuple__635;
static PyObject *__pyx_tuple__636;
static PyObject *__pyx_tuple__637;
static PyObject *__pyx_tuple__638;
static PyObject *__pyx_tuple__639;
static PyObject *__pyx_tuple__640;
static PyObject *__pyx_tuple__641;
static PyObject *__pyx_tuple__642;
static PyObject *__pyx_tuple__643;
static PyObject *__pyx_tuple__644;
static PyObject *__pyx_tuple__645;
static PyObject *__pyx_tuple__646;
static PyObject *__pyx_tuple__647;
static PyObject *__pyx_tuple__648;
static PyObject *__pyx_tuple__649;
static PyObject *__pyx_tuple__650;
static PyObject *__pyx_tuple__651;
static PyObject *__pyx_tuple__652;
static PyObject *__pyx_tuple__653;
static PyObject *__pyx_tuple__654;
static PyObject *__pyx_tuple__655;
static PyObject *__pyx_tuple__656;
static PyObject *__pyx_tuple__657;
static PyObject *__pyx_tuple__658;
static PyObject *__pyx_tuple__659;
static PyObject *__pyx_tuple__660;
static PyObject *__pyx_tuple__661;
static PyObject *__pyx_tuple__662;
static PyObject *__pyx_tuple__663;
static PyObject *__pyx_tuple__664;
static PyObject *__pyx_tuple__665;
static PyObject *__pyx_tuple__666;
static PyObject *__pyx_tuple__667;
static PyObject *__pyx_tuple__668;
static PyObject *__pyx_tuple__669;
static PyObject *__pyx_tuple__670;
static PyObject *__pyx_tuple__671;
static PyObject *__pyx_tuple__672;
static PyObject *__pyx_tuple__673;
static PyObject *__pyx_tuple__674;
static PyObject *__pyx_tuple__675;
static PyObject *__pyx_tuple__676;
static PyObject *__pyx_tuple__677;
static PyObject *__pyx_tuple__678;
static PyObject *__pyx_tuple__679;
static PyObject *__pyx_tuple__680;
static PyObject *__pyx_tuple__681;
static PyObject *__pyx_tuple__682;
static PyObject *__pyx_tuple__683;
static PyObject *__pyx_tuple__684;
static PyObject *__pyx_tuple__685;
static PyObject *__pyx_tuple__686;
static PyObject *__pyx_tuple__687;
static PyObject *__pyx_tuple__688;
static PyObject *__pyx_tuple__689;
static PyObject *__pyx_tuple__690;
static PyObject *__pyx_tuple__691;
static PyObject *__pyx_tuple__692;
static PyObject *__pyx_tuple__693;
static PyObject *__pyx_tuple__694;
static PyObject *__pyx_tuple__695;
static PyObject *__pyx_tuple__696;
static PyObject *__pyx_tuple__697;
static PyObject *__pyx_tuple__698;
static PyObject *__pyx_tuple__699;
static PyObject *__pyx_tuple__700;
static PyObject *__pyx_tuple__701;
static PyObject *__pyx_tuple__702;
static PyObject *__pyx_tuple__703;
static PyObject *__pyx_tuple__704;
static PyObject *__pyx_tuple__705;
static PyObject *__pyx_tuple__706;
static PyObject *__pyx_tuple__707;
static PyObject *__pyx_tuple__708;
static PyObject *__pyx_tuple__709;
static PyObject *__pyx_tuple__710;
static PyObject *__pyx_tuple__711;
static PyObject *__pyx_tuple__712;
static PyObject *__pyx_tuple__713;
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__50;
static PyObject *__pyx_codeobj__52;
static PyObject *__pyx_codeobj__54;
static PyObject *__pyx_codeobj__55;
static PyObject *__pyx_codeobj__57;
static PyObject *__pyx_codeobj__59;
static PyObject *__pyx_codeobj__60;
static PyObject *__pyx_codeobj__62;
static PyObject *__pyx_codeobj__64;
static PyObject *__pyx_codeobj__67;
static PyObject *__pyx_codeobj__69;
static PyObject *__pyx_codeobj__71;
static PyObject *__pyx_codeobj__72;
static PyObject *__pyx_codeobj__74;
static PyObject *__pyx_codeobj__76;
static PyObject *__pyx_codeobj__77;
static PyObject *__pyx_codeobj__79;
static PyObject *__pyx_codeobj__81;
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_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__333;
static PyObject *__pyx_codeobj__334;
static PyObject *__pyx_codeobj__335;
static PyObject *__pyx_codeobj__336;
static PyObject *__pyx_codeobj__337;
static PyObject *__pyx_codeobj__338;
static PyObject *__pyx_codeobj__339;
static PyObject *__pyx_codeobj__340;
static PyObject *__pyx_codeobj__341;
static PyObject *__pyx_codeobj__342;
static PyObject *__pyx_codeobj__343;
static PyObject *__pyx_codeobj__344;
static PyObject *__pyx_codeobj__345;
static PyObject *__pyx_codeobj__346;
static PyObject *__pyx_codeobj__347;
static PyObject *__pyx_codeobj__348;
static PyObject *__pyx_codeobj__349;
static PyObject *__pyx_codeobj__350;
static PyObject *__pyx_codeobj__351;
static PyObject *__pyx_codeobj__352;
static PyObject *__pyx_codeobj__353;
static PyObject *__pyx_codeobj__354;
static PyObject *__pyx_codeobj__355;
static PyObject *__pyx_codeobj__356;
static PyObject *__pyx_codeobj__357;
static PyObject *__pyx_codeobj__358;
static PyObject *__pyx_codeobj__359;
static PyObject *__pyx_codeobj__360;
static PyObject *__pyx_codeobj__361;
static PyObject *__pyx_codeobj__362;
static PyObject *__pyx_codeobj__363;
static PyObject *__pyx_codeobj__364;
static PyObject *__pyx_codeobj__365;
static PyObject *__pyx_codeobj__366;
static PyObject *__pyx_codeobj__367;
static PyObject *__pyx_codeobj__368;
static PyObject *__pyx_codeobj__369;
static PyObject *__pyx_codeobj__370;
static PyObject *__pyx_codeobj__371;
static PyObject *__pyx_codeobj__372;
static PyObject *__pyx_codeobj__373;
static PyObject *__pyx_codeobj__374;
static PyObject *__pyx_codeobj__375;
static PyObject *__pyx_codeobj__376;
static PyObject *__pyx_codeobj__377;
static PyObject *__pyx_codeobj__378;
static PyObject *__pyx_codeobj__379;
static PyObject *__pyx_codeobj__380;
static PyObject *__pyx_codeobj__381;
static PyObject *__pyx_codeobj__382;
static PyObject *__pyx_codeobj__383;
static PyObject *__pyx_codeobj__384;
static PyObject *__pyx_codeobj__385;
static PyObject *__pyx_codeobj__386;
static PyObject *__pyx_codeobj__387;
static PyObject *__pyx_codeobj__388;
static PyObject *__pyx_codeobj__389;
static PyObject *__pyx_codeobj__390;
static PyObject *__pyx_codeobj__391;
static PyObject *__pyx_codeobj__392;
static PyObject *__pyx_codeobj__393;
static PyObject *__pyx_codeobj__396;
static PyObject *__pyx_codeobj__397;
static PyObject *__pyx_codeobj__398;
static PyObject *__pyx_codeobj__399;
static PyObject *__pyx_codeobj__400;
static PyObject *__pyx_codeobj__401;
static PyObject *__pyx_codeobj__402;
static PyObject *__pyx_codeobj__403;
static PyObject *__pyx_codeobj__404;
static PyObject *__pyx_codeobj__405;
static PyObject *__pyx_codeobj__406;
static PyObject *__pyx_codeobj__407;
static PyObject *__pyx_codeobj__408;
static PyObject *__pyx_codeobj__409;
static PyObject *__pyx_codeobj__412;
static PyObject *__pyx_codeobj__414;
static PyObject *__pyx_codeobj__415;
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__435;
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__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__485;
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__501;
static PyObject *__pyx_codeobj__502;
static PyObject *__pyx_codeobj__503;
static PyObject *__pyx_codeobj__504;
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__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__566;
static PyObject *__pyx_codeobj__567;
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__579;
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;
/* Late includes */

/* "cuda/cudart.pyx":762
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

/* 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, 762, __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, 762, __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, 762, __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, 762, __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;
  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("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 762, 0, __PYX_ERR(0, 762, __pyx_L1_error));

  /* "cuda/cudart.pyx":763
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaArray_t *>calloc(1, sizeof(ccudart.cudaArray_t))
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":764
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr_owner = True             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaArray_t *>calloc(1, sizeof(ccudart.cudaArray_t))
 *             if self._ptr is NULL:
 */
    __pyx_v_self->_ptr_owner = 1;

    /* "cuda/cudart.pyx":765
 *         if _ptr == 0:
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaArray_t *>calloc(1, sizeof(ccudart.cudaArray_t))             # <<<<<<<<<<<<<<
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaArray_t)))
 */
    __pyx_v_self->_ptr = ((__pyx_t_4cuda_7ccudart_cudaArray_t *)calloc(1, (sizeof(__pyx_t_4cuda_7ccudart_cudaArray_t))));

    /* "cuda/cudart.pyx":766
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaArray_t *>calloc(1, sizeof(ccudart.cudaArray_t))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaArray_t)))
 *             self._ptr[0] = <ccudart.cudaArray_t>init_value
 */
    __pyx_t_1 = ((__pyx_v_self->_ptr == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":767
 *             self._ptr = <ccudart.cudaArray_t *>calloc(1, sizeof(ccudart.cudaArray_t))
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaArray_t)))             # <<<<<<<<<<<<<<
 *             self._ptr[0] = <ccudart.cudaArray_t>init_value
 *         else:
 */
      __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_4cuda_7ccudart_cudaArray_t))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 767, __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, 767, __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_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 767, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 767, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 767, __pyx_L1_error)

      /* "cuda/cudart.pyx":766
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaArray_t *>calloc(1, sizeof(ccudart.cudaArray_t))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaArray_t)))
 *             self._ptr[0] = <ccudart.cudaArray_t>init_value
 */
    }

    /* "cuda/cudart.pyx":768
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaArray_t)))
 *             self._ptr[0] = <ccudart.cudaArray_t>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr_owner = False
 */
    (__pyx_v_self->_ptr[0]) = ((__pyx_t_4cuda_7ccudart_cudaArray_t)__pyx_v_init_value);

    /* "cuda/cudart.pyx":763
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaArray_t *>calloc(1, sizeof(ccudart.cudaArray_t))
 */
    goto __pyx_L3;
  }

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

    /* "cuda/cudart.pyx":771
 *         else:
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaArray_t *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
 */
    __pyx_v_self->_ptr = ((__pyx_t_4cuda_7ccudart_cudaArray_t *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":762
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.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":772
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaArray_t *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(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], 772, 0, __PYX_ERR(0, 772, __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":774
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_11cudaArray_t_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_11cudaArray_t_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_11cudaArray_t_4__dealloc__(((struct __pyx_obj_4cuda_6cudart_cudaArray_t *)__pyx_v_self));

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

static void __pyx_pf_4cuda_6cudart_11cudaArray_t_4__dealloc__(struct __pyx_obj_4cuda_6cudart_cudaArray_t *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 774, 0, __PYX_ERR(0, 774, __pyx_L1_error));

  /* "cuda/cudart.pyx":775
 *         pass
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *     def __repr__(self):
 */
  __pyx_t_2 = ((__pyx_v_self->_ptr_owner == 1) != 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = ((__pyx_v_self->_ptr != NULL) != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":776
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         return '<cudaArray_t ' + str(hex(self.__int__())) + '>'
 */
    free(__pyx_v_self->_ptr);

    /* "cuda/cudart.pyx":775
 *         pass
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *     def __repr__(self):
 */
  }

  /* "cuda/cudart.pyx":774
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.cudaArray_t.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":777
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<cudaArray_t ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_11cudaArray_t_7__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_11cudaArray_t_7__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_11cudaArray_t_6__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_6__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], 777, 0, __PYX_ERR(0, 777, __pyx_L1_error));

  /* "cuda/cudart.pyx":778
 *             free(self._ptr)
 *     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, 778, __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, 778, __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, 778, __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, 778, __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, 778, __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, 778, __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":777
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 *     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":779
 *     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_9__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_11cudaArray_t_9__index__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__index__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_11cudaArray_t_8__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_8__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], 779, 0, __PYX_ERR(0, 779, __pyx_L1_error));

  /* "cuda/cudart.pyx":780
 *         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, 780, __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, 780, __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":779
 *     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":781
 *     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_11__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_11cudaArray_t_11__int__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_11cudaArray_t_10__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_10__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], 781, 0, __PYX_ERR(0, 781, __pyx_L1_error));

  /* "cuda/cudart.pyx":782
 *         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, 782, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":781
 *     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":783
 *     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_13getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_11cudaArray_t_12getPtr[] = "cudaArray_t.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_11cudaArray_t_13getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_11cudaArray_t_13getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_11cudaArray_t_12getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_11cudaArray_t_13getPtr(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_12getPtr(((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_12getPtr(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], 783, 0, __PYX_ERR(0, 783, __pyx_L1_error));

  /* "cuda/cudart.pyx":784
 *         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, 784, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":783
 *     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_15__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_11cudaArray_t_14__reduce_cython__[] = "cudaArray_t.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_11cudaArray_t_15__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_11cudaArray_t_15__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_11cudaArray_t_14__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_11cudaArray_t_15__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_14__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_14__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_17__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_11cudaArray_t_16__setstate_cython__[] = "cudaArray_t.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_11cudaArray_t_17__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_11cudaArray_t_17__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_11cudaArray_t_16__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_11cudaArray_t_17__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_16__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_16__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":796
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

/* 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, 796, __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, 796, __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, 796, __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, 796, __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;
  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("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 796, 0, __PYX_ERR(0, 796, __pyx_L1_error));

  /* "cuda/cudart.pyx":797
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaArray_const_t *>calloc(1, sizeof(ccudart.cudaArray_const_t))
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":798
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr_owner = True             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaArray_const_t *>calloc(1, sizeof(ccudart.cudaArray_const_t))
 *             if self._ptr is NULL:
 */
    __pyx_v_self->_ptr_owner = 1;

    /* "cuda/cudart.pyx":799
 *         if _ptr == 0:
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaArray_const_t *>calloc(1, sizeof(ccudart.cudaArray_const_t))             # <<<<<<<<<<<<<<
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaArray_const_t)))
 */
    __pyx_v_self->_ptr = ((__pyx_t_4cuda_7ccudart_cudaArray_const_t *)calloc(1, (sizeof(__pyx_t_4cuda_7ccudart_cudaArray_const_t))));

    /* "cuda/cudart.pyx":800
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaArray_const_t *>calloc(1, sizeof(ccudart.cudaArray_const_t))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaArray_const_t)))
 *             self._ptr[0] = <ccudart.cudaArray_const_t>init_value
 */
    __pyx_t_1 = ((__pyx_v_self->_ptr == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":801
 *             self._ptr = <ccudart.cudaArray_const_t *>calloc(1, sizeof(ccudart.cudaArray_const_t))
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaArray_const_t)))             # <<<<<<<<<<<<<<
 *             self._ptr[0] = <ccudart.cudaArray_const_t>init_value
 *         else:
 */
      __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_4cuda_7ccudart_cudaArray_const_t))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 801, __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, 801, __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_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 801, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 801, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 801, __pyx_L1_error)

      /* "cuda/cudart.pyx":800
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaArray_const_t *>calloc(1, sizeof(ccudart.cudaArray_const_t))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaArray_const_t)))
 *             self._ptr[0] = <ccudart.cudaArray_const_t>init_value
 */
    }

    /* "cuda/cudart.pyx":802
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaArray_const_t)))
 *             self._ptr[0] = <ccudart.cudaArray_const_t>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr_owner = False
 */
    (__pyx_v_self->_ptr[0]) = ((__pyx_t_4cuda_7ccudart_cudaArray_const_t)__pyx_v_init_value);

    /* "cuda/cudart.pyx":797
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaArray_const_t *>calloc(1, sizeof(ccudart.cudaArray_const_t))
 */
    goto __pyx_L3;
  }

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

    /* "cuda/cudart.pyx":805
 *         else:
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaArray_const_t *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
 */
    __pyx_v_self->_ptr = ((__pyx_t_4cuda_7ccudart_cudaArray_const_t *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":796
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.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":806
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaArray_const_t *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(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], 806, 0, __PYX_ERR(0, 806, __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":808
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_17cudaArray_const_t_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_17cudaArray_const_t_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_17cudaArray_const_t_4__dealloc__(((struct __pyx_obj_4cuda_6cudart_cudaArray_const_t *)__pyx_v_self));

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

static void __pyx_pf_4cuda_6cudart_17cudaArray_const_t_4__dealloc__(struct __pyx_obj_4cuda_6cudart_cudaArray_const_t *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 808, 0, __PYX_ERR(0, 808, __pyx_L1_error));

  /* "cuda/cudart.pyx":809
 *         pass
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *     def __repr__(self):
 */
  __pyx_t_2 = ((__pyx_v_self->_ptr_owner == 1) != 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = ((__pyx_v_self->_ptr != NULL) != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":810
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         return '<cudaArray_const_t ' + str(hex(self.__int__())) + '>'
 */
    free(__pyx_v_self->_ptr);

    /* "cuda/cudart.pyx":809
 *         pass
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *     def __repr__(self):
 */
  }

  /* "cuda/cudart.pyx":808
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.cudaArray_const_t.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":811
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 *     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_7__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_17cudaArray_const_t_7__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_6__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_6__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], 811, 0, __PYX_ERR(0, 811, __pyx_L1_error));

  /* "cuda/cudart.pyx":812
 *             free(self._ptr)
 *     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, 812, __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, 812, __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, 812, __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, 812, __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, 812, __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, 812, __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":811
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 *     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":813
 *     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_9__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_17cudaArray_const_t_9__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_8__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_8__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], 813, 0, __PYX_ERR(0, 813, __pyx_L1_error));

  /* "cuda/cudart.pyx":814
 *         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, 814, __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, 814, __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":813
 *     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":815
 *     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_11__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_17cudaArray_const_t_11__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_10__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_10__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], 815, 0, __PYX_ERR(0, 815, __pyx_L1_error));

  /* "cuda/cudart.pyx":816
 *         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, 816, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":815
 *     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":817
 *     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_13getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_17cudaArray_const_t_12getPtr[] = "cudaArray_const_t.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_17cudaArray_const_t_13getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_17cudaArray_const_t_13getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_17cudaArray_const_t_12getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_17cudaArray_const_t_13getPtr(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_12getPtr(((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_12getPtr(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], 817, 0, __PYX_ERR(0, 817, __pyx_L1_error));

  /* "cuda/cudart.pyx":818
 *         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, 818, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":817
 *     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_15__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_17cudaArray_const_t_14__reduce_cython__[] = "cudaArray_const_t.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_17cudaArray_const_t_15__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_17cudaArray_const_t_15__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_17cudaArray_const_t_14__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_17cudaArray_const_t_15__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_14__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_14__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_17__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_17cudaArray_const_t_16__setstate_cython__[] = "cudaArray_const_t.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_17cudaArray_const_t_17__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_17cudaArray_const_t_17__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_17cudaArray_const_t_16__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_17cudaArray_const_t_17__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_16__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_16__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":830
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

/* 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, 830, __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, 830, __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, 830, __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, 830, __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;
  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("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 830, 0, __PYX_ERR(0, 830, __pyx_L1_error));

  /* "cuda/cudart.pyx":831
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaMipmappedArray_t *>calloc(1, sizeof(ccudart.cudaMipmappedArray_t))
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":832
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr_owner = True             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaMipmappedArray_t *>calloc(1, sizeof(ccudart.cudaMipmappedArray_t))
 *             if self._ptr is NULL:
 */
    __pyx_v_self->_ptr_owner = 1;

    /* "cuda/cudart.pyx":833
 *         if _ptr == 0:
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaMipmappedArray_t *>calloc(1, sizeof(ccudart.cudaMipmappedArray_t))             # <<<<<<<<<<<<<<
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaMipmappedArray_t)))
 */
    __pyx_v_self->_ptr = ((__pyx_t_4cuda_7ccudart_cudaMipmappedArray_t *)calloc(1, (sizeof(__pyx_t_4cuda_7ccudart_cudaMipmappedArray_t))));

    /* "cuda/cudart.pyx":834
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaMipmappedArray_t *>calloc(1, sizeof(ccudart.cudaMipmappedArray_t))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaMipmappedArray_t)))
 *             self._ptr[0] = <ccudart.cudaMipmappedArray_t>init_value
 */
    __pyx_t_1 = ((__pyx_v_self->_ptr == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":835
 *             self._ptr = <ccudart.cudaMipmappedArray_t *>calloc(1, sizeof(ccudart.cudaMipmappedArray_t))
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaMipmappedArray_t)))             # <<<<<<<<<<<<<<
 *             self._ptr[0] = <ccudart.cudaMipmappedArray_t>init_value
 *         else:
 */
      __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_4cuda_7ccudart_cudaMipmappedArray_t))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 835, __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, 835, __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_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 835, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 835, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 835, __pyx_L1_error)

      /* "cuda/cudart.pyx":834
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaMipmappedArray_t *>calloc(1, sizeof(ccudart.cudaMipmappedArray_t))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaMipmappedArray_t)))
 *             self._ptr[0] = <ccudart.cudaMipmappedArray_t>init_value
 */
    }

    /* "cuda/cudart.pyx":836
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaMipmappedArray_t)))
 *             self._ptr[0] = <ccudart.cudaMipmappedArray_t>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr_owner = False
 */
    (__pyx_v_self->_ptr[0]) = ((__pyx_t_4cuda_7ccudart_cudaMipmappedArray_t)__pyx_v_init_value);

    /* "cuda/cudart.pyx":831
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaMipmappedArray_t *>calloc(1, sizeof(ccudart.cudaMipmappedArray_t))
 */
    goto __pyx_L3;
  }

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

    /* "cuda/cudart.pyx":839
 *         else:
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaMipmappedArray_t *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
 */
    __pyx_v_self->_ptr = ((__pyx_t_4cuda_7ccudart_cudaMipmappedArray_t *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":830
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.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":840
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaMipmappedArray_t *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(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], 840, 0, __PYX_ERR(0, 840, __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":842
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_20cudaMipmappedArray_t_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_20cudaMipmappedArray_t_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_20cudaMipmappedArray_t_4__dealloc__(((struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_t *)__pyx_v_self));

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

static void __pyx_pf_4cuda_6cudart_20cudaMipmappedArray_t_4__dealloc__(struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_t *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 842, 0, __PYX_ERR(0, 842, __pyx_L1_error));

  /* "cuda/cudart.pyx":843
 *         pass
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *     def __repr__(self):
 */
  __pyx_t_2 = ((__pyx_v_self->_ptr_owner == 1) != 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = ((__pyx_v_self->_ptr != NULL) != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":844
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         return '<cudaMipmappedArray_t ' + str(hex(self.__int__())) + '>'
 */
    free(__pyx_v_self->_ptr);

    /* "cuda/cudart.pyx":843
 *         pass
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *     def __repr__(self):
 */
  }

  /* "cuda/cudart.pyx":842
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.cudaMipmappedArray_t.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":845
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<cudaMipmappedArray_t ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_20cudaMipmappedArray_t_7__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_20cudaMipmappedArray_t_7__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaMipmappedArray_t_6__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_6__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], 845, 0, __PYX_ERR(0, 845, __pyx_L1_error));

  /* "cuda/cudart.pyx":846
 *             free(self._ptr)
 *     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, 846, __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, 846, __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, 846, __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, 846, __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, 846, __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, 846, __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":845
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 *     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":847
 *     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_9__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_20cudaMipmappedArray_t_9__index__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__index__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaMipmappedArray_t_8__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_8__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], 847, 0, __PYX_ERR(0, 847, __pyx_L1_error));

  /* "cuda/cudart.pyx":848
 *         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, 848, __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, 848, __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":847
 *     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":849
 *     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_11__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_20cudaMipmappedArray_t_11__int__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaMipmappedArray_t_10__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_10__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], 849, 0, __PYX_ERR(0, 849, __pyx_L1_error));

  /* "cuda/cudart.pyx":850
 *         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, 850, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":849
 *     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":851
 *     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_13getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_20cudaMipmappedArray_t_12getPtr[] = "cudaMipmappedArray_t.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_20cudaMipmappedArray_t_13getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_20cudaMipmappedArray_t_13getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_20cudaMipmappedArray_t_12getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_20cudaMipmappedArray_t_13getPtr(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_12getPtr(((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_12getPtr(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], 851, 0, __PYX_ERR(0, 851, __pyx_L1_error));

  /* "cuda/cudart.pyx":852
 *         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, 852, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":851
 *     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_15__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_20cudaMipmappedArray_t_14__reduce_cython__[] = "cudaMipmappedArray_t.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_20cudaMipmappedArray_t_15__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_20cudaMipmappedArray_t_15__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_20cudaMipmappedArray_t_14__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_20cudaMipmappedArray_t_15__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_14__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_14__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_17__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_20cudaMipmappedArray_t_16__setstate_cython__[] = "cudaMipmappedArray_t.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_20cudaMipmappedArray_t_17__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_20cudaMipmappedArray_t_17__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_20cudaMipmappedArray_t_16__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_20cudaMipmappedArray_t_17__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_16__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_16__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":864
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

/* 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, 864, __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, 864, __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, 864, __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, 864, __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;
  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("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 864, 0, __PYX_ERR(0, 864, __pyx_L1_error));

  /* "cuda/cudart.pyx":865
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaMipmappedArray_const_t *>calloc(1, sizeof(ccudart.cudaMipmappedArray_const_t))
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":866
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr_owner = True             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaMipmappedArray_const_t *>calloc(1, sizeof(ccudart.cudaMipmappedArray_const_t))
 *             if self._ptr is NULL:
 */
    __pyx_v_self->_ptr_owner = 1;

    /* "cuda/cudart.pyx":867
 *         if _ptr == 0:
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaMipmappedArray_const_t *>calloc(1, sizeof(ccudart.cudaMipmappedArray_const_t))             # <<<<<<<<<<<<<<
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaMipmappedArray_const_t)))
 */
    __pyx_v_self->_ptr = ((__pyx_t_4cuda_7ccudart_cudaMipmappedArray_const_t *)calloc(1, (sizeof(__pyx_t_4cuda_7ccudart_cudaMipmappedArray_const_t))));

    /* "cuda/cudart.pyx":868
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaMipmappedArray_const_t *>calloc(1, sizeof(ccudart.cudaMipmappedArray_const_t))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaMipmappedArray_const_t)))
 *             self._ptr[0] = <ccudart.cudaMipmappedArray_const_t>init_value
 */
    __pyx_t_1 = ((__pyx_v_self->_ptr == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":869
 *             self._ptr = <ccudart.cudaMipmappedArray_const_t *>calloc(1, sizeof(ccudart.cudaMipmappedArray_const_t))
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaMipmappedArray_const_t)))             # <<<<<<<<<<<<<<
 *             self._ptr[0] = <ccudart.cudaMipmappedArray_const_t>init_value
 *         else:
 */
      __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_4cuda_7ccudart_cudaMipmappedArray_const_t))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 869, __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, 869, __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_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 869, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 869, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 869, __pyx_L1_error)

      /* "cuda/cudart.pyx":868
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaMipmappedArray_const_t *>calloc(1, sizeof(ccudart.cudaMipmappedArray_const_t))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaMipmappedArray_const_t)))
 *             self._ptr[0] = <ccudart.cudaMipmappedArray_const_t>init_value
 */
    }

    /* "cuda/cudart.pyx":870
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaMipmappedArray_const_t)))
 *             self._ptr[0] = <ccudart.cudaMipmappedArray_const_t>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr_owner = False
 */
    (__pyx_v_self->_ptr[0]) = ((__pyx_t_4cuda_7ccudart_cudaMipmappedArray_const_t)__pyx_v_init_value);

    /* "cuda/cudart.pyx":865
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaMipmappedArray_const_t *>calloc(1, sizeof(ccudart.cudaMipmappedArray_const_t))
 */
    goto __pyx_L3;
  }

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

    /* "cuda/cudart.pyx":873
 *         else:
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaMipmappedArray_const_t *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
 */
    __pyx_v_self->_ptr = ((__pyx_t_4cuda_7ccudart_cudaMipmappedArray_const_t *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":864
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.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":874
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaMipmappedArray_const_t *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(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], 874, 0, __PYX_ERR(0, 874, __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":876
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_26cudaMipmappedArray_const_t_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_26cudaMipmappedArray_const_t_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_26cudaMipmappedArray_const_t_4__dealloc__(((struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_const_t *)__pyx_v_self));

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

static void __pyx_pf_4cuda_6cudart_26cudaMipmappedArray_const_t_4__dealloc__(struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_const_t *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 876, 0, __PYX_ERR(0, 876, __pyx_L1_error));

  /* "cuda/cudart.pyx":877
 *         pass
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *     def __repr__(self):
 */
  __pyx_t_2 = ((__pyx_v_self->_ptr_owner == 1) != 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = ((__pyx_v_self->_ptr != NULL) != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":878
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         return '<cudaMipmappedArray_const_t ' + str(hex(self.__int__())) + '>'
 */
    free(__pyx_v_self->_ptr);

    /* "cuda/cudart.pyx":877
 *         pass
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *     def __repr__(self):
 */
  }

  /* "cuda/cudart.pyx":876
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.cudaMipmappedArray_const_t.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":879
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 *     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_7__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_26cudaMipmappedArray_const_t_7__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_6__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_6__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], 879, 0, __PYX_ERR(0, 879, __pyx_L1_error));

  /* "cuda/cudart.pyx":880
 *             free(self._ptr)
 *     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, 880, __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, 880, __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, 880, __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, 880, __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, 880, __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, 880, __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":879
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 *     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":881
 *     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_9__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_26cudaMipmappedArray_const_t_9__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_8__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_8__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], 881, 0, __PYX_ERR(0, 881, __pyx_L1_error));

  /* "cuda/cudart.pyx":882
 *         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, 882, __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, 882, __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":881
 *     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":883
 *     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_11__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_26cudaMipmappedArray_const_t_11__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_10__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_10__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], 883, 0, __PYX_ERR(0, 883, __pyx_L1_error));

  /* "cuda/cudart.pyx":884
 *         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, 884, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":883
 *     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":885
 *     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_13getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_26cudaMipmappedArray_const_t_12getPtr[] = "cudaMipmappedArray_const_t.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_26cudaMipmappedArray_const_t_13getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_26cudaMipmappedArray_const_t_13getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_26cudaMipmappedArray_const_t_12getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_26cudaMipmappedArray_const_t_13getPtr(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_12getPtr(((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_12getPtr(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], 885, 0, __PYX_ERR(0, 885, __pyx_L1_error));

  /* "cuda/cudart.pyx":886
 *         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, 886, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":885
 *     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_15__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_26cudaMipmappedArray_const_t_14__reduce_cython__[] = "cudaMipmappedArray_const_t.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_26cudaMipmappedArray_const_t_15__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_26cudaMipmappedArray_const_t_15__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_26cudaMipmappedArray_const_t_14__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_26cudaMipmappedArray_const_t_15__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_14__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_14__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_17__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_26cudaMipmappedArray_const_t_16__setstate_cython__[] = "cudaMipmappedArray_const_t.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_26cudaMipmappedArray_const_t_17__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_26cudaMipmappedArray_const_t_17__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_26cudaMipmappedArray_const_t_16__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_26cudaMipmappedArray_const_t_17__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_16__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_16__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":898
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

/* 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, 898, __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, 898, __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, 898, __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, 898, __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;
  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("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 898, 0, __PYX_ERR(0, 898, __pyx_L1_error));

  /* "cuda/cudart.pyx":899
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaGraphicsResource_t *>calloc(1, sizeof(ccudart.cudaGraphicsResource_t))
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":900
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr_owner = True             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaGraphicsResource_t *>calloc(1, sizeof(ccudart.cudaGraphicsResource_t))
 *             if self._ptr is NULL:
 */
    __pyx_v_self->_ptr_owner = 1;

    /* "cuda/cudart.pyx":901
 *         if _ptr == 0:
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaGraphicsResource_t *>calloc(1, sizeof(ccudart.cudaGraphicsResource_t))             # <<<<<<<<<<<<<<
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaGraphicsResource_t)))
 */
    __pyx_v_self->_ptr = ((__pyx_t_4cuda_7ccudart_cudaGraphicsResource_t *)calloc(1, (sizeof(__pyx_t_4cuda_7ccudart_cudaGraphicsResource_t))));

    /* "cuda/cudart.pyx":902
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaGraphicsResource_t *>calloc(1, sizeof(ccudart.cudaGraphicsResource_t))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaGraphicsResource_t)))
 *             self._ptr[0] = <ccudart.cudaGraphicsResource_t>init_value
 */
    __pyx_t_1 = ((__pyx_v_self->_ptr == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":903
 *             self._ptr = <ccudart.cudaGraphicsResource_t *>calloc(1, sizeof(ccudart.cudaGraphicsResource_t))
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaGraphicsResource_t)))             # <<<<<<<<<<<<<<
 *             self._ptr[0] = <ccudart.cudaGraphicsResource_t>init_value
 *         else:
 */
      __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_4cuda_7ccudart_cudaGraphicsResource_t))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 903, __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, 903, __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_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 903, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 903, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 903, __pyx_L1_error)

      /* "cuda/cudart.pyx":902
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaGraphicsResource_t *>calloc(1, sizeof(ccudart.cudaGraphicsResource_t))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaGraphicsResource_t)))
 *             self._ptr[0] = <ccudart.cudaGraphicsResource_t>init_value
 */
    }

    /* "cuda/cudart.pyx":904
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaGraphicsResource_t)))
 *             self._ptr[0] = <ccudart.cudaGraphicsResource_t>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr_owner = False
 */
    (__pyx_v_self->_ptr[0]) = ((__pyx_t_4cuda_7ccudart_cudaGraphicsResource_t)__pyx_v_init_value);

    /* "cuda/cudart.pyx":899
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaGraphicsResource_t *>calloc(1, sizeof(ccudart.cudaGraphicsResource_t))
 */
    goto __pyx_L3;
  }

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

    /* "cuda/cudart.pyx":907
 *         else:
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaGraphicsResource_t *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
 */
    __pyx_v_self->_ptr = ((__pyx_t_4cuda_7ccudart_cudaGraphicsResource_t *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":898
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.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":908
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaGraphicsResource_t *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(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], 908, 0, __PYX_ERR(0, 908, __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":910
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_22cudaGraphicsResource_t_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_22cudaGraphicsResource_t_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_22cudaGraphicsResource_t_4__dealloc__(((struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *)__pyx_v_self));

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

static void __pyx_pf_4cuda_6cudart_22cudaGraphicsResource_t_4__dealloc__(struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 910, 0, __PYX_ERR(0, 910, __pyx_L1_error));

  /* "cuda/cudart.pyx":911
 *         pass
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *     def __repr__(self):
 */
  __pyx_t_2 = ((__pyx_v_self->_ptr_owner == 1) != 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = ((__pyx_v_self->_ptr != NULL) != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":912
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         return '<cudaGraphicsResource_t ' + str(hex(self.__int__())) + '>'
 */
    free(__pyx_v_self->_ptr);

    /* "cuda/cudart.pyx":911
 *         pass
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *     def __repr__(self):
 */
  }

  /* "cuda/cudart.pyx":910
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.cudaGraphicsResource_t.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":913
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<cudaGraphicsResource_t ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_22cudaGraphicsResource_t_7__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_22cudaGraphicsResource_t_7__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_22cudaGraphicsResource_t_6__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_6__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], 913, 0, __PYX_ERR(0, 913, __pyx_L1_error));

  /* "cuda/cudart.pyx":914
 *             free(self._ptr)
 *     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, 914, __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, 914, __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, 914, __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, 914, __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, 914, __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, 914, __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":913
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 *     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":915
 *     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_9__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_22cudaGraphicsResource_t_9__index__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__index__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_22cudaGraphicsResource_t_8__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_8__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], 915, 0, __PYX_ERR(0, 915, __pyx_L1_error));

  /* "cuda/cudart.pyx":916
 *         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, 916, __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, 916, __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":915
 *     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":917
 *     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_11__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_22cudaGraphicsResource_t_11__int__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_22cudaGraphicsResource_t_10__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_10__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], 917, 0, __PYX_ERR(0, 917, __pyx_L1_error));

  /* "cuda/cudart.pyx":918
 *         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, 918, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":917
 *     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":919
 *     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_13getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_22cudaGraphicsResource_t_12getPtr[] = "cudaGraphicsResource_t.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_22cudaGraphicsResource_t_13getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_22cudaGraphicsResource_t_13getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_22cudaGraphicsResource_t_12getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_22cudaGraphicsResource_t_13getPtr(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_12getPtr(((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_12getPtr(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], 919, 0, __PYX_ERR(0, 919, __pyx_L1_error));

  /* "cuda/cudart.pyx":920
 *         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, 920, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":919
 *     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_15__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_22cudaGraphicsResource_t_14__reduce_cython__[] = "cudaGraphicsResource_t.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_22cudaGraphicsResource_t_15__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_22cudaGraphicsResource_t_15__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_22cudaGraphicsResource_t_14__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_22cudaGraphicsResource_t_15__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_14__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_14__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_17__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_22cudaGraphicsResource_t_16__setstate_cython__[] = "cudaGraphicsResource_t.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_22cudaGraphicsResource_t_17__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_22cudaGraphicsResource_t_17__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_22cudaGraphicsResource_t_16__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_22cudaGraphicsResource_t_17__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_16__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_16__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":932
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

/* 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, 932, __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, 932, __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, 932, __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, 932, __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;
  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("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 932, 0, __PYX_ERR(0, 932, __pyx_L1_error));

  /* "cuda/cudart.pyx":933
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaExternalMemory_t *>calloc(1, sizeof(ccudart.cudaExternalMemory_t))
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":934
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr_owner = True             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaExternalMemory_t *>calloc(1, sizeof(ccudart.cudaExternalMemory_t))
 *             if self._ptr is NULL:
 */
    __pyx_v_self->_ptr_owner = 1;

    /* "cuda/cudart.pyx":935
 *         if _ptr == 0:
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaExternalMemory_t *>calloc(1, sizeof(ccudart.cudaExternalMemory_t))             # <<<<<<<<<<<<<<
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaExternalMemory_t)))
 */
    __pyx_v_self->_ptr = ((__pyx_t_4cuda_7ccudart_cudaExternalMemory_t *)calloc(1, (sizeof(__pyx_t_4cuda_7ccudart_cudaExternalMemory_t))));

    /* "cuda/cudart.pyx":936
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaExternalMemory_t *>calloc(1, sizeof(ccudart.cudaExternalMemory_t))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaExternalMemory_t)))
 *             self._ptr[0] = <ccudart.cudaExternalMemory_t>init_value
 */
    __pyx_t_1 = ((__pyx_v_self->_ptr == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":937
 *             self._ptr = <ccudart.cudaExternalMemory_t *>calloc(1, sizeof(ccudart.cudaExternalMemory_t))
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaExternalMemory_t)))             # <<<<<<<<<<<<<<
 *             self._ptr[0] = <ccudart.cudaExternalMemory_t>init_value
 *         else:
 */
      __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_4cuda_7ccudart_cudaExternalMemory_t))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 937, __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, 937, __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_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 937, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 937, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 937, __pyx_L1_error)

      /* "cuda/cudart.pyx":936
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaExternalMemory_t *>calloc(1, sizeof(ccudart.cudaExternalMemory_t))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaExternalMemory_t)))
 *             self._ptr[0] = <ccudart.cudaExternalMemory_t>init_value
 */
    }

    /* "cuda/cudart.pyx":938
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaExternalMemory_t)))
 *             self._ptr[0] = <ccudart.cudaExternalMemory_t>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr_owner = False
 */
    (__pyx_v_self->_ptr[0]) = ((__pyx_t_4cuda_7ccudart_cudaExternalMemory_t)__pyx_v_init_value);

    /* "cuda/cudart.pyx":933
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaExternalMemory_t *>calloc(1, sizeof(ccudart.cudaExternalMemory_t))
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":940
 *             self._ptr[0] = <ccudart.cudaExternalMemory_t>init_value
 *         else:
 *             self._ptr_owner = False             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaExternalMemory_t *>_ptr
 *     def __init__(self, *args, **kwargs):
 */
  /*else*/ {
    __pyx_v_self->_ptr_owner = 0;

    /* "cuda/cudart.pyx":941
 *         else:
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaExternalMemory_t *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
 */
    __pyx_v_self->_ptr = ((__pyx_t_4cuda_7ccudart_cudaExternalMemory_t *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":932
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.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":942
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaExternalMemory_t *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(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], 942, 0, __PYX_ERR(0, 942, __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":944
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_20cudaExternalMemory_t_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_20cudaExternalMemory_t_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_20cudaExternalMemory_t_4__dealloc__(((struct __pyx_obj_4cuda_6cudart_cudaExternalMemory_t *)__pyx_v_self));

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

static void __pyx_pf_4cuda_6cudart_20cudaExternalMemory_t_4__dealloc__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemory_t *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 944, 0, __PYX_ERR(0, 944, __pyx_L1_error));

  /* "cuda/cudart.pyx":945
 *         pass
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *     def __repr__(self):
 */
  __pyx_t_2 = ((__pyx_v_self->_ptr_owner == 1) != 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = ((__pyx_v_self->_ptr != NULL) != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":946
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         return '<cudaExternalMemory_t ' + str(hex(self.__int__())) + '>'
 */
    free(__pyx_v_self->_ptr);

    /* "cuda/cudart.pyx":945
 *         pass
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *     def __repr__(self):
 */
  }

  /* "cuda/cudart.pyx":944
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.cudaExternalMemory_t.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":947
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<cudaExternalMemory_t ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_20cudaExternalMemory_t_7__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_20cudaExternalMemory_t_7__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaExternalMemory_t_6__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_6__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], 947, 0, __PYX_ERR(0, 947, __pyx_L1_error));

  /* "cuda/cudart.pyx":948
 *             free(self._ptr)
 *     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, 948, __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, 948, __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, 948, __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, 948, __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, 948, __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, 948, __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":947
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 *     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":949
 *     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_9__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_20cudaExternalMemory_t_9__index__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__index__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaExternalMemory_t_8__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_8__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], 949, 0, __PYX_ERR(0, 949, __pyx_L1_error));

  /* "cuda/cudart.pyx":950
 *         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, 950, __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, 950, __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":949
 *     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":951
 *     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_11__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_20cudaExternalMemory_t_11__int__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaExternalMemory_t_10__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_10__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], 951, 0, __PYX_ERR(0, 951, __pyx_L1_error));

  /* "cuda/cudart.pyx":952
 *         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, 952, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":951
 *     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":953
 *     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_13getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_20cudaExternalMemory_t_12getPtr[] = "cudaExternalMemory_t.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_20cudaExternalMemory_t_13getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_20cudaExternalMemory_t_13getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_20cudaExternalMemory_t_12getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_20cudaExternalMemory_t_13getPtr(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_12getPtr(((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_12getPtr(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], 953, 0, __PYX_ERR(0, 953, __pyx_L1_error));

  /* "cuda/cudart.pyx":954
 *         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, 954, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":953
 *     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_15__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_20cudaExternalMemory_t_14__reduce_cython__[] = "cudaExternalMemory_t.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_20cudaExternalMemory_t_15__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_20cudaExternalMemory_t_15__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_20cudaExternalMemory_t_14__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_20cudaExternalMemory_t_15__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_14__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_14__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_17__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_20cudaExternalMemory_t_16__setstate_cython__[] = "cudaExternalMemory_t.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_20cudaExternalMemory_t_17__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_20cudaExternalMemory_t_17__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_20cudaExternalMemory_t_16__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_20cudaExternalMemory_t_17__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_16__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_16__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":966
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

/* 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, 966, __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, 966, __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, 966, __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, 966, __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;
  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("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 966, 0, __PYX_ERR(0, 966, __pyx_L1_error));

  /* "cuda/cudart.pyx":967
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaExternalSemaphore_t *>calloc(1, sizeof(ccudart.cudaExternalSemaphore_t))
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":968
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr_owner = True             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaExternalSemaphore_t *>calloc(1, sizeof(ccudart.cudaExternalSemaphore_t))
 *             if self._ptr is NULL:
 */
    __pyx_v_self->_ptr_owner = 1;

    /* "cuda/cudart.pyx":969
 *         if _ptr == 0:
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaExternalSemaphore_t *>calloc(1, sizeof(ccudart.cudaExternalSemaphore_t))             # <<<<<<<<<<<<<<
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaExternalSemaphore_t)))
 */
    __pyx_v_self->_ptr = ((__pyx_t_4cuda_7ccudart_cudaExternalSemaphore_t *)calloc(1, (sizeof(__pyx_t_4cuda_7ccudart_cudaExternalSemaphore_t))));

    /* "cuda/cudart.pyx":970
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaExternalSemaphore_t *>calloc(1, sizeof(ccudart.cudaExternalSemaphore_t))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaExternalSemaphore_t)))
 *             self._ptr[0] = <ccudart.cudaExternalSemaphore_t>init_value
 */
    __pyx_t_1 = ((__pyx_v_self->_ptr == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":971
 *             self._ptr = <ccudart.cudaExternalSemaphore_t *>calloc(1, sizeof(ccudart.cudaExternalSemaphore_t))
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaExternalSemaphore_t)))             # <<<<<<<<<<<<<<
 *             self._ptr[0] = <ccudart.cudaExternalSemaphore_t>init_value
 *         else:
 */
      __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_4cuda_7ccudart_cudaExternalSemaphore_t))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 971, __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, 971, __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_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 971, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 971, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 971, __pyx_L1_error)

      /* "cuda/cudart.pyx":970
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaExternalSemaphore_t *>calloc(1, sizeof(ccudart.cudaExternalSemaphore_t))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaExternalSemaphore_t)))
 *             self._ptr[0] = <ccudart.cudaExternalSemaphore_t>init_value
 */
    }

    /* "cuda/cudart.pyx":972
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaExternalSemaphore_t)))
 *             self._ptr[0] = <ccudart.cudaExternalSemaphore_t>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr_owner = False
 */
    (__pyx_v_self->_ptr[0]) = ((__pyx_t_4cuda_7ccudart_cudaExternalSemaphore_t)__pyx_v_init_value);

    /* "cuda/cudart.pyx":967
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaExternalSemaphore_t *>calloc(1, sizeof(ccudart.cudaExternalSemaphore_t))
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":974
 *             self._ptr[0] = <ccudart.cudaExternalSemaphore_t>init_value
 *         else:
 *             self._ptr_owner = False             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaExternalSemaphore_t *>_ptr
 *     def __init__(self, *args, **kwargs):
 */
  /*else*/ {
    __pyx_v_self->_ptr_owner = 0;

    /* "cuda/cudart.pyx":975
 *         else:
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaExternalSemaphore_t *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
 */
    __pyx_v_self->_ptr = ((__pyx_t_4cuda_7ccudart_cudaExternalSemaphore_t *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":966
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.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":976
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaExternalSemaphore_t *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(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], 976, 0, __PYX_ERR(0, 976, __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":978
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_23cudaExternalSemaphore_t_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_23cudaExternalSemaphore_t_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_23cudaExternalSemaphore_t_4__dealloc__(((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphore_t *)__pyx_v_self));

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

static void __pyx_pf_4cuda_6cudart_23cudaExternalSemaphore_t_4__dealloc__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphore_t *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 978, 0, __PYX_ERR(0, 978, __pyx_L1_error));

  /* "cuda/cudart.pyx":979
 *         pass
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *     def __repr__(self):
 */
  __pyx_t_2 = ((__pyx_v_self->_ptr_owner == 1) != 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = ((__pyx_v_self->_ptr != NULL) != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":980
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         return '<cudaExternalSemaphore_t ' + str(hex(self.__int__())) + '>'
 */
    free(__pyx_v_self->_ptr);

    /* "cuda/cudart.pyx":979
 *         pass
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *     def __repr__(self):
 */
  }

  /* "cuda/cudart.pyx":978
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.cudaExternalSemaphore_t.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":981
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<cudaExternalSemaphore_t ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_23cudaExternalSemaphore_t_7__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_23cudaExternalSemaphore_t_7__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_23cudaExternalSemaphore_t_6__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_6__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], 981, 0, __PYX_ERR(0, 981, __pyx_L1_error));

  /* "cuda/cudart.pyx":982
 *             free(self._ptr)
 *     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, 982, __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, 982, __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, 982, __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, 982, __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, 982, __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, 982, __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":981
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 *     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":983
 *     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_9__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_23cudaExternalSemaphore_t_9__index__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__index__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_23cudaExternalSemaphore_t_8__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_8__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], 983, 0, __PYX_ERR(0, 983, __pyx_L1_error));

  /* "cuda/cudart.pyx":984
 *         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, 984, __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, 984, __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":983
 *     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":985
 *     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_11__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_23cudaExternalSemaphore_t_11__int__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_23cudaExternalSemaphore_t_10__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_10__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], 985, 0, __PYX_ERR(0, 985, __pyx_L1_error));

  /* "cuda/cudart.pyx":986
 *         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, 986, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":985
 *     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":987
 *     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_13getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_23cudaExternalSemaphore_t_12getPtr[] = "cudaExternalSemaphore_t.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_23cudaExternalSemaphore_t_13getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_23cudaExternalSemaphore_t_13getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_23cudaExternalSemaphore_t_12getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_23cudaExternalSemaphore_t_13getPtr(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_12getPtr(((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_12getPtr(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], 987, 0, __PYX_ERR(0, 987, __pyx_L1_error));

  /* "cuda/cudart.pyx":988
 *         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, 988, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":987
 *     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_15__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_23cudaExternalSemaphore_t_14__reduce_cython__[] = "cudaExternalSemaphore_t.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_23cudaExternalSemaphore_t_15__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_23cudaExternalSemaphore_t_15__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_23cudaExternalSemaphore_t_14__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_23cudaExternalSemaphore_t_15__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_14__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_14__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_17__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_23cudaExternalSemaphore_t_16__setstate_cython__[] = "cudaExternalSemaphore_t.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_23cudaExternalSemaphore_t_17__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_23cudaExternalSemaphore_t_17__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_23cudaExternalSemaphore_t_16__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_23cudaExternalSemaphore_t_17__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_16__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_16__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":1000
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

/* 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, 1000, __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, 1000, __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, 1000, __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, 1000, __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;
  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("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 1000, 0, __PYX_ERR(0, 1000, __pyx_L1_error));

  /* "cuda/cudart.pyx":1001
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaHostFn_t *>calloc(1, sizeof(ccudart.cudaHostFn_t))
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":1002
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr_owner = True             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaHostFn_t *>calloc(1, sizeof(ccudart.cudaHostFn_t))
 *             if self._ptr is NULL:
 */
    __pyx_v_self->_ptr_owner = 1;

    /* "cuda/cudart.pyx":1003
 *         if _ptr == 0:
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaHostFn_t *>calloc(1, sizeof(ccudart.cudaHostFn_t))             # <<<<<<<<<<<<<<
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaHostFn_t)))
 */
    __pyx_v_self->_ptr = ((__pyx_t_4cuda_7ccudart_cudaHostFn_t *)calloc(1, (sizeof(__pyx_t_4cuda_7ccudart_cudaHostFn_t))));

    /* "cuda/cudart.pyx":1004
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaHostFn_t *>calloc(1, sizeof(ccudart.cudaHostFn_t))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaHostFn_t)))
 *             self._ptr[0] = <ccudart.cudaHostFn_t>init_value
 */
    __pyx_t_1 = ((__pyx_v_self->_ptr == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":1005
 *             self._ptr = <ccudart.cudaHostFn_t *>calloc(1, sizeof(ccudart.cudaHostFn_t))
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaHostFn_t)))             # <<<<<<<<<<<<<<
 *             self._ptr[0] = <ccudart.cudaHostFn_t>init_value
 *         else:
 */
      __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_4cuda_7ccudart_cudaHostFn_t))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1005, __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, 1005, __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_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1005, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1005, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 1005, __pyx_L1_error)

      /* "cuda/cudart.pyx":1004
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaHostFn_t *>calloc(1, sizeof(ccudart.cudaHostFn_t))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaHostFn_t)))
 *             self._ptr[0] = <ccudart.cudaHostFn_t>init_value
 */
    }

    /* "cuda/cudart.pyx":1006
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaHostFn_t)))
 *             self._ptr[0] = <ccudart.cudaHostFn_t>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr_owner = False
 */
    (__pyx_v_self->_ptr[0]) = ((__pyx_t_4cuda_7ccudart_cudaHostFn_t)__pyx_v_init_value);

    /* "cuda/cudart.pyx":1001
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaHostFn_t *>calloc(1, sizeof(ccudart.cudaHostFn_t))
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":1008
 *             self._ptr[0] = <ccudart.cudaHostFn_t>init_value
 *         else:
 *             self._ptr_owner = False             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaHostFn_t *>_ptr
 *     def __init__(self, *args, **kwargs):
 */
  /*else*/ {
    __pyx_v_self->_ptr_owner = 0;

    /* "cuda/cudart.pyx":1009
 *         else:
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaHostFn_t *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
 */
    __pyx_v_self->_ptr = ((__pyx_t_4cuda_7ccudart_cudaHostFn_t *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":1000
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.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":1010
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaHostFn_t *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(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], 1010, 0, __PYX_ERR(0, 1010, __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":1012
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_12cudaHostFn_t_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_12cudaHostFn_t_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_12cudaHostFn_t_4__dealloc__(((struct __pyx_obj_4cuda_6cudart_cudaHostFn_t *)__pyx_v_self));

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

static void __pyx_pf_4cuda_6cudart_12cudaHostFn_t_4__dealloc__(struct __pyx_obj_4cuda_6cudart_cudaHostFn_t *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 1012, 0, __PYX_ERR(0, 1012, __pyx_L1_error));

  /* "cuda/cudart.pyx":1013
 *         pass
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *     def __repr__(self):
 */
  __pyx_t_2 = ((__pyx_v_self->_ptr_owner == 1) != 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = ((__pyx_v_self->_ptr != NULL) != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":1014
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         return '<cudaHostFn_t ' + str(hex(self.__int__())) + '>'
 */
    free(__pyx_v_self->_ptr);

    /* "cuda/cudart.pyx":1013
 *         pass
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *     def __repr__(self):
 */
  }

  /* "cuda/cudart.pyx":1012
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.cudaHostFn_t.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":1015
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<cudaHostFn_t ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_12cudaHostFn_t_7__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_12cudaHostFn_t_7__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_12cudaHostFn_t_6__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_6__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], 1015, 0, __PYX_ERR(0, 1015, __pyx_L1_error));

  /* "cuda/cudart.pyx":1016
 *             free(self._ptr)
 *     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, 1016, __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, 1016, __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, 1016, __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, 1016, __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, 1016, __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, 1016, __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":1015
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 *     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":1017
 *     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_9__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_12cudaHostFn_t_9__index__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__index__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_12cudaHostFn_t_8__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_8__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], 1017, 0, __PYX_ERR(0, 1017, __pyx_L1_error));

  /* "cuda/cudart.pyx":1018
 *         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, 1018, __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, 1018, __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":1017
 *     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":1019
 *     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_11__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_12cudaHostFn_t_11__int__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_12cudaHostFn_t_10__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_10__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], 1019, 0, __PYX_ERR(0, 1019, __pyx_L1_error));

  /* "cuda/cudart.pyx":1020
 *         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, 1020, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":1019
 *     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":1021
 *     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_13getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_12cudaHostFn_t_12getPtr[] = "cudaHostFn_t.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_12cudaHostFn_t_13getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_12cudaHostFn_t_13getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_12cudaHostFn_t_12getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_12cudaHostFn_t_13getPtr(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_12getPtr(((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_12getPtr(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__37)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 1021, 0, __PYX_ERR(0, 1021, __pyx_L1_error));

  /* "cuda/cudart.pyx":1022
 *         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, 1022, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":1021
 *     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_15__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_12cudaHostFn_t_14__reduce_cython__[] = "cudaHostFn_t.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_12cudaHostFn_t_15__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_12cudaHostFn_t_15__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_12cudaHostFn_t_14__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_12cudaHostFn_t_15__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_14__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_14__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__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.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_17__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_12cudaHostFn_t_16__setstate_cython__[] = "cudaHostFn_t.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_12cudaHostFn_t_17__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_12cudaHostFn_t_17__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_12cudaHostFn_t_16__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_12cudaHostFn_t_17__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_16__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_16__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__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.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":1034
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

/* 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, 1034, __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, 1034, __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, 1034, __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, 1034, __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;
  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("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 1034, 0, __PYX_ERR(0, 1034, __pyx_L1_error));

  /* "cuda/cudart.pyx":1035
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaStreamCallback_t *>calloc(1, sizeof(ccudart.cudaStreamCallback_t))
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":1036
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr_owner = True             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaStreamCallback_t *>calloc(1, sizeof(ccudart.cudaStreamCallback_t))
 *             if self._ptr is NULL:
 */
    __pyx_v_self->_ptr_owner = 1;

    /* "cuda/cudart.pyx":1037
 *         if _ptr == 0:
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaStreamCallback_t *>calloc(1, sizeof(ccudart.cudaStreamCallback_t))             # <<<<<<<<<<<<<<
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaStreamCallback_t)))
 */
    __pyx_v_self->_ptr = ((__pyx_t_4cuda_7ccudart_cudaStreamCallback_t *)calloc(1, (sizeof(__pyx_t_4cuda_7ccudart_cudaStreamCallback_t))));

    /* "cuda/cudart.pyx":1038
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaStreamCallback_t *>calloc(1, sizeof(ccudart.cudaStreamCallback_t))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaStreamCallback_t)))
 *             self._ptr[0] = <ccudart.cudaStreamCallback_t>init_value
 */
    __pyx_t_1 = ((__pyx_v_self->_ptr == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":1039
 *             self._ptr = <ccudart.cudaStreamCallback_t *>calloc(1, sizeof(ccudart.cudaStreamCallback_t))
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaStreamCallback_t)))             # <<<<<<<<<<<<<<
 *             self._ptr[0] = <ccudart.cudaStreamCallback_t>init_value
 *         else:
 */
      __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_4cuda_7ccudart_cudaStreamCallback_t))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1039, __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, 1039, __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_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1039, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1039, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 1039, __pyx_L1_error)

      /* "cuda/cudart.pyx":1038
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaStreamCallback_t *>calloc(1, sizeof(ccudart.cudaStreamCallback_t))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaStreamCallback_t)))
 *             self._ptr[0] = <ccudart.cudaStreamCallback_t>init_value
 */
    }

    /* "cuda/cudart.pyx":1040
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaStreamCallback_t)))
 *             self._ptr[0] = <ccudart.cudaStreamCallback_t>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr_owner = False
 */
    (__pyx_v_self->_ptr[0]) = ((__pyx_t_4cuda_7ccudart_cudaStreamCallback_t)__pyx_v_init_value);

    /* "cuda/cudart.pyx":1035
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaStreamCallback_t *>calloc(1, sizeof(ccudart.cudaStreamCallback_t))
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":1042
 *             self._ptr[0] = <ccudart.cudaStreamCallback_t>init_value
 *         else:
 *             self._ptr_owner = False             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaStreamCallback_t *>_ptr
 *     def __init__(self, *args, **kwargs):
 */
  /*else*/ {
    __pyx_v_self->_ptr_owner = 0;

    /* "cuda/cudart.pyx":1043
 *         else:
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaStreamCallback_t *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
 */
    __pyx_v_self->_ptr = ((__pyx_t_4cuda_7ccudart_cudaStreamCallback_t *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":1034
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.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":1044
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaStreamCallback_t *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(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], 1044, 0, __PYX_ERR(0, 1044, __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":1046
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_20cudaStreamCallback_t_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_20cudaStreamCallback_t_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_20cudaStreamCallback_t_4__dealloc__(((struct __pyx_obj_4cuda_6cudart_cudaStreamCallback_t *)__pyx_v_self));

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

static void __pyx_pf_4cuda_6cudart_20cudaStreamCallback_t_4__dealloc__(struct __pyx_obj_4cuda_6cudart_cudaStreamCallback_t *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 1046, 0, __PYX_ERR(0, 1046, __pyx_L1_error));

  /* "cuda/cudart.pyx":1047
 *         pass
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *     def __repr__(self):
 */
  __pyx_t_2 = ((__pyx_v_self->_ptr_owner == 1) != 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = ((__pyx_v_self->_ptr != NULL) != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":1048
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         return '<cudaStreamCallback_t ' + str(hex(self.__int__())) + '>'
 */
    free(__pyx_v_self->_ptr);

    /* "cuda/cudart.pyx":1047
 *         pass
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *     def __repr__(self):
 */
  }

  /* "cuda/cudart.pyx":1046
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.cudaStreamCallback_t.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":1049
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<cudaStreamCallback_t ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_20cudaStreamCallback_t_7__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_20cudaStreamCallback_t_7__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaStreamCallback_t_6__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_6__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], 1049, 0, __PYX_ERR(0, 1049, __pyx_L1_error));

  /* "cuda/cudart.pyx":1050
 *             free(self._ptr)
 *     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, 1050, __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, 1050, __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, 1050, __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, 1050, __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, 1050, __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, 1050, __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":1049
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 *     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":1051
 *     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_9__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_20cudaStreamCallback_t_9__index__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__index__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaStreamCallback_t_8__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_8__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], 1051, 0, __PYX_ERR(0, 1051, __pyx_L1_error));

  /* "cuda/cudart.pyx":1052
 *         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, 1052, __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, 1052, __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":1051
 *     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":1053
 *     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_11__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_20cudaStreamCallback_t_11__int__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__int__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_20cudaStreamCallback_t_10__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_10__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], 1053, 0, __PYX_ERR(0, 1053, __pyx_L1_error));

  /* "cuda/cudart.pyx":1054
 *         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, 1054, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":1053
 *     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":1055
 *     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_13getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_20cudaStreamCallback_t_12getPtr[] = "cudaStreamCallback_t.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_20cudaStreamCallback_t_13getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_20cudaStreamCallback_t_13getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_20cudaStreamCallback_t_12getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_20cudaStreamCallback_t_13getPtr(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_12getPtr(((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_12getPtr(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__42)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 1055, 0, __PYX_ERR(0, 1055, __pyx_L1_error));

  /* "cuda/cudart.pyx":1056
 *         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, 1056, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":1055
 *     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_15__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_20cudaStreamCallback_t_14__reduce_cython__[] = "cudaStreamCallback_t.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_20cudaStreamCallback_t_15__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_20cudaStreamCallback_t_15__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_20cudaStreamCallback_t_14__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_20cudaStreamCallback_t_15__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_14__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_14__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__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.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_17__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_20cudaStreamCallback_t_16__setstate_cython__[] = "cudaStreamCallback_t.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_20cudaStreamCallback_t_17__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_20cudaStreamCallback_t_17__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_20cudaStreamCallback_t_16__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_20cudaStreamCallback_t_17__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_16__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_16__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__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.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":1076
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

/* 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, 1076, __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, 1076, __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, 1076, __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;
  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("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 1076, 0, __PYX_ERR(0, 1076, __pyx_L1_error));

  /* "cuda/cudart.pyx":1077
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.dim3 *>calloc(1, sizeof(ccudart.dim3))
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":1078
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr_owner = True             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.dim3 *>calloc(1, sizeof(ccudart.dim3))
 *             if self._ptr is NULL:
 */
    __pyx_v_self->_ptr_owner = 1;

    /* "cuda/cudart.pyx":1079
 *         if _ptr == 0:
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.dim3 *>calloc(1, sizeof(ccudart.dim3))             # <<<<<<<<<<<<<<
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.dim3)))
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_dim3 *)calloc(1, (sizeof(struct __pyx_t_4cuda_7ccudart_dim3))));

    /* "cuda/cudart.pyx":1080
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.dim3 *>calloc(1, sizeof(ccudart.dim3))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.dim3)))
 *         else:
 */
    __pyx_t_1 = ((__pyx_v_self->_ptr == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":1081
 *             self._ptr = <ccudart.dim3 *>calloc(1, sizeof(ccudart.dim3))
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.dim3)))             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr_owner = False
 */
      __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(struct __pyx_t_4cuda_7ccudart_dim3))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1081, __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, 1081, __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_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1081, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1081, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 1081, __pyx_L1_error)

      /* "cuda/cudart.pyx":1080
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.dim3 *>calloc(1, sizeof(ccudart.dim3))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.dim3)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":1077
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.dim3 *>calloc(1, sizeof(ccudart.dim3))
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":1083
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.dim3)))
 *         else:
 *             self._ptr_owner = False             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.dim3 *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 */
  /*else*/ {
    __pyx_v_self->_ptr_owner = 0;

    /* "cuda/cudart.pyx":1084
 *         else:
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.dim3 *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_dim3 *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":1076
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.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":1085
 *             self._ptr_owner = False
 *             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, 1085, __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, 1085, __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, 1085, __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], 1085, 0, __PYX_ERR(0, 1085, __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":1087
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

/* 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__(struct __pyx_obj_4cuda_6cudart_dim3 *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 1087, 0, __PYX_ERR(0, 1087, __pyx_L1_error));

  /* "cuda/cudart.pyx":1088
 *         pass
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  __pyx_t_2 = ((__pyx_v_self->_ptr_owner == 1) != 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = ((__pyx_v_self->_ptr != NULL) != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":1089
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */
    free(__pyx_v_self->_ptr);

    /* "cuda/cudart.pyx":1088
 *         pass
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  }

  /* "cuda/cudart.pyx":1087
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

  /* 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":1091
 *             free(self._ptr)
 *         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__47)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 1091, 0, __PYX_ERR(0, 1091, __pyx_L1_error));

  /* "cuda/cudart.pyx":1092
 *         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, 1092, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":1091
 *             free(self._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.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":1093
 *     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], 1093, 0, __PYX_ERR(0, 1093, __pyx_L1_error));

  /* "cuda/cudart.pyx":1094
 *         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":1095
 *     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, 1095, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":1096
 *         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, 1096, __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, 1096, __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, 1096, __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, 1096, __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, 1096, __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":1097
 *             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, 1097, __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, 1097, __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, 1097, __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, 1097, __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, 1097, __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":1098
 *             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, 1098, __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, 1098, __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, 1098, __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, 1098, __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, 1098, __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":1099
 *             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__48, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1099, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":1094
 *         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":1101
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__49);
    __pyx_r = __pyx_kp_u__49;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":1093
 *     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":1104
 * 
 *     @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], 1104, 0, __PYX_ERR(0, 1104, __pyx_L1_error));

  /* "cuda/cudart.pyx":1105
 *     @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, 1105, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":1104
 * 
 *     @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":1107
 *         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, 1107, __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], 1107, 0, __PYX_ERR(0, 1107, __pyx_L1_error));

  /* "cuda/cudart.pyx":1109
 *     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":1107
 *         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":1111
 *         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], 1111, 0, __PYX_ERR(0, 1111, __pyx_L1_error));

  /* "cuda/cudart.pyx":1112
 *     @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, 1112, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":1111
 *         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":1114
 *         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, 1114, __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], 1114, 0, __PYX_ERR(0, 1114, __pyx_L1_error));

  /* "cuda/cudart.pyx":1116
 *     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":1114
 *         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":1118
 *         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], 1118, 0, __PYX_ERR(0, 1118, __pyx_L1_error));

  /* "cuda/cudart.pyx":1119
 *     @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, 1119, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":1118
 *         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":1121
 *         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, 1121, __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], 1121, 0, __PYX_ERR(0, 1121, __pyx_L1_error));

  /* "cuda/cudart.pyx":1123
 *     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":1121
 *         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__50)
  __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__51, 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__52)
  __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__53, 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":1148
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

/* 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, 1148, __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, 1148, __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, 1148, __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;
  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("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 1148, 0, __PYX_ERR(0, 1148, __pyx_L1_error));

  /* "cuda/cudart.pyx":1149
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaChannelFormatDesc *>calloc(1, sizeof(ccudart.cudaChannelFormatDesc))
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":1150
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr_owner = True             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaChannelFormatDesc *>calloc(1, sizeof(ccudart.cudaChannelFormatDesc))
 *             if self._ptr is NULL:
 */
    __pyx_v_self->_ptr_owner = 1;

    /* "cuda/cudart.pyx":1151
 *         if _ptr == 0:
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaChannelFormatDesc *>calloc(1, sizeof(ccudart.cudaChannelFormatDesc))             # <<<<<<<<<<<<<<
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaChannelFormatDesc)))
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaChannelFormatDesc *)calloc(1, (sizeof(struct __pyx_t_4cuda_7ccudart_cudaChannelFormatDesc))));

    /* "cuda/cudart.pyx":1152
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaChannelFormatDesc *>calloc(1, sizeof(ccudart.cudaChannelFormatDesc))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaChannelFormatDesc)))
 *         else:
 */
    __pyx_t_1 = ((__pyx_v_self->_ptr == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":1153
 *             self._ptr = <ccudart.cudaChannelFormatDesc *>calloc(1, sizeof(ccudart.cudaChannelFormatDesc))
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaChannelFormatDesc)))             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr_owner = False
 */
      __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(struct __pyx_t_4cuda_7ccudart_cudaChannelFormatDesc))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1153, __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, 1153, __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_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1153, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1153, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 1153, __pyx_L1_error)

      /* "cuda/cudart.pyx":1152
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaChannelFormatDesc *>calloc(1, sizeof(ccudart.cudaChannelFormatDesc))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaChannelFormatDesc)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":1149
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaChannelFormatDesc *>calloc(1, sizeof(ccudart.cudaChannelFormatDesc))
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":1155
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaChannelFormatDesc)))
 *         else:
 *             self._ptr_owner = False             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaChannelFormatDesc *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 */
  /*else*/ {
    __pyx_v_self->_ptr_owner = 0;

    /* "cuda/cudart.pyx":1156
 *         else:
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaChannelFormatDesc *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaChannelFormatDesc *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":1148
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.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":1157
 *             self._ptr_owner = False
 *             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, 1157, __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, 1157, __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, 1157, __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], 1157, 0, __PYX_ERR(0, 1157, __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":1159
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

/* 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__(struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 1159, 0, __PYX_ERR(0, 1159, __pyx_L1_error));

  /* "cuda/cudart.pyx":1160
 *         pass
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  __pyx_t_2 = ((__pyx_v_self->_ptr_owner == 1) != 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = ((__pyx_v_self->_ptr != NULL) != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":1161
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */
    free(__pyx_v_self->_ptr);

    /* "cuda/cudart.pyx":1160
 *         pass
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  }

  /* "cuda/cudart.pyx":1159
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

  /* 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":1163
 *             free(self._ptr)
 *         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__54)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 1163, 0, __PYX_ERR(0, 1163, __pyx_L1_error));

  /* "cuda/cudart.pyx":1164
 *         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, 1164, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":1163
 *             free(self._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.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":1165
 *     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], 1165, 0, __PYX_ERR(0, 1165, __pyx_L1_error));

  /* "cuda/cudart.pyx":1166
 *         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":1167
 *     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, 1167, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":1168
 *         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, 1168, __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, 1168, __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, 1168, __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, 1168, __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, 1168, __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":1169
 *             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, 1169, __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, 1169, __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, 1169, __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, 1169, __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, 1169, __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":1170
 *             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, 1170, __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, 1170, __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, 1170, __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, 1170, __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, 1170, __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":1171
 *             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, 1171, __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, 1171, __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, 1171, __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, 1171, __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, 1171, __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":1172
 *             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, 1172, __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, 1172, __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, 1172, __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, 1172, __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, 1172, __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":1173
 *             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__48, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1173, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":1166
 *         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":1175
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__49);
    __pyx_r = __pyx_kp_u__49;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":1165
 *     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":1178
 * 
 *     @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], 1178, 0, __PYX_ERR(0, 1178, __pyx_L1_error));

  /* "cuda/cudart.pyx":1179
 *     @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, 1179, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":1178
 * 
 *     @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":1181
 *         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, 1181, __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], 1181, 0, __PYX_ERR(0, 1181, __pyx_L1_error));

  /* "cuda/cudart.pyx":1183
 *     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":1181
 *         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":1185
 *         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], 1185, 0, __PYX_ERR(0, 1185, __pyx_L1_error));

  /* "cuda/cudart.pyx":1186
 *     @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, 1186, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":1185
 *         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":1188
 *         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, 1188, __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], 1188, 0, __PYX_ERR(0, 1188, __pyx_L1_error));

  /* "cuda/cudart.pyx":1190
 *     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":1188
 *         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":1192
 *         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], 1192, 0, __PYX_ERR(0, 1192, __pyx_L1_error));

  /* "cuda/cudart.pyx":1193
 *     @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, 1193, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":1192
 *         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":1195
 *         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, 1195, __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], 1195, 0, __PYX_ERR(0, 1195, __pyx_L1_error));

  /* "cuda/cudart.pyx":1197
 *     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":1195
 *         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":1199
 *         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], 1199, 0, __PYX_ERR(0, 1199, __pyx_L1_error));

  /* "cuda/cudart.pyx":1200
 *     @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, 1200, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":1199
 *         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":1202
 *         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, 1202, __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], 1202, 0, __PYX_ERR(0, 1202, __pyx_L1_error));

  /* "cuda/cudart.pyx":1204
 *     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":1202
 *         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":1206
 *         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], 1206, 0, __PYX_ERR(0, 1206, __pyx_L1_error));

  /* "cuda/cudart.pyx":1207
 *     @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, 1207, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaChannelFormatKind((__pyx_v_self->_ptr[0]).f); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1207, __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, 1207, __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":1206
 *         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":1209
 *         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, 1209, __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 __pyx_t_4cuda_7ccudart_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], 1209, 0, __PYX_ERR(0, 1209, __pyx_L1_error));

  /* "cuda/cudart.pyx":1211
 *     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, 1211, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaChannelFormatKind(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1211, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).f = __pyx_t_2;

  /* "cuda/cudart.pyx":1209
 *         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__55)
  __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__56, 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__57)
  __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__58, 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":1231
 * 
 *     """
 *     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, 1231, __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, 1231, __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, 1231, __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], 1231, 0, __PYX_ERR(0, 1231, __pyx_L1_error));

  /* "cuda/cudart.pyx":1232
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaArraySparseProperties *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr):
 *         pass
 */
  __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaArraySparseProperties *)__pyx_v__ptr);

  /* "cuda/cudart.pyx":1231
 * 
 *     """
 *     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":1233
 *     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, 1233, __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, 1233, __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, 1233, __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], 1233, 0, __PYX_ERR(0, 1233, __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":1235
 *     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__59)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 1235, 0, __PYX_ERR(0, 1235, __pyx_L1_error));

  /* "cuda/cudart.pyx":1236
 *         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, 1236, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":1235
 *     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":1237
 *     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], 1237, 0, __PYX_ERR(0, 1237, __pyx_L1_error));

  /* "cuda/cudart.pyx":1238
 *         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":1239
 *     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, 1239, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":1240
 *         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, 1240, __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, 1240, __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, 1240, __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, 1240, __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, 1240, __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":1241
 *             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, 1241, __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, 1241, __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, 1241, __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, 1241, __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, 1241, __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":1242
 *             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, 1242, __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, 1242, __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, 1242, __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, 1242, __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, 1242, __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":1243
 *             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__48, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1243, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":1238
 *         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":1245
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__49);
    __pyx_r = __pyx_kp_u__49;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":1237
 *     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":1248
 * 
 *     @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], 1248, 0, __PYX_ERR(0, 1248, __pyx_L1_error));

  /* "cuda/cudart.pyx":1249
 *     @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, 1249, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":1248
 * 
 *     @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":1251
 *         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, 1251, __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], 1251, 0, __PYX_ERR(0, 1251, __pyx_L1_error));

  /* "cuda/cudart.pyx":1253
 *     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":1251
 *         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":1255
 *         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], 1255, 0, __PYX_ERR(0, 1255, __pyx_L1_error));

  /* "cuda/cudart.pyx":1256
 *     @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, 1256, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":1255
 *         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":1258
 *         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, 1258, __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], 1258, 0, __PYX_ERR(0, 1258, __pyx_L1_error));

  /* "cuda/cudart.pyx":1260
 *     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":1258
 *         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":1262
 *         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], 1262, 0, __PYX_ERR(0, 1262, __pyx_L1_error));

  /* "cuda/cudart.pyx":1263
 *     @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, 1263, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":1262
 *         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":1265
 *         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, 1265, __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], 1265, 0, __PYX_ERR(0, 1265, __pyx_L1_error));

  /* "cuda/cudart.pyx":1267
 *     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":1265
 *         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__60)
  __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__61, 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__62)
  __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__63, 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":1292
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

/* 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, 1292, __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, 1292, __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, 1292, __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;
  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("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 1292, 0, __PYX_ERR(0, 1292, __pyx_L1_error));

  /* "cuda/cudart.pyx":1293
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaArraySparseProperties *>calloc(1, sizeof(ccudart.cudaArraySparseProperties))
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":1294
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr_owner = True             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaArraySparseProperties *>calloc(1, sizeof(ccudart.cudaArraySparseProperties))
 *             if self._ptr is NULL:
 */
    __pyx_v_self->_ptr_owner = 1;

    /* "cuda/cudart.pyx":1295
 *         if _ptr == 0:
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaArraySparseProperties *>calloc(1, sizeof(ccudart.cudaArraySparseProperties))             # <<<<<<<<<<<<<<
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaArraySparseProperties)))
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaArraySparseProperties *)calloc(1, (sizeof(struct __pyx_t_4cuda_7ccudart_cudaArraySparseProperties))));

    /* "cuda/cudart.pyx":1296
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaArraySparseProperties *>calloc(1, sizeof(ccudart.cudaArraySparseProperties))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaArraySparseProperties)))
 *         else:
 */
    __pyx_t_1 = ((__pyx_v_self->_ptr == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":1297
 *             self._ptr = <ccudart.cudaArraySparseProperties *>calloc(1, sizeof(ccudart.cudaArraySparseProperties))
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaArraySparseProperties)))             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr_owner = False
 */
      __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(struct __pyx_t_4cuda_7ccudart_cudaArraySparseProperties))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1297, __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, 1297, __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_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1297, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1297, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 1297, __pyx_L1_error)

      /* "cuda/cudart.pyx":1296
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaArraySparseProperties *>calloc(1, sizeof(ccudart.cudaArraySparseProperties))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaArraySparseProperties)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":1293
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaArraySparseProperties *>calloc(1, sizeof(ccudart.cudaArraySparseProperties))
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":1299
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaArraySparseProperties)))
 *         else:
 *             self._ptr_owner = False             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaArraySparseProperties *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 */
  /*else*/ {
    __pyx_v_self->_ptr_owner = 0;

    /* "cuda/cudart.pyx":1300
 *         else:
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaArraySparseProperties *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._tileExtent = _cudaArraySparseProperties_tileExtent_s(_ptr=<void_ptr>self._ptr)
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaArraySparseProperties *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":1292
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.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":1301
 *             self._ptr_owner = False
 *             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, 1301, __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, 1301, __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, 1301, __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], 1301, 0, __PYX_ERR(0, 1301, __pyx_L1_error));

  /* "cuda/cudart.pyx":1302
 *             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):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1302, __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, 1302, __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, 1302, __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, 1302, __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":1301
 *             self._ptr_owner = False
 *             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":1303
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._tileExtent = _cudaArraySparseProperties_tileExtent_s(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

/* 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__(struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 1303, 0, __PYX_ERR(0, 1303, __pyx_L1_error));

  /* "cuda/cudart.pyx":1304
 *         self._tileExtent = _cudaArraySparseProperties_tileExtent_s(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  __pyx_t_2 = ((__pyx_v_self->_ptr_owner == 1) != 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = ((__pyx_v_self->_ptr != NULL) != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":1305
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */
    free(__pyx_v_self->_ptr);

    /* "cuda/cudart.pyx":1304
 *         self._tileExtent = _cudaArraySparseProperties_tileExtent_s(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  }

  /* "cuda/cudart.pyx":1303
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._tileExtent = _cudaArraySparseProperties_tileExtent_s(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

  /* 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":1307
 *             free(self._ptr)
 *         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__64)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 1307, 0, __PYX_ERR(0, 1307, __pyx_L1_error));

  /* "cuda/cudart.pyx":1308
 *         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, 1308, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":1307
 *             free(self._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.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":1309
 *     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], 1309, 0, __PYX_ERR(0, 1309, __pyx_L1_error));

  /* "cuda/cudart.pyx":1310
 *         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":1311
 *     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, 1311, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":1312
 *         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, 1312, __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, 1312, __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, 1312, __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, 1312, __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, 1312, __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, 1312, __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__65, __pyx_7genexpr__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1312, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 1312, __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__48, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1312, __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, 1312, __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, 1312, __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, 1312, __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":1313
 *             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, 1313, __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, 1313, __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, 1313, __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, 1313, __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, 1313, __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":1314
 *             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, 1314, __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, 1314, __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, 1314, __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, 1314, __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, 1314, __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":1315
 *             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, 1315, __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, 1315, __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, 1315, __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, 1315, __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, 1315, __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":1316
 *             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, 1316, __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, 1316, __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, 1316, __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, 1316, __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, 1316, __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":1317
 *             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__48, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1317, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":1310
 *         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":1319
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__49);
    __pyx_r = __pyx_kp_u__49;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":1309
 *     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":1322
 * 
 *     @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], 1322, 0, __PYX_ERR(0, 1322, __pyx_L1_error));

  /* "cuda/cudart.pyx":1323
 *     @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":1322
 * 
 *     @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":1325
 *         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, 1325, __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], 1325, 0, __PYX_ERR(0, 1325, __pyx_L1_error));

  /* "cuda/cudart.pyx":1327
 *     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, 1327, __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, 1327, __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, 1327, __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, 1327, __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, 1327, __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, 1327, __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, 1327, __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, 1327, __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":1328
 *         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, 1328, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":1329
 *         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":1328
 *         pass
 *         for _attr in dir(tileExtent):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":1330
 *             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, 1330, __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__66) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__66);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1330, __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, 1330, __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":1331
 *                 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, 1331, __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, 1331, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":1330
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._tileExtent, _attr, getattr(tileExtent, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":1327
 *     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":1325
 *         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":1333
 *                 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], 1333, 0, __PYX_ERR(0, 1333, __pyx_L1_error));

  /* "cuda/cudart.pyx":1334
 *     @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, 1334, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":1333
 *                 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":1336
 *         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, 1336, __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], 1336, 0, __PYX_ERR(0, 1336, __pyx_L1_error));

  /* "cuda/cudart.pyx":1338
 *     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":1336
 *         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":1340
 *         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], 1340, 0, __PYX_ERR(0, 1340, __pyx_L1_error));

  /* "cuda/cudart.pyx":1341
 *     @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, 1341, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":1340
 *         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":1343
 *         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, 1343, __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], 1343, 0, __PYX_ERR(0, 1343, __pyx_L1_error));

  /* "cuda/cudart.pyx":1345
 *     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":1343
 *         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":1347
 *         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], 1347, 0, __PYX_ERR(0, 1347, __pyx_L1_error));

  /* "cuda/cudart.pyx":1348
 *     @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, 1348, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":1347
 *         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":1350
 *         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, 1350, __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], 1350, 0, __PYX_ERR(0, 1350, __pyx_L1_error));

  /* "cuda/cudart.pyx":1352
 *     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":1350
 *         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":1354
 *         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], 1354, 0, __PYX_ERR(0, 1354, __pyx_L1_error));

  /* "cuda/cudart.pyx":1355
 *     @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, 1355, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":1354
 *         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":1357
 *         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], 1357, 0, __PYX_ERR(0, 1357, __pyx_L1_error));

  /* "cuda/cudart.pyx":1359
 *     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, 1359, __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":1357
 *         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__67)
  __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__68, 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__69)
  __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__70, 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":1382
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

/* 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, 1382, __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, 1382, __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, 1382, __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;
  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("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 1382, 0, __PYX_ERR(0, 1382, __pyx_L1_error));

  /* "cuda/cudart.pyx":1383
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaPitchedPtr *>calloc(1, sizeof(ccudart.cudaPitchedPtr))
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":1384
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr_owner = True             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaPitchedPtr *>calloc(1, sizeof(ccudart.cudaPitchedPtr))
 *             if self._ptr is NULL:
 */
    __pyx_v_self->_ptr_owner = 1;

    /* "cuda/cudart.pyx":1385
 *         if _ptr == 0:
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaPitchedPtr *>calloc(1, sizeof(ccudart.cudaPitchedPtr))             # <<<<<<<<<<<<<<
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaPitchedPtr)))
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaPitchedPtr *)calloc(1, (sizeof(struct __pyx_t_4cuda_7ccudart_cudaPitchedPtr))));

    /* "cuda/cudart.pyx":1386
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaPitchedPtr *>calloc(1, sizeof(ccudart.cudaPitchedPtr))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaPitchedPtr)))
 *         else:
 */
    __pyx_t_1 = ((__pyx_v_self->_ptr == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":1387
 *             self._ptr = <ccudart.cudaPitchedPtr *>calloc(1, sizeof(ccudart.cudaPitchedPtr))
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaPitchedPtr)))             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr_owner = False
 */
      __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(struct __pyx_t_4cuda_7ccudart_cudaPitchedPtr))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1387, __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, 1387, __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_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1387, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1387, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 1387, __pyx_L1_error)

      /* "cuda/cudart.pyx":1386
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaPitchedPtr *>calloc(1, sizeof(ccudart.cudaPitchedPtr))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaPitchedPtr)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":1383
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaPitchedPtr *>calloc(1, sizeof(ccudart.cudaPitchedPtr))
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":1389
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaPitchedPtr)))
 *         else:
 *             self._ptr_owner = False             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaPitchedPtr *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 */
  /*else*/ {
    __pyx_v_self->_ptr_owner = 0;

    /* "cuda/cudart.pyx":1390
 *         else:
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaPitchedPtr *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaPitchedPtr *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":1382
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.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":1391
 *             self._ptr_owner = False
 *             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, 1391, __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, 1391, __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, 1391, __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], 1391, 0, __PYX_ERR(0, 1391, __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":1393
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

/* 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__(struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 1393, 0, __PYX_ERR(0, 1393, __pyx_L1_error));

  /* "cuda/cudart.pyx":1394
 *         pass
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  __pyx_t_2 = ((__pyx_v_self->_ptr_owner == 1) != 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = ((__pyx_v_self->_ptr != NULL) != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":1395
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */
    free(__pyx_v_self->_ptr);

    /* "cuda/cudart.pyx":1394
 *         pass
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  }

  /* "cuda/cudart.pyx":1393
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

  /* 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":1397
 *             free(self._ptr)
 *         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__71)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 1397, 0, __PYX_ERR(0, 1397, __pyx_L1_error));

  /* "cuda/cudart.pyx":1398
 *         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, 1398, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":1397
 *             free(self._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.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":1399
 *     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], 1399, 0, __PYX_ERR(0, 1399, __pyx_L1_error));

  /* "cuda/cudart.pyx":1400
 *         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":1401
 *     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, 1401, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":1402
 *         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, 1402, __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, 1402, __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, 1402, __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, 1402, __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, 1402, __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":1403
 *             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, 1403, __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, 1403, __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, 1403, __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, 1403, __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, 1403, __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":1404
 *             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, 1404, __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, 1404, __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, 1404, __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, 1404, __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, 1404, __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":1405
 *             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, 1405, __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, 1405, __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, 1405, __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, 1405, __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, 1405, __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":1406
 *             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__48, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1406, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":1400
 *         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":1408
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__49);
    __pyx_r = __pyx_kp_u__49;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":1399
 *     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":1411
 * 
 *     @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], 1411, 0, __PYX_ERR(0, 1411, __pyx_L1_error));

  /* "cuda/cudart.pyx":1412
 *     @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, 1412, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":1411
 * 
 *     @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":1414
 *         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], 1414, 0, __PYX_ERR(0, 1414, __pyx_L1_error));

  /* "cuda/cudart.pyx":1415
 *     @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, 1415, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__cptr = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":1416
 *     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, 1416, __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, 1416, __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":1414
 *         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":1418
 *         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], 1418, 0, __PYX_ERR(0, 1418, __pyx_L1_error));

  /* "cuda/cudart.pyx":1419
 *     @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, 1419, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":1418
 *         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":1421
 *         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, 1421, __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], 1421, 0, __PYX_ERR(0, 1421, __pyx_L1_error));

  /* "cuda/cudart.pyx":1423
 *     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":1421
 *         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":1425
 *         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], 1425, 0, __PYX_ERR(0, 1425, __pyx_L1_error));

  /* "cuda/cudart.pyx":1426
 *     @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, 1426, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":1425
 *         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":1428
 *         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, 1428, __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], 1428, 0, __PYX_ERR(0, 1428, __pyx_L1_error));

  /* "cuda/cudart.pyx":1430
 *     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":1428
 *         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":1432
 *         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], 1432, 0, __PYX_ERR(0, 1432, __pyx_L1_error));

  /* "cuda/cudart.pyx":1433
 *     @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, 1433, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":1432
 *         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":1435
 *         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, 1435, __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], 1435, 0, __PYX_ERR(0, 1435, __pyx_L1_error));

  /* "cuda/cudart.pyx":1437
 *     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":1435
 *         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__72)
  __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__73, 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__74)
  __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__75, 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":1459
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

/* 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, 1459, __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, 1459, __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, 1459, __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;
  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("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 1459, 0, __PYX_ERR(0, 1459, __pyx_L1_error));

  /* "cuda/cudart.pyx":1460
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaExtent *>calloc(1, sizeof(ccudart.cudaExtent))
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":1461
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr_owner = True             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaExtent *>calloc(1, sizeof(ccudart.cudaExtent))
 *             if self._ptr is NULL:
 */
    __pyx_v_self->_ptr_owner = 1;

    /* "cuda/cudart.pyx":1462
 *         if _ptr == 0:
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaExtent *>calloc(1, sizeof(ccudart.cudaExtent))             # <<<<<<<<<<<<<<
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaExtent)))
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaExtent *)calloc(1, (sizeof(struct __pyx_t_4cuda_7ccudart_cudaExtent))));

    /* "cuda/cudart.pyx":1463
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaExtent *>calloc(1, sizeof(ccudart.cudaExtent))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaExtent)))
 *         else:
 */
    __pyx_t_1 = ((__pyx_v_self->_ptr == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":1464
 *             self._ptr = <ccudart.cudaExtent *>calloc(1, sizeof(ccudart.cudaExtent))
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaExtent)))             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr_owner = False
 */
      __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(struct __pyx_t_4cuda_7ccudart_cudaExtent))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1464, __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, 1464, __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_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1464, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1464, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 1464, __pyx_L1_error)

      /* "cuda/cudart.pyx":1463
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaExtent *>calloc(1, sizeof(ccudart.cudaExtent))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaExtent)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":1460
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaExtent *>calloc(1, sizeof(ccudart.cudaExtent))
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":1466
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaExtent)))
 *         else:
 *             self._ptr_owner = False             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaExtent *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 */
  /*else*/ {
    __pyx_v_self->_ptr_owner = 0;

    /* "cuda/cudart.pyx":1467
 *         else:
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaExtent *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaExtent *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":1459
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.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":1468
 *             self._ptr_owner = False
 *             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, 1468, __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, 1468, __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, 1468, __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], 1468, 0, __PYX_ERR(0, 1468, __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":1470
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

/* 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__(struct __pyx_obj_4cuda_6cudart_cudaExtent *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 1470, 0, __PYX_ERR(0, 1470, __pyx_L1_error));

  /* "cuda/cudart.pyx":1471
 *         pass
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  __pyx_t_2 = ((__pyx_v_self->_ptr_owner == 1) != 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = ((__pyx_v_self->_ptr != NULL) != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":1472
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */
    free(__pyx_v_self->_ptr);

    /* "cuda/cudart.pyx":1471
 *         pass
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  }

  /* "cuda/cudart.pyx":1470
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

  /* 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":1474
 *             free(self._ptr)
 *         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__76)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 1474, 0, __PYX_ERR(0, 1474, __pyx_L1_error));

  /* "cuda/cudart.pyx":1475
 *         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, 1475, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":1474
 *             free(self._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.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":1476
 *     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], 1476, 0, __PYX_ERR(0, 1476, __pyx_L1_error));

  /* "cuda/cudart.pyx":1477
 *         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":1478
 *     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, 1478, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":1479
 *         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, 1479, __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, 1479, __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, 1479, __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, 1479, __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, 1479, __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":1480
 *             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, 1480, __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, 1480, __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, 1480, __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, 1480, __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, 1480, __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":1481
 *             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, 1481, __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, 1481, __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, 1481, __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, 1481, __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, 1481, __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":1482
 *             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__48, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1482, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":1477
 *         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":1484
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__49);
    __pyx_r = __pyx_kp_u__49;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":1476
 *     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":1487
 * 
 *     @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], 1487, 0, __PYX_ERR(0, 1487, __pyx_L1_error));

  /* "cuda/cudart.pyx":1488
 *     @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, 1488, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":1487
 * 
 *     @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":1490
 *         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, 1490, __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], 1490, 0, __PYX_ERR(0, 1490, __pyx_L1_error));

  /* "cuda/cudart.pyx":1492
 *     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":1490
 *         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":1494
 *         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], 1494, 0, __PYX_ERR(0, 1494, __pyx_L1_error));

  /* "cuda/cudart.pyx":1495
 *     @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, 1495, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":1494
 *         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":1497
 *         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, 1497, __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], 1497, 0, __PYX_ERR(0, 1497, __pyx_L1_error));

  /* "cuda/cudart.pyx":1499
 *     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":1497
 *         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":1501
 *         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], 1501, 0, __PYX_ERR(0, 1501, __pyx_L1_error));

  /* "cuda/cudart.pyx":1502
 *     @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, 1502, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":1501
 *         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":1504
 *         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, 1504, __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], 1504, 0, __PYX_ERR(0, 1504, __pyx_L1_error));

  /* "cuda/cudart.pyx":1506
 *     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":1504
 *         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__77)
  __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__78, 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__79)
  __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__80, 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":1527
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

/* 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, 1527, __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, 1527, __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, 1527, __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;
  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("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 1527, 0, __PYX_ERR(0, 1527, __pyx_L1_error));

  /* "cuda/cudart.pyx":1528
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaPos *>calloc(1, sizeof(ccudart.cudaPos))
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":1529
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr_owner = True             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaPos *>calloc(1, sizeof(ccudart.cudaPos))
 *             if self._ptr is NULL:
 */
    __pyx_v_self->_ptr_owner = 1;

    /* "cuda/cudart.pyx":1530
 *         if _ptr == 0:
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaPos *>calloc(1, sizeof(ccudart.cudaPos))             # <<<<<<<<<<<<<<
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaPos)))
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaPos *)calloc(1, (sizeof(struct __pyx_t_4cuda_7ccudart_cudaPos))));

    /* "cuda/cudart.pyx":1531
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaPos *>calloc(1, sizeof(ccudart.cudaPos))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaPos)))
 *         else:
 */
    __pyx_t_1 = ((__pyx_v_self->_ptr == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":1532
 *             self._ptr = <ccudart.cudaPos *>calloc(1, sizeof(ccudart.cudaPos))
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaPos)))             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr_owner = False
 */
      __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(struct __pyx_t_4cuda_7ccudart_cudaPos))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1532, __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, 1532, __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_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1532, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1532, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 1532, __pyx_L1_error)

      /* "cuda/cudart.pyx":1531
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaPos *>calloc(1, sizeof(ccudart.cudaPos))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaPos)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":1528
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaPos *>calloc(1, sizeof(ccudart.cudaPos))
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":1534
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaPos)))
 *         else:
 *             self._ptr_owner = False             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaPos *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 */
  /*else*/ {
    __pyx_v_self->_ptr_owner = 0;

    /* "cuda/cudart.pyx":1535
 *         else:
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaPos *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaPos *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":1527
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.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":1536
 *             self._ptr_owner = False
 *             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, 1536, __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, 1536, __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, 1536, __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], 1536, 0, __PYX_ERR(0, 1536, __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":1538
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

/* 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__(struct __pyx_obj_4cuda_6cudart_cudaPos *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 1538, 0, __PYX_ERR(0, 1538, __pyx_L1_error));

  /* "cuda/cudart.pyx":1539
 *         pass
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  __pyx_t_2 = ((__pyx_v_self->_ptr_owner == 1) != 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = ((__pyx_v_self->_ptr != NULL) != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":1540
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */
    free(__pyx_v_self->_ptr);

    /* "cuda/cudart.pyx":1539
 *         pass
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  }

  /* "cuda/cudart.pyx":1538
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

  /* 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":1542
 *             free(self._ptr)
 *         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__81)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 1542, 0, __PYX_ERR(0, 1542, __pyx_L1_error));

  /* "cuda/cudart.pyx":1543
 *         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, 1543, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":1542
 *             free(self._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.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":1544
 *     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], 1544, 0, __PYX_ERR(0, 1544, __pyx_L1_error));

  /* "cuda/cudart.pyx":1545
 *         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":1546
 *     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, 1546, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":1547
 *         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, 1547, __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, 1547, __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, 1547, __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, 1547, __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, 1547, __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":1548
 *             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, 1548, __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, 1548, __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, 1548, __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, 1548, __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, 1548, __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":1549
 *             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, 1549, __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, 1549, __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, 1549, __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, 1549, __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, 1549, __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":1550
 *             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__48, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1550, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":1545
 *         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":1552
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__49);
    __pyx_r = __pyx_kp_u__49;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":1544
 *     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":1555
 * 
 *     @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], 1555, 0, __PYX_ERR(0, 1555, __pyx_L1_error));

  /* "cuda/cudart.pyx":1556
 *     @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, 1556, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":1555
 * 
 *     @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":1558
 *         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, 1558, __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], 1558, 0, __PYX_ERR(0, 1558, __pyx_L1_error));

  /* "cuda/cudart.pyx":1560
 *     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":1558
 *         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":1562
 *         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], 1562, 0, __PYX_ERR(0, 1562, __pyx_L1_error));

  /* "cuda/cudart.pyx":1563
 *     @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, 1563, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":1562
 *         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":1565
 *         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, 1565, __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], 1565, 0, __PYX_ERR(0, 1565, __pyx_L1_error));

  /* "cuda/cudart.pyx":1567
 *     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":1565
 *         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":1569
 *         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], 1569, 0, __PYX_ERR(0, 1569, __pyx_L1_error));

  /* "cuda/cudart.pyx":1570
 *     @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, 1570, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":1569
 *         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":1572
 *         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, 1572, __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], 1572, 0, __PYX_ERR(0, 1572, __pyx_L1_error));

  /* "cuda/cudart.pyx":1574
 *     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":1572
 *         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__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.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__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.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":1605
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

/* 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, 1605, __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, 1605, __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, 1605, __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;
  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("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 1605, 0, __PYX_ERR(0, 1605, __pyx_L1_error));

  /* "cuda/cudart.pyx":1606
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaMemcpy3DParms *>calloc(1, sizeof(ccudart.cudaMemcpy3DParms))
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":1607
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr_owner = True             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaMemcpy3DParms *>calloc(1, sizeof(ccudart.cudaMemcpy3DParms))
 *             if self._ptr is NULL:
 */
    __pyx_v_self->_ptr_owner = 1;

    /* "cuda/cudart.pyx":1608
 *         if _ptr == 0:
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaMemcpy3DParms *>calloc(1, sizeof(ccudart.cudaMemcpy3DParms))             # <<<<<<<<<<<<<<
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaMemcpy3DParms)))
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaMemcpy3DParms *)calloc(1, (sizeof(struct __pyx_t_4cuda_7ccudart_cudaMemcpy3DParms))));

    /* "cuda/cudart.pyx":1609
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaMemcpy3DParms *>calloc(1, sizeof(ccudart.cudaMemcpy3DParms))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaMemcpy3DParms)))
 *         else:
 */
    __pyx_t_1 = ((__pyx_v_self->_ptr == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":1610
 *             self._ptr = <ccudart.cudaMemcpy3DParms *>calloc(1, sizeof(ccudart.cudaMemcpy3DParms))
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaMemcpy3DParms)))             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr_owner = False
 */
      __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(struct __pyx_t_4cuda_7ccudart_cudaMemcpy3DParms))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1610, __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, 1610, __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_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1610, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1610, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 1610, __pyx_L1_error)

      /* "cuda/cudart.pyx":1609
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaMemcpy3DParms *>calloc(1, sizeof(ccudart.cudaMemcpy3DParms))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaMemcpy3DParms)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":1606
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaMemcpy3DParms *>calloc(1, sizeof(ccudart.cudaMemcpy3DParms))
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":1612
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaMemcpy3DParms)))
 *         else:
 *             self._ptr_owner = False             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaMemcpy3DParms *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 */
  /*else*/ {
    __pyx_v_self->_ptr_owner = 0;

    /* "cuda/cudart.pyx":1613
 *         else:
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaMemcpy3DParms *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._srcArray = cudaArray_t(_ptr=<void_ptr>&self._ptr[0].srcArray)
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaMemcpy3DParms *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":1605
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.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":1614
 *             self._ptr_owner = False
 *             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, 1614, __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, 1614, __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, 1614, __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], 1614, 0, __PYX_ERR(0, 1614, __pyx_L1_error));

  /* "cuda/cudart.pyx":1615
 *             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, 1615, __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, 1615, __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, 1615, __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, 1615, __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":1616
 *     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, 1616, __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, 1616, __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, 1616, __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, 1616, __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":1617
 *         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, 1617, __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, 1617, __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, 1617, __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, 1617, __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":1618
 *         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, 1618, __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, 1618, __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, 1618, __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, 1618, __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":1619
 *         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, 1619, __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, 1619, __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, 1619, __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, 1619, __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":1620
 *         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, 1620, __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, 1620, __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, 1620, __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, 1620, __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":1621
 *         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):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1621, __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, 1621, __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, 1621, __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, 1621, __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":1614
 *             self._ptr_owner = False
 *             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":1622
 *         self._dstPtr = cudaPitchedPtr(_ptr=<void_ptr>&self._ptr[0].dstPtr)
 *         self._extent = cudaExtent(_ptr=<void_ptr>&self._ptr[0].extent)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

/* 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__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 1622, 0, __PYX_ERR(0, 1622, __pyx_L1_error));

  /* "cuda/cudart.pyx":1623
 *         self._extent = cudaExtent(_ptr=<void_ptr>&self._ptr[0].extent)
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  __pyx_t_2 = ((__pyx_v_self->_ptr_owner == 1) != 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = ((__pyx_v_self->_ptr != NULL) != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":1624
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */
    free(__pyx_v_self->_ptr);

    /* "cuda/cudart.pyx":1623
 *         self._extent = cudaExtent(_ptr=<void_ptr>&self._ptr[0].extent)
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  }

  /* "cuda/cudart.pyx":1622
 *         self._dstPtr = cudaPitchedPtr(_ptr=<void_ptr>&self._ptr[0].dstPtr)
 *         self._extent = cudaExtent(_ptr=<void_ptr>&self._ptr[0].extent)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

  /* 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":1626
 *             free(self._ptr)
 *         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__86)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 1626, 0, __PYX_ERR(0, 1626, __pyx_L1_error));

  /* "cuda/cudart.pyx":1627
 *         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, 1627, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":1626
 *             free(self._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.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":1628
 *     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], 1628, 0, __PYX_ERR(0, 1628, __pyx_L1_error));

  /* "cuda/cudart.pyx":1629
 *         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":1630
 *     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, 1630, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":1631
 *         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, 1631, __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, 1631, __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, 1631, __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, 1631, __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, 1631, __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":1632
 *             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, 1632, __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, 1632, __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, 1632, __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, 1632, __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, 1632, __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, 1632, __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__65, __pyx_8genexpr1__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1632, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 1632, __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__48, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1632, __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, 1632, __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, 1632, __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, 1632, __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":1633
 *             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, 1633, __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, 1633, __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, 1633, __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, 1633, __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, 1633, __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, 1633, __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__65, __pyx_8genexpr2__pyx_v_line); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1633, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_4);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_4))) __PYX_ERR(0, 1633, __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__48, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1633, __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, 1633, __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, 1633, __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, 1633, __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":1634
 *             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, 1634, __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, 1634, __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, 1634, __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, 1634, __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, 1634, __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":1635
 *             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, 1635, __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, 1635, __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, 1635, __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, 1635, __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, 1635, __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, 1635, __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__65, __pyx_8genexpr3__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1635, __pyx_L18_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 1635, __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__48, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1635, __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, 1635, __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, 1635, __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, 1635, __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":1636
 *             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, 1636, __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, 1636, __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, 1636, __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, 1636, __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, 1636, __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, 1636, __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__65, __pyx_8genexpr4__pyx_v_line); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1636, __pyx_L24_error)
        __Pyx_GOTREF(__pyx_t_4);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_4))) __PYX_ERR(0, 1636, __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__48, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1636, __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, 1636, __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, 1636, __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, 1636, __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":1637
 *             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, 1637, __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, 1637, __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, 1637, __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, 1637, __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, 1637, __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, 1637, __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__65, __pyx_8genexpr5__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1637, __pyx_L30_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 1637, __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__48, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1637, __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, 1637, __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, 1637, __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, 1637, __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":1638
 *             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, 1638, __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, 1638, __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, 1638, __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, 1638, __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, 1638, __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":1639
 *             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__48, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1639, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":1629
 *         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":1641
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__49);
    __pyx_r = __pyx_kp_u__49;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":1628
 *     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":1644
 * 
 *     @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], 1644, 0, __PYX_ERR(0, 1644, __pyx_L1_error));

  /* "cuda/cudart.pyx":1645
 *     @property
 *     def srcArray(self):
 *         return self._srcArray             # <<<<<<<<<<<<<<
 *     @srcArray.setter
 *     def srcArray(self, srcArray : cudaArray_t):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self->_srcArray));
  __pyx_r = ((PyObject *)__pyx_v_self->_srcArray);
  goto __pyx_L0;

  /* "cuda/cudart.pyx":1644
 * 
 *     @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":1647
 *         return self._srcArray
 *     @srcArray.setter
 *     def srcArray(self, srcArray : cudaArray_t):             # <<<<<<<<<<<<<<
 *         pass
 *         self._srcArray._ptr[0] = <ccudart.cudaArray_t> NULL if srcArray == None else (<cudaArray_t>srcArray)._ptr[0]
 */

/* 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_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_srcArray), __pyx_ptype_4cuda_6cudart_cudaArray_t, 1, "srcArray", 0))) __PYX_ERR(0, 1647, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_8srcArray_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *)__pyx_v_self), ((struct __pyx_obj_4cuda_6cudart_cudaArray_t *)__pyx_v_srcArray));

  /* 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_8srcArray_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_self, struct __pyx_obj_4cuda_6cudart_cudaArray_t *__pyx_v_srcArray) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __pyx_t_4cuda_7ccudart_cudaArray_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 1647, 0, __PYX_ERR(0, 1647, __pyx_L1_error));

  /* "cuda/cudart.pyx":1649
 *     def srcArray(self, srcArray : cudaArray_t):
 *         pass
 *         self._srcArray._ptr[0] = <ccudart.cudaArray_t> NULL if srcArray == None else (<cudaArray_t>srcArray)._ptr[0]             # <<<<<<<<<<<<<<
 *     @property
 *     def srcPos(self):
 */
  __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_srcArray), Py_None, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1649, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 1649, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {
    __pyx_t_1 = ((__pyx_t_4cuda_7ccudart_cudaArray_t)NULL);
  } else {
    __pyx_t_1 = (__pyx_v_srcArray->_ptr[0]);
  }
  (__pyx_v_self->_srcArray->_ptr[0]) = __pyx_t_1;

  /* "cuda/cudart.pyx":1647
 *         return self._srcArray
 *     @srcArray.setter
 *     def srcArray(self, srcArray : cudaArray_t):             # <<<<<<<<<<<<<<
 *         pass
 *         self._srcArray._ptr[0] = <ccudart.cudaArray_t> NULL if srcArray == None else (<cudaArray_t>srcArray)._ptr[0]
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy3DParms.srcArray.__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":1651
 *         self._srcArray._ptr[0] = <ccudart.cudaArray_t> NULL if srcArray == None else (<cudaArray_t>srcArray)._ptr[0]
 *     @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], 1651, 0, __PYX_ERR(0, 1651, __pyx_L1_error));

  /* "cuda/cudart.pyx":1652
 *     @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":1651
 *         self._srcArray._ptr[0] = <ccudart.cudaArray_t> NULL if srcArray == None else (<cudaArray_t>srcArray)._ptr[0]
 *     @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":1654
 *         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, 1654, __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], 1654, 0, __PYX_ERR(0, 1654, __pyx_L1_error));

  /* "cuda/cudart.pyx":1656
 *     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, 1656, __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, 1656, __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, 1656, __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, 1656, __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, 1656, __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, 1656, __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, 1656, __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, 1656, __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":1657
 *         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, 1657, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":1658
 *         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":1657
 *         pass
 *         for _attr in dir(srcPos):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":1659
 *             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, 1659, __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__66) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__66);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1659, __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, 1659, __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":1660
 *                 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, 1660, __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, 1660, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":1659
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._srcPos, _attr, getattr(srcPos, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":1656
 *     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":1654
 *         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":1662
 *                 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], 1662, 0, __PYX_ERR(0, 1662, __pyx_L1_error));

  /* "cuda/cudart.pyx":1663
 *     @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":1662
 *                 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":1665
 *         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, 1665, __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], 1665, 0, __PYX_ERR(0, 1665, __pyx_L1_error));

  /* "cuda/cudart.pyx":1667
 *     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, 1667, __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, 1667, __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, 1667, __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, 1667, __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, 1667, __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, 1667, __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, 1667, __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, 1667, __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":1668
 *         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, 1668, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":1669
 *         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":1668
 *         pass
 *         for _attr in dir(srcPtr):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":1670
 *             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, 1670, __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__66) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__66);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1670, __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, 1670, __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":1671
 *                 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, 1671, __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, 1671, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":1670
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._srcPtr, _attr, getattr(srcPtr, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":1667
 *     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":1665
 *         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":1673
 *                 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], 1673, 0, __PYX_ERR(0, 1673, __pyx_L1_error));

  /* "cuda/cudart.pyx":1674
 *     @property
 *     def dstArray(self):
 *         return self._dstArray             # <<<<<<<<<<<<<<
 *     @dstArray.setter
 *     def dstArray(self, dstArray : cudaArray_t):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self->_dstArray));
  __pyx_r = ((PyObject *)__pyx_v_self->_dstArray);
  goto __pyx_L0;

  /* "cuda/cudart.pyx":1673
 *                 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":1676
 *         return self._dstArray
 *     @dstArray.setter
 *     def dstArray(self, dstArray : cudaArray_t):             # <<<<<<<<<<<<<<
 *         pass
 *         self._dstArray._ptr[0] = <ccudart.cudaArray_t> NULL if dstArray == None else (<cudaArray_t>dstArray)._ptr[0]
 */

/* 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_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_dstArray), __pyx_ptype_4cuda_6cudart_cudaArray_t, 1, "dstArray", 0))) __PYX_ERR(0, 1676, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_17cudaMemcpy3DParms_8dstArray_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *)__pyx_v_self), ((struct __pyx_obj_4cuda_6cudart_cudaArray_t *)__pyx_v_dstArray));

  /* 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_8dstArray_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_self, struct __pyx_obj_4cuda_6cudart_cudaArray_t *__pyx_v_dstArray) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __pyx_t_4cuda_7ccudart_cudaArray_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 1676, 0, __PYX_ERR(0, 1676, __pyx_L1_error));

  /* "cuda/cudart.pyx":1678
 *     def dstArray(self, dstArray : cudaArray_t):
 *         pass
 *         self._dstArray._ptr[0] = <ccudart.cudaArray_t> NULL if dstArray == None else (<cudaArray_t>dstArray)._ptr[0]             # <<<<<<<<<<<<<<
 *     @property
 *     def dstPos(self):
 */
  __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_dstArray), Py_None, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1678, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 1678, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {
    __pyx_t_1 = ((__pyx_t_4cuda_7ccudart_cudaArray_t)NULL);
  } else {
    __pyx_t_1 = (__pyx_v_dstArray->_ptr[0]);
  }
  (__pyx_v_self->_dstArray->_ptr[0]) = __pyx_t_1;

  /* "cuda/cudart.pyx":1676
 *         return self._dstArray
 *     @dstArray.setter
 *     def dstArray(self, dstArray : cudaArray_t):             # <<<<<<<<<<<<<<
 *         pass
 *         self._dstArray._ptr[0] = <ccudart.cudaArray_t> NULL if dstArray == None else (<cudaArray_t>dstArray)._ptr[0]
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy3DParms.dstArray.__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":1680
 *         self._dstArray._ptr[0] = <ccudart.cudaArray_t> NULL if dstArray == None else (<cudaArray_t>dstArray)._ptr[0]
 *     @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], 1680, 0, __PYX_ERR(0, 1680, __pyx_L1_error));

  /* "cuda/cudart.pyx":1681
 *     @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":1680
 *         self._dstArray._ptr[0] = <ccudart.cudaArray_t> NULL if dstArray == None else (<cudaArray_t>dstArray)._ptr[0]
 *     @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":1683
 *         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, 1683, __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], 1683, 0, __PYX_ERR(0, 1683, __pyx_L1_error));

  /* "cuda/cudart.pyx":1685
 *     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, 1685, __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, 1685, __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, 1685, __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, 1685, __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, 1685, __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, 1685, __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, 1685, __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, 1685, __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":1686
 *         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, 1686, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":1687
 *         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":1686
 *         pass
 *         for _attr in dir(dstPos):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":1688
 *             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, 1688, __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__66) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__66);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1688, __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, 1688, __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":1689
 *                 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, 1689, __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, 1689, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":1688
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._dstPos, _attr, getattr(dstPos, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":1685
 *     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":1683
 *         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":1691
 *                 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], 1691, 0, __PYX_ERR(0, 1691, __pyx_L1_error));

  /* "cuda/cudart.pyx":1692
 *     @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":1691
 *                 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":1694
 *         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, 1694, __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], 1694, 0, __PYX_ERR(0, 1694, __pyx_L1_error));

  /* "cuda/cudart.pyx":1696
 *     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, 1696, __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, 1696, __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, 1696, __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, 1696, __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, 1696, __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, 1696, __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, 1696, __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, 1696, __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":1697
 *         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, 1697, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":1698
 *         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":1697
 *         pass
 *         for _attr in dir(dstPtr):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":1699
 *             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, 1699, __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__66) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__66);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1699, __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, 1699, __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":1700
 *                 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, 1700, __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, 1700, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":1699
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._dstPtr, _attr, getattr(dstPtr, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":1696
 *     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":1694
 *         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":1702
 *                 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], 1702, 0, __PYX_ERR(0, 1702, __pyx_L1_error));

  /* "cuda/cudart.pyx":1703
 *     @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":1702
 *                 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":1705
 *         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, 1705, __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], 1705, 0, __PYX_ERR(0, 1705, __pyx_L1_error));

  /* "cuda/cudart.pyx":1707
 *     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, 1707, __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, 1707, __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, 1707, __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, 1707, __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, 1707, __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, 1707, __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, 1707, __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, 1707, __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":1708
 *         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, 1708, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":1709
 *         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":1708
 *         pass
 *         for _attr in dir(extent):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":1710
 *             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, 1710, __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__66) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__66);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1710, __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, 1710, __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":1711
 *                 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, 1711, __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, 1711, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":1710
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._extent, _attr, getattr(extent, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":1707
 *     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":1705
 *         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":1713
 *                 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], 1713, 0, __PYX_ERR(0, 1713, __pyx_L1_error));

  /* "cuda/cudart.pyx":1714
 *     @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, 1714, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemcpyKind((__pyx_v_self->_ptr[0]).kind); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1714, __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, 1714, __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":1713
 *                 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":1716
 *         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, 1716, __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 __pyx_t_4cuda_7ccudart_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], 1716, 0, __PYX_ERR(0, 1716, __pyx_L1_error));

  /* "cuda/cudart.pyx":1718
 *     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, 1718, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaMemcpyKind(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1718, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).kind = __pyx_t_2;

  /* "cuda/cudart.pyx":1716
 *         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__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.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__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.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":1751
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

/* 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, 1751, __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, 1751, __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, 1751, __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;
  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("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 1751, 0, __PYX_ERR(0, 1751, __pyx_L1_error));

  /* "cuda/cudart.pyx":1752
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaMemcpy3DPeerParms *>calloc(1, sizeof(ccudart.cudaMemcpy3DPeerParms))
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":1753
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr_owner = True             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaMemcpy3DPeerParms *>calloc(1, sizeof(ccudart.cudaMemcpy3DPeerParms))
 *             if self._ptr is NULL:
 */
    __pyx_v_self->_ptr_owner = 1;

    /* "cuda/cudart.pyx":1754
 *         if _ptr == 0:
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaMemcpy3DPeerParms *>calloc(1, sizeof(ccudart.cudaMemcpy3DPeerParms))             # <<<<<<<<<<<<<<
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaMemcpy3DPeerParms)))
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaMemcpy3DPeerParms *)calloc(1, (sizeof(struct __pyx_t_4cuda_7ccudart_cudaMemcpy3DPeerParms))));

    /* "cuda/cudart.pyx":1755
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaMemcpy3DPeerParms *>calloc(1, sizeof(ccudart.cudaMemcpy3DPeerParms))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaMemcpy3DPeerParms)))
 *         else:
 */
    __pyx_t_1 = ((__pyx_v_self->_ptr == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":1756
 *             self._ptr = <ccudart.cudaMemcpy3DPeerParms *>calloc(1, sizeof(ccudart.cudaMemcpy3DPeerParms))
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaMemcpy3DPeerParms)))             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr_owner = False
 */
      __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(struct __pyx_t_4cuda_7ccudart_cudaMemcpy3DPeerParms))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1756, __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, 1756, __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_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1756, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1756, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 1756, __pyx_L1_error)

      /* "cuda/cudart.pyx":1755
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaMemcpy3DPeerParms *>calloc(1, sizeof(ccudart.cudaMemcpy3DPeerParms))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaMemcpy3DPeerParms)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":1752
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaMemcpy3DPeerParms *>calloc(1, sizeof(ccudart.cudaMemcpy3DPeerParms))
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":1758
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaMemcpy3DPeerParms)))
 *         else:
 *             self._ptr_owner = False             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaMemcpy3DPeerParms *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 */
  /*else*/ {
    __pyx_v_self->_ptr_owner = 0;

    /* "cuda/cudart.pyx":1759
 *         else:
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaMemcpy3DPeerParms *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._srcArray = cudaArray_t(_ptr=<void_ptr>&self._ptr[0].srcArray)
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaMemcpy3DPeerParms *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":1751
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.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":1760
 *             self._ptr_owner = False
 *             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, 1760, __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, 1760, __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, 1760, __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], 1760, 0, __PYX_ERR(0, 1760, __pyx_L1_error));

  /* "cuda/cudart.pyx":1761
 *             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, 1761, __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, 1761, __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, 1761, __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, 1761, __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":1762
 *     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, 1762, __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, 1762, __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, 1762, __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, 1762, __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":1763
 *         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, 1763, __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, 1763, __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, 1763, __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, 1763, __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":1764
 *         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, 1764, __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, 1764, __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, 1764, __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, 1764, __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":1765
 *         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, 1765, __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, 1765, __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, 1765, __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, 1765, __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":1766
 *         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, 1766, __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, 1766, __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, 1766, __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, 1766, __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":1767
 *         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):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1767, __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, 1767, __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, 1767, __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, 1767, __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":1760
 *             self._ptr_owner = False
 *             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":1768
 *         self._dstPtr = cudaPitchedPtr(_ptr=<void_ptr>&self._ptr[0].dstPtr)
 *         self._extent = cudaExtent(_ptr=<void_ptr>&self._ptr[0].extent)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

/* 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__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 1768, 0, __PYX_ERR(0, 1768, __pyx_L1_error));

  /* "cuda/cudart.pyx":1769
 *         self._extent = cudaExtent(_ptr=<void_ptr>&self._ptr[0].extent)
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  __pyx_t_2 = ((__pyx_v_self->_ptr_owner == 1) != 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = ((__pyx_v_self->_ptr != NULL) != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":1770
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */
    free(__pyx_v_self->_ptr);

    /* "cuda/cudart.pyx":1769
 *         self._extent = cudaExtent(_ptr=<void_ptr>&self._ptr[0].extent)
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  }

  /* "cuda/cudart.pyx":1768
 *         self._dstPtr = cudaPitchedPtr(_ptr=<void_ptr>&self._ptr[0].dstPtr)
 *         self._extent = cudaExtent(_ptr=<void_ptr>&self._ptr[0].extent)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

  /* 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":1772
 *             free(self._ptr)
 *         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__91)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 1772, 0, __PYX_ERR(0, 1772, __pyx_L1_error));

  /* "cuda/cudart.pyx":1773
 *         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, 1773, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":1772
 *             free(self._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.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":1774
 *     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], 1774, 0, __PYX_ERR(0, 1774, __pyx_L1_error));

  /* "cuda/cudart.pyx":1775
 *         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":1776
 *     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, 1776, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":1777
 *         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, 1777, __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, 1777, __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, 1777, __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, 1777, __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, 1777, __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":1778
 *             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, 1778, __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, 1778, __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, 1778, __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, 1778, __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, 1778, __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, 1778, __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__65, __pyx_8genexpr6__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1778, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 1778, __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__48, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1778, __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, 1778, __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, 1778, __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, 1778, __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":1779
 *             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, 1779, __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, 1779, __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, 1779, __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, 1779, __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, 1779, __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, 1779, __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__65, __pyx_8genexpr7__pyx_v_line); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1779, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_4);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_4))) __PYX_ERR(0, 1779, __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__48, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1779, __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, 1779, __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, 1779, __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, 1779, __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":1780
 *             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, 1780, __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, 1780, __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, 1780, __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, 1780, __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, 1780, __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":1781
 *             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, 1781, __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, 1781, __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, 1781, __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, 1781, __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, 1781, __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":1782
 *             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, 1782, __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, 1782, __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, 1782, __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, 1782, __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, 1782, __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, 1782, __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__65, __pyx_8genexpr8__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1782, __pyx_L18_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 1782, __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__48, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1782, __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, 1782, __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, 1782, __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, 1782, __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":1783
 *             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, 1783, __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, 1783, __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, 1783, __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, 1783, __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, 1783, __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, 1783, __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__65, __pyx_8genexpr9__pyx_v_line); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1783, __pyx_L24_error)
        __Pyx_GOTREF(__pyx_t_4);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_4))) __PYX_ERR(0, 1783, __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__48, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1783, __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, 1783, __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, 1783, __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, 1783, __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":1784
 *             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, 1784, __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, 1784, __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, 1784, __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, 1784, __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, 1784, __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":1785
 *             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, 1785, __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, 1785, __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, 1785, __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, 1785, __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, 1785, __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, 1785, __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__65, __pyx_9genexpr10__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1785, __pyx_L30_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 1785, __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__48, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1785, __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, 1785, __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, 1785, __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, 1785, __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":1786
 *             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__48, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1786, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":1775
 *         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":1788
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__49);
    __pyx_r = __pyx_kp_u__49;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":1774
 *     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":1791
 * 
 *     @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], 1791, 0, __PYX_ERR(0, 1791, __pyx_L1_error));

  /* "cuda/cudart.pyx":1792
 *     @property
 *     def srcArray(self):
 *         return self._srcArray             # <<<<<<<<<<<<<<
 *     @srcArray.setter
 *     def srcArray(self, srcArray : cudaArray_t):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self->_srcArray));
  __pyx_r = ((PyObject *)__pyx_v_self->_srcArray);
  goto __pyx_L0;

  /* "cuda/cudart.pyx":1791
 * 
 *     @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":1794
 *         return self._srcArray
 *     @srcArray.setter
 *     def srcArray(self, srcArray : cudaArray_t):             # <<<<<<<<<<<<<<
 *         pass
 *         self._srcArray._ptr[0] = <ccudart.cudaArray_t> NULL if srcArray == None else (<cudaArray_t>srcArray)._ptr[0]
 */

/* 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_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_srcArray), __pyx_ptype_4cuda_6cudart_cudaArray_t, 1, "srcArray", 0))) __PYX_ERR(0, 1794, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_8srcArray_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *)__pyx_v_self), ((struct __pyx_obj_4cuda_6cudart_cudaArray_t *)__pyx_v_srcArray));

  /* 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_8srcArray_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_v_self, struct __pyx_obj_4cuda_6cudart_cudaArray_t *__pyx_v_srcArray) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __pyx_t_4cuda_7ccudart_cudaArray_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 1794, 0, __PYX_ERR(0, 1794, __pyx_L1_error));

  /* "cuda/cudart.pyx":1796
 *     def srcArray(self, srcArray : cudaArray_t):
 *         pass
 *         self._srcArray._ptr[0] = <ccudart.cudaArray_t> NULL if srcArray == None else (<cudaArray_t>srcArray)._ptr[0]             # <<<<<<<<<<<<<<
 *     @property
 *     def srcPos(self):
 */
  __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_srcArray), Py_None, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1796, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 1796, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {
    __pyx_t_1 = ((__pyx_t_4cuda_7ccudart_cudaArray_t)NULL);
  } else {
    __pyx_t_1 = (__pyx_v_srcArray->_ptr[0]);
  }
  (__pyx_v_self->_srcArray->_ptr[0]) = __pyx_t_1;

  /* "cuda/cudart.pyx":1794
 *         return self._srcArray
 *     @srcArray.setter
 *     def srcArray(self, srcArray : cudaArray_t):             # <<<<<<<<<<<<<<
 *         pass
 *         self._srcArray._ptr[0] = <ccudart.cudaArray_t> NULL if srcArray == None else (<cudaArray_t>srcArray)._ptr[0]
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy3DPeerParms.srcArray.__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":1798
 *         self._srcArray._ptr[0] = <ccudart.cudaArray_t> NULL if srcArray == None else (<cudaArray_t>srcArray)._ptr[0]
 *     @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], 1798, 0, __PYX_ERR(0, 1798, __pyx_L1_error));

  /* "cuda/cudart.pyx":1799
 *     @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":1798
 *         self._srcArray._ptr[0] = <ccudart.cudaArray_t> NULL if srcArray == None else (<cudaArray_t>srcArray)._ptr[0]
 *     @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":1801
 *         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, 1801, __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], 1801, 0, __PYX_ERR(0, 1801, __pyx_L1_error));

  /* "cuda/cudart.pyx":1803
 *     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, 1803, __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, 1803, __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, 1803, __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, 1803, __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, 1803, __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, 1803, __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, 1803, __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, 1803, __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":1804
 *         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, 1804, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":1805
 *         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":1804
 *         pass
 *         for _attr in dir(srcPos):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":1806
 *             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, 1806, __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__66) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__66);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1806, __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, 1806, __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":1807
 *                 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, 1807, __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, 1807, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":1806
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._srcPos, _attr, getattr(srcPos, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":1803
 *     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":1801
 *         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":1809
 *                 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], 1809, 0, __PYX_ERR(0, 1809, __pyx_L1_error));

  /* "cuda/cudart.pyx":1810
 *     @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":1809
 *                 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":1812
 *         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, 1812, __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], 1812, 0, __PYX_ERR(0, 1812, __pyx_L1_error));

  /* "cuda/cudart.pyx":1814
 *     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, 1814, __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, 1814, __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, 1814, __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, 1814, __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, 1814, __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, 1814, __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, 1814, __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, 1814, __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":1815
 *         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, 1815, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":1816
 *         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":1815
 *         pass
 *         for _attr in dir(srcPtr):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":1817
 *             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, 1817, __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__66) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__66);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1817, __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, 1817, __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":1818
 *                 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, 1818, __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, 1818, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":1817
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._srcPtr, _attr, getattr(srcPtr, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":1814
 *     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":1812
 *         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":1820
 *                 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], 1820, 0, __PYX_ERR(0, 1820, __pyx_L1_error));

  /* "cuda/cudart.pyx":1821
 *     @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, 1821, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":1820
 *                 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":1823
 *         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, 1823, __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], 1823, 0, __PYX_ERR(0, 1823, __pyx_L1_error));

  /* "cuda/cudart.pyx":1825
 *     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":1823
 *         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":1827
 *         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], 1827, 0, __PYX_ERR(0, 1827, __pyx_L1_error));

  /* "cuda/cudart.pyx":1828
 *     @property
 *     def dstArray(self):
 *         return self._dstArray             # <<<<<<<<<<<<<<
 *     @dstArray.setter
 *     def dstArray(self, dstArray : cudaArray_t):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self->_dstArray));
  __pyx_r = ((PyObject *)__pyx_v_self->_dstArray);
  goto __pyx_L0;

  /* "cuda/cudart.pyx":1827
 *         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":1830
 *         return self._dstArray
 *     @dstArray.setter
 *     def dstArray(self, dstArray : cudaArray_t):             # <<<<<<<<<<<<<<
 *         pass
 *         self._dstArray._ptr[0] = <ccudart.cudaArray_t> NULL if dstArray == None else (<cudaArray_t>dstArray)._ptr[0]
 */

/* 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_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_dstArray), __pyx_ptype_4cuda_6cudart_cudaArray_t, 1, "dstArray", 0))) __PYX_ERR(0, 1830, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_21cudaMemcpy3DPeerParms_8dstArray_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *)__pyx_v_self), ((struct __pyx_obj_4cuda_6cudart_cudaArray_t *)__pyx_v_dstArray));

  /* 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_8dstArray_2__set__(struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_v_self, struct __pyx_obj_4cuda_6cudart_cudaArray_t *__pyx_v_dstArray) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __pyx_t_4cuda_7ccudart_cudaArray_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 1830, 0, __PYX_ERR(0, 1830, __pyx_L1_error));

  /* "cuda/cudart.pyx":1832
 *     def dstArray(self, dstArray : cudaArray_t):
 *         pass
 *         self._dstArray._ptr[0] = <ccudart.cudaArray_t> NULL if dstArray == None else (<cudaArray_t>dstArray)._ptr[0]             # <<<<<<<<<<<<<<
 *     @property
 *     def dstPos(self):
 */
  __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_dstArray), Py_None, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1832, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 1832, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {
    __pyx_t_1 = ((__pyx_t_4cuda_7ccudart_cudaArray_t)NULL);
  } else {
    __pyx_t_1 = (__pyx_v_dstArray->_ptr[0]);
  }
  (__pyx_v_self->_dstArray->_ptr[0]) = __pyx_t_1;

  /* "cuda/cudart.pyx":1830
 *         return self._dstArray
 *     @dstArray.setter
 *     def dstArray(self, dstArray : cudaArray_t):             # <<<<<<<<<<<<<<
 *         pass
 *         self._dstArray._ptr[0] = <ccudart.cudaArray_t> NULL if dstArray == None else (<cudaArray_t>dstArray)._ptr[0]
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy3DPeerParms.dstArray.__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":1834
 *         self._dstArray._ptr[0] = <ccudart.cudaArray_t> NULL if dstArray == None else (<cudaArray_t>dstArray)._ptr[0]
 *     @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], 1834, 0, __PYX_ERR(0, 1834, __pyx_L1_error));

  /* "cuda/cudart.pyx":1835
 *     @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":1834
 *         self._dstArray._ptr[0] = <ccudart.cudaArray_t> NULL if dstArray == None else (<cudaArray_t>dstArray)._ptr[0]
 *     @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":1837
 *         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, 1837, __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], 1837, 0, __PYX_ERR(0, 1837, __pyx_L1_error));

  /* "cuda/cudart.pyx":1839
 *     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, 1839, __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, 1839, __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, 1839, __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, 1839, __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, 1839, __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, 1839, __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, 1839, __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, 1839, __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":1840
 *         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, 1840, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":1841
 *         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":1840
 *         pass
 *         for _attr in dir(dstPos):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":1842
 *             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, 1842, __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__66) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__66);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1842, __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, 1842, __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":1843
 *                 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, 1843, __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, 1843, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":1842
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._dstPos, _attr, getattr(dstPos, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":1839
 *     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":1837
 *         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":1845
 *                 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], 1845, 0, __PYX_ERR(0, 1845, __pyx_L1_error));

  /* "cuda/cudart.pyx":1846
 *     @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":1845
 *                 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":1848
 *         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, 1848, __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], 1848, 0, __PYX_ERR(0, 1848, __pyx_L1_error));

  /* "cuda/cudart.pyx":1850
 *     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, 1850, __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, 1850, __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, 1850, __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, 1850, __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, 1850, __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, 1850, __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, 1850, __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, 1850, __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":1851
 *         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, 1851, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":1852
 *         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":1851
 *         pass
 *         for _attr in dir(dstPtr):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":1853
 *             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, 1853, __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__66) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__66);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1853, __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, 1853, __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":1854
 *                 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, 1854, __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, 1854, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":1853
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._dstPtr, _attr, getattr(dstPtr, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":1850
 *     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":1848
 *         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":1856
 *                 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], 1856, 0, __PYX_ERR(0, 1856, __pyx_L1_error));

  /* "cuda/cudart.pyx":1857
 *     @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, 1857, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":1856
 *                 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":1859
 *         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, 1859, __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], 1859, 0, __PYX_ERR(0, 1859, __pyx_L1_error));

  /* "cuda/cudart.pyx":1861
 *     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":1859
 *         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":1863
 *         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], 1863, 0, __PYX_ERR(0, 1863, __pyx_L1_error));

  /* "cuda/cudart.pyx":1864
 *     @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":1863
 *         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":1866
 *         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, 1866, __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], 1866, 0, __PYX_ERR(0, 1866, __pyx_L1_error));

  /* "cuda/cudart.pyx":1868
 *     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, 1868, __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, 1868, __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, 1868, __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, 1868, __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, 1868, __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, 1868, __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, 1868, __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, 1868, __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":1869
 *         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, 1869, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":1870
 *         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":1869
 *         pass
 *         for _attr in dir(extent):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":1871
 *             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, 1871, __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__66) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__66);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1871, __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, 1871, __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":1872
 *                 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, 1872, __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, 1872, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":1871
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._extent, _attr, getattr(extent, _attr))
 * 
 */
    }

    /* "cuda/cudart.pyx":1868
 *     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":1866
 *         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__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.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__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.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":1899
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

/* 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, 1899, __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, 1899, __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, 1899, __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;
  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("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 1899, 0, __PYX_ERR(0, 1899, __pyx_L1_error));

  /* "cuda/cudart.pyx":1900
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaMemsetParams *>calloc(1, sizeof(ccudart.cudaMemsetParams))
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":1901
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr_owner = True             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaMemsetParams *>calloc(1, sizeof(ccudart.cudaMemsetParams))
 *             if self._ptr is NULL:
 */
    __pyx_v_self->_ptr_owner = 1;

    /* "cuda/cudart.pyx":1902
 *         if _ptr == 0:
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaMemsetParams *>calloc(1, sizeof(ccudart.cudaMemsetParams))             # <<<<<<<<<<<<<<
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaMemsetParams)))
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaMemsetParams *)calloc(1, (sizeof(struct __pyx_t_4cuda_7ccudart_cudaMemsetParams))));

    /* "cuda/cudart.pyx":1903
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaMemsetParams *>calloc(1, sizeof(ccudart.cudaMemsetParams))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaMemsetParams)))
 *         else:
 */
    __pyx_t_1 = ((__pyx_v_self->_ptr == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":1904
 *             self._ptr = <ccudart.cudaMemsetParams *>calloc(1, sizeof(ccudart.cudaMemsetParams))
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaMemsetParams)))             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr_owner = False
 */
      __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(struct __pyx_t_4cuda_7ccudart_cudaMemsetParams))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1904, __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, 1904, __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_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1904, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1904, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 1904, __pyx_L1_error)

      /* "cuda/cudart.pyx":1903
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaMemsetParams *>calloc(1, sizeof(ccudart.cudaMemsetParams))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaMemsetParams)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":1900
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaMemsetParams *>calloc(1, sizeof(ccudart.cudaMemsetParams))
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":1906
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaMemsetParams)))
 *         else:
 *             self._ptr_owner = False             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaMemsetParams *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 */
  /*else*/ {
    __pyx_v_self->_ptr_owner = 0;

    /* "cuda/cudart.pyx":1907
 *         else:
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaMemsetParams *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaMemsetParams *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":1899
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.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":1908
 *             self._ptr_owner = False
 *             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, 1908, __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, 1908, __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, 1908, __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], 1908, 0, __PYX_ERR(0, 1908, __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":1910
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

/* 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__(struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 1910, 0, __PYX_ERR(0, 1910, __pyx_L1_error));

  /* "cuda/cudart.pyx":1911
 *         pass
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  __pyx_t_2 = ((__pyx_v_self->_ptr_owner == 1) != 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = ((__pyx_v_self->_ptr != NULL) != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":1912
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */
    free(__pyx_v_self->_ptr);

    /* "cuda/cudart.pyx":1911
 *         pass
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  }

  /* "cuda/cudart.pyx":1910
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

  /* 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":1914
 *             free(self._ptr)
 *         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__96)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 1914, 0, __PYX_ERR(0, 1914, __pyx_L1_error));

  /* "cuda/cudart.pyx":1915
 *         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, 1915, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":1914
 *             free(self._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.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":1916
 *     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], 1916, 0, __PYX_ERR(0, 1916, __pyx_L1_error));

  /* "cuda/cudart.pyx":1917
 *         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":1918
 *     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, 1918, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":1919
 *         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, 1919, __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, 1919, __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, 1919, __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, 1919, __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, 1919, __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":1920
 *             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, 1920, __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, 1920, __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, 1920, __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, 1920, __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, 1920, __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":1921
 *             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, 1921, __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, 1921, __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, 1921, __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, 1921, __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, 1921, __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":1922
 *             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, 1922, __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, 1922, __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, 1922, __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, 1922, __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, 1922, __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":1923
 *             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, 1923, __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, 1923, __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, 1923, __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, 1923, __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, 1923, __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":1924
 *             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, 1924, __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, 1924, __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, 1924, __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, 1924, __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, 1924, __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":1925
 *             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__48, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1925, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":1917
 *         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":1927
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__49);
    __pyx_r = __pyx_kp_u__49;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":1916
 *     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":1930
 * 
 *     @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], 1930, 0, __PYX_ERR(0, 1930, __pyx_L1_error));

  /* "cuda/cudart.pyx":1931
 *     @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, 1931, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":1930
 * 
 *     @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":1933
 *         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], 1933, 0, __PYX_ERR(0, 1933, __pyx_L1_error));

  /* "cuda/cudart.pyx":1934
 *     @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, 1934, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__cdst = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":1935
 *     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, 1935, __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, 1935, __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":1933
 *         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":1937
 *         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], 1937, 0, __PYX_ERR(0, 1937, __pyx_L1_error));

  /* "cuda/cudart.pyx":1938
 *     @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, 1938, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":1937
 *         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":1940
 *         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, 1940, __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], 1940, 0, __PYX_ERR(0, 1940, __pyx_L1_error));

  /* "cuda/cudart.pyx":1942
 *     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":1940
 *         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":1944
 *         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], 1944, 0, __PYX_ERR(0, 1944, __pyx_L1_error));

  /* "cuda/cudart.pyx":1945
 *     @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, 1945, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":1944
 *         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":1947
 *         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, 1947, __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], 1947, 0, __PYX_ERR(0, 1947, __pyx_L1_error));

  /* "cuda/cudart.pyx":1949
 *     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":1947
 *         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":1951
 *         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], 1951, 0, __PYX_ERR(0, 1951, __pyx_L1_error));

  /* "cuda/cudart.pyx":1952
 *     @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, 1952, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":1951
 *         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":1954
 *         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, 1954, __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], 1954, 0, __PYX_ERR(0, 1954, __pyx_L1_error));

  /* "cuda/cudart.pyx":1956
 *     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":1954
 *         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":1958
 *         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], 1958, 0, __PYX_ERR(0, 1958, __pyx_L1_error));

  /* "cuda/cudart.pyx":1959
 *     @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, 1959, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":1958
 *         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":1961
 *         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, 1961, __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], 1961, 0, __PYX_ERR(0, 1961, __pyx_L1_error));

  /* "cuda/cudart.pyx":1963
 *     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":1961
 *         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":1965
 *         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], 1965, 0, __PYX_ERR(0, 1965, __pyx_L1_error));

  /* "cuda/cudart.pyx":1966
 *     @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, 1966, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":1965
 *         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":1968
 *         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, 1968, __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], 1968, 0, __PYX_ERR(0, 1968, __pyx_L1_error));

  /* "cuda/cudart.pyx":1970
 *     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":1968
 *         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__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.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__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.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":2005
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

/* 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, 2005, __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, 2005, __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, 2005, __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;
  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("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 2005, 0, __PYX_ERR(0, 2005, __pyx_L1_error));

  /* "cuda/cudart.pyx":2006
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaAccessPolicyWindow *>calloc(1, sizeof(ccudart.cudaAccessPolicyWindow))
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":2007
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr_owner = True             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaAccessPolicyWindow *>calloc(1, sizeof(ccudart.cudaAccessPolicyWindow))
 *             if self._ptr is NULL:
 */
    __pyx_v_self->_ptr_owner = 1;

    /* "cuda/cudart.pyx":2008
 *         if _ptr == 0:
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaAccessPolicyWindow *>calloc(1, sizeof(ccudart.cudaAccessPolicyWindow))             # <<<<<<<<<<<<<<
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaAccessPolicyWindow)))
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaAccessPolicyWindow *)calloc(1, (sizeof(struct __pyx_t_4cuda_7ccudart_cudaAccessPolicyWindow))));

    /* "cuda/cudart.pyx":2009
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaAccessPolicyWindow *>calloc(1, sizeof(ccudart.cudaAccessPolicyWindow))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaAccessPolicyWindow)))
 *         else:
 */
    __pyx_t_1 = ((__pyx_v_self->_ptr == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":2010
 *             self._ptr = <ccudart.cudaAccessPolicyWindow *>calloc(1, sizeof(ccudart.cudaAccessPolicyWindow))
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaAccessPolicyWindow)))             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr_owner = False
 */
      __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(struct __pyx_t_4cuda_7ccudart_cudaAccessPolicyWindow))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2010, __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, 2010, __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_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2010, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2010, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 2010, __pyx_L1_error)

      /* "cuda/cudart.pyx":2009
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaAccessPolicyWindow *>calloc(1, sizeof(ccudart.cudaAccessPolicyWindow))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaAccessPolicyWindow)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":2006
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaAccessPolicyWindow *>calloc(1, sizeof(ccudart.cudaAccessPolicyWindow))
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":2012
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaAccessPolicyWindow)))
 *         else:
 *             self._ptr_owner = False             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaAccessPolicyWindow *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 */
  /*else*/ {
    __pyx_v_self->_ptr_owner = 0;

    /* "cuda/cudart.pyx":2013
 *         else:
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaAccessPolicyWindow *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaAccessPolicyWindow *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":2005
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.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":2014
 *             self._ptr_owner = False
 *             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, 2014, __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, 2014, __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, 2014, __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], 2014, 0, __PYX_ERR(0, 2014, __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":2016
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

/* 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__(struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 2016, 0, __PYX_ERR(0, 2016, __pyx_L1_error));

  /* "cuda/cudart.pyx":2017
 *         pass
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  __pyx_t_2 = ((__pyx_v_self->_ptr_owner == 1) != 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = ((__pyx_v_self->_ptr != NULL) != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":2018
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */
    free(__pyx_v_self->_ptr);

    /* "cuda/cudart.pyx":2017
 *         pass
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  }

  /* "cuda/cudart.pyx":2016
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

  /* 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":2020
 *             free(self._ptr)
 *         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__101)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 2020, 0, __PYX_ERR(0, 2020, __pyx_L1_error));

  /* "cuda/cudart.pyx":2021
 *         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, 2021, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":2020
 *             free(self._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.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":2022
 *     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], 2022, 0, __PYX_ERR(0, 2022, __pyx_L1_error));

  /* "cuda/cudart.pyx":2023
 *         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":2024
 *     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, 2024, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":2025
 *         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, 2025, __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, 2025, __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, 2025, __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, 2025, __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, 2025, __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":2026
 *             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, 2026, __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, 2026, __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, 2026, __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, 2026, __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, 2026, __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":2027
 *             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, 2027, __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, 2027, __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, 2027, __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, 2027, __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, 2027, __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":2028
 *             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, 2028, __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, 2028, __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, 2028, __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, 2028, __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, 2028, __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":2029
 *             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, 2029, __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, 2029, __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, 2029, __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, 2029, __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, 2029, __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":2030
 *             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__48, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2030, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":2023
 *         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":2032
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__49);
    __pyx_r = __pyx_kp_u__49;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":2022
 *     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":2035
 * 
 *     @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], 2035, 0, __PYX_ERR(0, 2035, __pyx_L1_error));

  /* "cuda/cudart.pyx":2036
 *     @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, 2036, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":2035
 * 
 *     @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":2038
 *         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], 2038, 0, __PYX_ERR(0, 2038, __pyx_L1_error));

  /* "cuda/cudart.pyx":2039
 *     @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, 2039, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__cbase_ptr = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":2040
 *     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, 2040, __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, 2040, __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":2038
 *         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":2042
 *         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], 2042, 0, __PYX_ERR(0, 2042, __pyx_L1_error));

  /* "cuda/cudart.pyx":2043
 *     @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, 2043, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":2042
 *         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":2045
 *         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, 2045, __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], 2045, 0, __PYX_ERR(0, 2045, __pyx_L1_error));

  /* "cuda/cudart.pyx":2047
 *     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":2045
 *         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":2049
 *         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], 2049, 0, __PYX_ERR(0, 2049, __pyx_L1_error));

  /* "cuda/cudart.pyx":2050
 *     @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, 2050, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":2049
 *         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":2052
 *         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, 2052, __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], 2052, 0, __PYX_ERR(0, 2052, __pyx_L1_error));

  /* "cuda/cudart.pyx":2054
 *     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":2052
 *         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":2056
 *         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], 2056, 0, __PYX_ERR(0, 2056, __pyx_L1_error));

  /* "cuda/cudart.pyx":2057
 *     @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, 2057, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaAccessProperty((__pyx_v_self->_ptr[0]).hitProp); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2057, __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, 2057, __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":2056
 *         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":2059
 *         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, 2059, __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 __pyx_t_4cuda_7ccudart_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], 2059, 0, __PYX_ERR(0, 2059, __pyx_L1_error));

  /* "cuda/cudart.pyx":2061
 *     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, 2061, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum __pyx_t_4cuda_7ccudart_cudaAccessProperty)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaAccessProperty(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2061, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).hitProp = __pyx_t_2;

  /* "cuda/cudart.pyx":2059
 *         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":2063
 *         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], 2063, 0, __PYX_ERR(0, 2063, __pyx_L1_error));

  /* "cuda/cudart.pyx":2064
 *     @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, 2064, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaAccessProperty((__pyx_v_self->_ptr[0]).missProp); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2064, __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, 2064, __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":2063
 *         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":2066
 *         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, 2066, __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 __pyx_t_4cuda_7ccudart_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], 2066, 0, __PYX_ERR(0, 2066, __pyx_L1_error));

  /* "cuda/cudart.pyx":2068
 *     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, 2068, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum __pyx_t_4cuda_7ccudart_cudaAccessProperty)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaAccessProperty(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2068, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).missProp = __pyx_t_2;

  /* "cuda/cudart.pyx":2066
 *         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__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.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__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.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":2087
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

/* 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, 2087, __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, 2087, __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, 2087, __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;
  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("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 2087, 0, __PYX_ERR(0, 2087, __pyx_L1_error));

  /* "cuda/cudart.pyx":2088
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaHostNodeParams *>calloc(1, sizeof(ccudart.cudaHostNodeParams))
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":2089
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr_owner = True             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaHostNodeParams *>calloc(1, sizeof(ccudart.cudaHostNodeParams))
 *             if self._ptr is NULL:
 */
    __pyx_v_self->_ptr_owner = 1;

    /* "cuda/cudart.pyx":2090
 *         if _ptr == 0:
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaHostNodeParams *>calloc(1, sizeof(ccudart.cudaHostNodeParams))             # <<<<<<<<<<<<<<
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaHostNodeParams)))
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaHostNodeParams *)calloc(1, (sizeof(struct __pyx_t_4cuda_7ccudart_cudaHostNodeParams))));

    /* "cuda/cudart.pyx":2091
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaHostNodeParams *>calloc(1, sizeof(ccudart.cudaHostNodeParams))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaHostNodeParams)))
 *         else:
 */
    __pyx_t_1 = ((__pyx_v_self->_ptr == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":2092
 *             self._ptr = <ccudart.cudaHostNodeParams *>calloc(1, sizeof(ccudart.cudaHostNodeParams))
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaHostNodeParams)))             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr_owner = False
 */
      __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(struct __pyx_t_4cuda_7ccudart_cudaHostNodeParams))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2092, __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, 2092, __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_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2092, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2092, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 2092, __pyx_L1_error)

      /* "cuda/cudart.pyx":2091
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaHostNodeParams *>calloc(1, sizeof(ccudart.cudaHostNodeParams))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaHostNodeParams)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":2088
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaHostNodeParams *>calloc(1, sizeof(ccudart.cudaHostNodeParams))
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":2094
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaHostNodeParams)))
 *         else:
 *             self._ptr_owner = False             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaHostNodeParams *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 */
  /*else*/ {
    __pyx_v_self->_ptr_owner = 0;

    /* "cuda/cudart.pyx":2095
 *         else:
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaHostNodeParams *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._fn = cudaHostFn_t(_ptr=<void_ptr>&self._ptr[0].fn)
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaHostNodeParams *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":2087
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.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":2096
 *             self._ptr_owner = False
 *             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, 2096, __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, 2096, __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, 2096, __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], 2096, 0, __PYX_ERR(0, 2096, __pyx_L1_error));

  /* "cuda/cudart.pyx":2097
 *             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):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2097, __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, 2097, __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, 2097, __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, 2097, __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":2096
 *             self._ptr_owner = False
 *             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":2098
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._fn = cudaHostFn_t(_ptr=<void_ptr>&self._ptr[0].fn)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

/* 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__(struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 2098, 0, __PYX_ERR(0, 2098, __pyx_L1_error));

  /* "cuda/cudart.pyx":2099
 *         self._fn = cudaHostFn_t(_ptr=<void_ptr>&self._ptr[0].fn)
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  __pyx_t_2 = ((__pyx_v_self->_ptr_owner == 1) != 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = ((__pyx_v_self->_ptr != NULL) != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":2100
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */
    free(__pyx_v_self->_ptr);

    /* "cuda/cudart.pyx":2099
 *         self._fn = cudaHostFn_t(_ptr=<void_ptr>&self._ptr[0].fn)
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  }

  /* "cuda/cudart.pyx":2098
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._fn = cudaHostFn_t(_ptr=<void_ptr>&self._ptr[0].fn)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

  /* 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":2102
 *             free(self._ptr)
 *         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__106)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 2102, 0, __PYX_ERR(0, 2102, __pyx_L1_error));

  /* "cuda/cudart.pyx":2103
 *         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, 2103, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":2102
 *             free(self._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.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":2104
 *     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], 2104, 0, __PYX_ERR(0, 2104, __pyx_L1_error));

  /* "cuda/cudart.pyx":2105
 *         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":2106
 *     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, 2106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":2107
 *         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, 2107, __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, 2107, __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, 2107, __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, 2107, __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, 2107, __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":2108
 *             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, 2108, __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, 2108, __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, 2108, __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, 2108, __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, 2108, __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":2109
 *             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__48, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2109, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":2105
 *         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":2111
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__49);
    __pyx_r = __pyx_kp_u__49;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":2104
 *     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":2114
 * 
 *     @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], 2114, 0, __PYX_ERR(0, 2114, __pyx_L1_error));

  /* "cuda/cudart.pyx":2115
 *     @property
 *     def fn(self):
 *         return self._fn             # <<<<<<<<<<<<<<
 *     @fn.setter
 *     def fn(self, fn : cudaHostFn_t):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self->_fn));
  __pyx_r = ((PyObject *)__pyx_v_self->_fn);
  goto __pyx_L0;

  /* "cuda/cudart.pyx":2114
 * 
 *     @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":2117
 *         return self._fn
 *     @fn.setter
 *     def fn(self, fn : cudaHostFn_t):             # <<<<<<<<<<<<<<
 *         pass
 *         self._fn._ptr[0] = <ccudart.cudaHostFn_t> NULL if fn == None else (<cudaHostFn_t>fn)._ptr[0]
 */

/* 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_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_fn), __pyx_ptype_4cuda_6cudart_cudaHostFn_t, 1, "fn", 0))) __PYX_ERR(0, 2117, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaHostNodeParams_2fn_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *)__pyx_v_self), ((struct __pyx_obj_4cuda_6cudart_cudaHostFn_t *)__pyx_v_fn));

  /* 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_18cudaHostNodeParams_2fn_2__set__(struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *__pyx_v_self, struct __pyx_obj_4cuda_6cudart_cudaHostFn_t *__pyx_v_fn) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __pyx_t_4cuda_7ccudart_cudaHostFn_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 2117, 0, __PYX_ERR(0, 2117, __pyx_L1_error));

  /* "cuda/cudart.pyx":2119
 *     def fn(self, fn : cudaHostFn_t):
 *         pass
 *         self._fn._ptr[0] = <ccudart.cudaHostFn_t> NULL if fn == None else (<cudaHostFn_t>fn)._ptr[0]             # <<<<<<<<<<<<<<
 *     @property
 *     def userData(self):
 */
  __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_fn), Py_None, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2119, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2119, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {
    __pyx_t_1 = ((__pyx_t_4cuda_7ccudart_cudaHostFn_t)NULL);
  } else {
    __pyx_t_1 = (__pyx_v_fn->_ptr[0]);
  }
  (__pyx_v_self->_fn->_ptr[0]) = __pyx_t_1;

  /* "cuda/cudart.pyx":2117
 *         return self._fn
 *     @fn.setter
 *     def fn(self, fn : cudaHostFn_t):             # <<<<<<<<<<<<<<
 *         pass
 *         self._fn._ptr[0] = <ccudart.cudaHostFn_t> NULL if fn == None else (<cudaHostFn_t>fn)._ptr[0]
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.cudart.cudaHostNodeParams.fn.__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":2121
 *         self._fn._ptr[0] = <ccudart.cudaHostFn_t> NULL if fn == None else (<cudaHostFn_t>fn)._ptr[0]
 *     @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], 2121, 0, __PYX_ERR(0, 2121, __pyx_L1_error));

  /* "cuda/cudart.pyx":2122
 *     @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, 2122, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":2121
 *         self._fn._ptr[0] = <ccudart.cudaHostFn_t> NULL if fn == None else (<cudaHostFn_t>fn)._ptr[0]
 *     @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":2124
 *         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], 2124, 0, __PYX_ERR(0, 2124, __pyx_L1_error));

  /* "cuda/cudart.pyx":2125
 *     @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, 2125, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__cuserData = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":2126
 *     def userData(self, userData):
 *         _cuserData = utils.HelperInputVoidPtr(userData)
 *         self._ptr[0].userData = <void*><void_ptr>_cuserData.cptr             # <<<<<<<<<<<<<<
 * 
 * cdef class cudaStreamAttrValue:
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v__cuserData, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2126, __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, 2126, __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":2124
 *         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__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.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__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.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":2144
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_19cudaStreamAttrValue_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_19cudaStreamAttrValue_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, 2144, __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, 2144, __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, 2144, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaStreamAttrValue.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_19cudaStreamAttrValue___cinit__(((struct __pyx_obj_4cuda_6cudart_cudaStreamAttrValue *)__pyx_v_self), __pyx_v__ptr);

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

static int __pyx_pf_4cuda_6cudart_19cudaStreamAttrValue___cinit__(struct __pyx_obj_4cuda_6cudart_cudaStreamAttrValue *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __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("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 2144, 0, __PYX_ERR(0, 2144, __pyx_L1_error));

  /* "cuda/cudart.pyx":2145
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaStreamAttrValue *>calloc(1, sizeof(ccudart.cudaStreamAttrValue))
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":2146
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr_owner = True             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaStreamAttrValue *>calloc(1, sizeof(ccudart.cudaStreamAttrValue))
 *             if self._ptr is NULL:
 */
    __pyx_v_self->_ptr_owner = 1;

    /* "cuda/cudart.pyx":2147
 *         if _ptr == 0:
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaStreamAttrValue *>calloc(1, sizeof(ccudart.cudaStreamAttrValue))             # <<<<<<<<<<<<<<
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaStreamAttrValue)))
 */
    __pyx_v_self->_ptr = ((union __pyx_t_4cuda_7ccudart_cudaStreamAttrValue *)calloc(1, (sizeof(union __pyx_t_4cuda_7ccudart_cudaStreamAttrValue))));

    /* "cuda/cudart.pyx":2148
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaStreamAttrValue *>calloc(1, sizeof(ccudart.cudaStreamAttrValue))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaStreamAttrValue)))
 *         else:
 */
    __pyx_t_1 = ((__pyx_v_self->_ptr == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":2149
 *             self._ptr = <ccudart.cudaStreamAttrValue *>calloc(1, sizeof(ccudart.cudaStreamAttrValue))
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaStreamAttrValue)))             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr_owner = False
 */
      __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(union __pyx_t_4cuda_7ccudart_cudaStreamAttrValue))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2149, __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, 2149, __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_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2149, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2149, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 2149, __pyx_L1_error)

      /* "cuda/cudart.pyx":2148
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaStreamAttrValue *>calloc(1, sizeof(ccudart.cudaStreamAttrValue))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaStreamAttrValue)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":2145
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaStreamAttrValue *>calloc(1, sizeof(ccudart.cudaStreamAttrValue))
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":2151
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaStreamAttrValue)))
 *         else:
 *             self._ptr_owner = False             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaStreamAttrValue *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 */
  /*else*/ {
    __pyx_v_self->_ptr_owner = 0;

    /* "cuda/cudart.pyx":2152
 *         else:
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaStreamAttrValue *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._accessPolicyWindow = cudaAccessPolicyWindow(_ptr=<void_ptr>&self._ptr[0].accessPolicyWindow)
 */
    __pyx_v_self->_ptr = ((union __pyx_t_4cuda_7ccudart_cudaStreamAttrValue *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":2144
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cudart.cudaStreamAttrValue.__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":2153
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaStreamAttrValue *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._accessPolicyWindow = cudaAccessPolicyWindow(_ptr=<void_ptr>&self._ptr[0].accessPolicyWindow)
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_19cudaStreamAttrValue_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_19cudaStreamAttrValue_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, 2153, __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, 2153, __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, 2153, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaStreamAttrValue.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_19cudaStreamAttrValue_2__init__(((struct __pyx_obj_4cuda_6cudart_cudaStreamAttrValue *)__pyx_v_self), __pyx_v__ptr);

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

static int __pyx_pf_4cuda_6cudart_19cudaStreamAttrValue_2__init__(struct __pyx_obj_4cuda_6cudart_cudaStreamAttrValue *__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], 2153, 0, __PYX_ERR(0, 2153, __pyx_L1_error));

  /* "cuda/cudart.pyx":2154
 *             self._ptr = <ccudart.cudaStreamAttrValue *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._accessPolicyWindow = cudaAccessPolicyWindow(_ptr=<void_ptr>&self._ptr[0].accessPolicyWindow)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2154, __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, 2154, __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, 2154, __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, 2154, __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":2153
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaStreamAttrValue *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._accessPolicyWindow = cudaAccessPolicyWindow(_ptr=<void_ptr>&self._ptr[0].accessPolicyWindow)
 *     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.cudaStreamAttrValue.__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":2155
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._accessPolicyWindow = cudaAccessPolicyWindow(_ptr=<void_ptr>&self._ptr[0].accessPolicyWindow)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_19cudaStreamAttrValue_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_19cudaStreamAttrValue_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_19cudaStreamAttrValue_4__dealloc__(((struct __pyx_obj_4cuda_6cudart_cudaStreamAttrValue *)__pyx_v_self));

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

static void __pyx_pf_4cuda_6cudart_19cudaStreamAttrValue_4__dealloc__(struct __pyx_obj_4cuda_6cudart_cudaStreamAttrValue *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 2155, 0, __PYX_ERR(0, 2155, __pyx_L1_error));

  /* "cuda/cudart.pyx":2156
 *         self._accessPolicyWindow = cudaAccessPolicyWindow(_ptr=<void_ptr>&self._ptr[0].accessPolicyWindow)
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  __pyx_t_2 = ((__pyx_v_self->_ptr_owner == 1) != 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = ((__pyx_v_self->_ptr != NULL) != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":2157
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */
    free(__pyx_v_self->_ptr);

    /* "cuda/cudart.pyx":2156
 *         self._accessPolicyWindow = cudaAccessPolicyWindow(_ptr=<void_ptr>&self._ptr[0].accessPolicyWindow)
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  }

  /* "cuda/cudart.pyx":2155
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._accessPolicyWindow = cudaAccessPolicyWindow(_ptr=<void_ptr>&self._ptr[0].accessPolicyWindow)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.cudaStreamAttrValue.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":2159
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_19cudaStreamAttrValue_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_19cudaStreamAttrValue_6getPtr[] = "cudaStreamAttrValue.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_19cudaStreamAttrValue_7getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_19cudaStreamAttrValue_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_19cudaStreamAttrValue_6getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_19cudaStreamAttrValue_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_19cudaStreamAttrValue_6getPtr(((struct __pyx_obj_4cuda_6cudart_cudaStreamAttrValue *)__pyx_v_self));

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

static PyObject *__pyx_pf_4cuda_6cudart_19cudaStreamAttrValue_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaStreamAttrValue *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __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], 2159, 0, __PYX_ERR(0, 2159, __pyx_L1_error));

  /* "cuda/cudart.pyx":2160
 *         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, 2160, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":2159
 *             free(self._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.cudaStreamAttrValue.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":2161
 *     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_19cudaStreamAttrValue_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_19cudaStreamAttrValue_9__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_19cudaStreamAttrValue_8__repr__(((struct __pyx_obj_4cuda_6cudart_cudaStreamAttrValue *)__pyx_v_self));

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

static PyObject *__pyx_pf_4cuda_6cudart_19cudaStreamAttrValue_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaStreamAttrValue *__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], 2161, 0, __PYX_ERR(0, 2161, __pyx_L1_error));

  /* "cuda/cudart.pyx":2162
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['accessPolicyWindow :\n' + '\n'.join(['    ' + line for line in str(self.accessPolicyWindow).splitlines()])]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":2163
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['accessPolicyWindow :\n' + '\n'.join(['    ' + line for line in str(self.accessPolicyWindow).splitlines()])]
 *             str_list += ['syncPolicy : ' + str(self.syncPolicy)]
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2163, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":2164
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['accessPolicyWindow :\n' + '\n'.join(['    ' + line for line in str(self.accessPolicyWindow).splitlines()])]             # <<<<<<<<<<<<<<
 *             str_list += ['syncPolicy : ' + str(self.syncPolicy)]
 *             return '\n'.join(str_list)
 */
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2164, __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, 2164, __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, 2164, __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, 2164, __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, 2164, __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, 2164, __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__65, __pyx_9genexpr11__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2164, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 2164, __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__48, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2164, __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, 2164, __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, 2164, __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, 2164, __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":2165
 *             str_list = []
 *             str_list += ['accessPolicyWindow :\n' + '\n'.join(['    ' + line for line in str(self.accessPolicyWindow).splitlines()])]
 *             str_list += ['syncPolicy : ' + str(self.syncPolicy)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_syncPolicy_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2165, __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, 2165, __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, 2165, __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, 2165, __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, 2165, __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":2166
 *             str_list += ['accessPolicyWindow :\n' + '\n'.join(['    ' + line for line in str(self.accessPolicyWindow).splitlines()])]
 *             str_list += ['syncPolicy : ' + str(self.syncPolicy)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__48, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2166, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":2162
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['accessPolicyWindow :\n' + '\n'.join(['    ' + line for line in str(self.accessPolicyWindow).splitlines()])]
 */
  }

  /* "cuda/cudart.pyx":2168
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__49);
    __pyx_r = __pyx_kp_u__49;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":2161
 *     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.cudaStreamAttrValue.__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":2171
 * 
 *     @property
 *     def accessPolicyWindow(self):             # <<<<<<<<<<<<<<
 *         return self._accessPolicyWindow
 *     @accessPolicyWindow.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_19cudaStreamAttrValue_18accessPolicyWindow_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_19cudaStreamAttrValue_18accessPolicyWindow_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_19cudaStreamAttrValue_18accessPolicyWindow___get__(((struct __pyx_obj_4cuda_6cudart_cudaStreamAttrValue *)__pyx_v_self));

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

static PyObject *__pyx_pf_4cuda_6cudart_19cudaStreamAttrValue_18accessPolicyWindow___get__(struct __pyx_obj_4cuda_6cudart_cudaStreamAttrValue *__pyx_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], 2171, 0, __PYX_ERR(0, 2171, __pyx_L1_error));

  /* "cuda/cudart.pyx":2172
 *     @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":2171
 * 
 *     @property
 *     def accessPolicyWindow(self):             # <<<<<<<<<<<<<<
 *         return self._accessPolicyWindow
 *     @accessPolicyWindow.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaStreamAttrValue.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":2174
 *         return self._accessPolicyWindow
 *     @accessPolicyWindow.setter
 *     def accessPolicyWindow(self, accessPolicyWindow not None : cudaAccessPolicyWindow):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(accessPolicyWindow):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_19cudaStreamAttrValue_18accessPolicyWindow_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_accessPolicyWindow); /*proto*/
static int __pyx_pw_4cuda_6cudart_19cudaStreamAttrValue_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, 2174, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_19cudaStreamAttrValue_18accessPolicyWindow_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaStreamAttrValue *)__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_19cudaStreamAttrValue_18accessPolicyWindow_2__set__(struct __pyx_obj_4cuda_6cudart_cudaStreamAttrValue *__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], 2174, 0, __PYX_ERR(0, 2174, __pyx_L1_error));

  /* "cuda/cudart.pyx":2176
 *     def accessPolicyWindow(self, accessPolicyWindow not None : cudaAccessPolicyWindow):
 *         pass
 *         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, 2176, __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, 2176, __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, 2176, __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, 2176, __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, 2176, __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, 2176, __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, 2176, __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, 2176, __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":2177
 *         pass
 *         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, 2177, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":2178
 *         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":2177
 *         pass
 *         for _attr in dir(accessPolicyWindow):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":2179
 *             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, 2179, __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__66) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__66);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2179, __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, 2179, __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":2180
 *                 continue
 *             if not _attr.startswith('_'):
 *                 setattr(self._accessPolicyWindow, _attr, getattr(accessPolicyWindow, _attr))             # <<<<<<<<<<<<<<
 *     @property
 *     def syncPolicy(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, 2180, __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, 2180, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":2179
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._accessPolicyWindow, _attr, getattr(accessPolicyWindow, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":2176
 *     def accessPolicyWindow(self, accessPolicyWindow not None : cudaAccessPolicyWindow):
 *         pass
 *         for _attr in dir(accessPolicyWindow):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
    __pyx_L3_continue:;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":2174
 *         return self._accessPolicyWindow
 *     @accessPolicyWindow.setter
 *     def accessPolicyWindow(self, accessPolicyWindow not None : cudaAccessPolicyWindow):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(accessPolicyWindow):
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cudart.cudaStreamAttrValue.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":2182
 *                 setattr(self._accessPolicyWindow, _attr, getattr(accessPolicyWindow, _attr))
 *     @property
 *     def syncPolicy(self):             # <<<<<<<<<<<<<<
 *         return cudaSynchronizationPolicy(self._ptr[0].syncPolicy)
 *     @syncPolicy.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_19cudaStreamAttrValue_10syncPolicy_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_19cudaStreamAttrValue_10syncPolicy_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_19cudaStreamAttrValue_10syncPolicy___get__(((struct __pyx_obj_4cuda_6cudart_cudaStreamAttrValue *)__pyx_v_self));

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

static PyObject *__pyx_pf_4cuda_6cudart_19cudaStreamAttrValue_10syncPolicy___get__(struct __pyx_obj_4cuda_6cudart_cudaStreamAttrValue *__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], 2182, 0, __PYX_ERR(0, 2182, __pyx_L1_error));

  /* "cuda/cudart.pyx":2183
 *     @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, 2183, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy((__pyx_v_self->_ptr[0]).syncPolicy); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2183, __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, 2183, __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":2182
 *                 setattr(self._accessPolicyWindow, _attr, getattr(accessPolicyWindow, _attr))
 *     @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.cudaStreamAttrValue.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":2185
 *         return cudaSynchronizationPolicy(self._ptr[0].syncPolicy)
 *     @syncPolicy.setter
 *     def syncPolicy(self, syncPolicy not None : cudaSynchronizationPolicy):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].syncPolicy = syncPolicy.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_19cudaStreamAttrValue_10syncPolicy_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_syncPolicy); /*proto*/
static int __pyx_pw_4cuda_6cudart_19cudaStreamAttrValue_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, 2185, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_19cudaStreamAttrValue_10syncPolicy_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaStreamAttrValue *)__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_19cudaStreamAttrValue_10syncPolicy_2__set__(struct __pyx_obj_4cuda_6cudart_cudaStreamAttrValue *__pyx_v_self, PyObject *__pyx_v_syncPolicy) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum __pyx_t_4cuda_7ccudart_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], 2185, 0, __PYX_ERR(0, 2185, __pyx_L1_error));

  /* "cuda/cudart.pyx":2187
 *     def syncPolicy(self, syncPolicy not None : cudaSynchronizationPolicy):
 *         pass
 *         self._ptr[0].syncPolicy = syncPolicy.value             # <<<<<<<<<<<<<<
 * 
 * cdef class cudaKernelNodeAttrValue:
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_syncPolicy, __pyx_n_s_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2187, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2187, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).syncPolicy = __pyx_t_2;

  /* "cuda/cudart.pyx":2185
 *         return cudaSynchronizationPolicy(self._ptr[0].syncPolicy)
 *     @syncPolicy.setter
 *     def syncPolicy(self, syncPolicy not None : cudaSynchronizationPolicy):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].syncPolicy = syncPolicy.value
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cudart.cudaStreamAttrValue.syncPolicy.__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_19cudaStreamAttrValue_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_19cudaStreamAttrValue_10__reduce_cython__[] = "cudaStreamAttrValue.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_19cudaStreamAttrValue_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_19cudaStreamAttrValue_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_19cudaStreamAttrValue_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_19cudaStreamAttrValue_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_19cudaStreamAttrValue_10__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_cudaStreamAttrValue *)__pyx_v_self));

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

static PyObject *__pyx_pf_4cuda_6cudart_19cudaStreamAttrValue_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaStreamAttrValue *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __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.cudaStreamAttrValue.__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_19cudaStreamAttrValue_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_19cudaStreamAttrValue_12__setstate_cython__[] = "cudaStreamAttrValue.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_19cudaStreamAttrValue_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_19cudaStreamAttrValue_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_19cudaStreamAttrValue_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_19cudaStreamAttrValue_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_19cudaStreamAttrValue_12__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_cudaStreamAttrValue *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_4cuda_6cudart_19cudaStreamAttrValue_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaStreamAttrValue *__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.cudaStreamAttrValue.__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":2205
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_23cudaKernelNodeAttrValue_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_23cudaKernelNodeAttrValue_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, 2205, __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, 2205, __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, 2205, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaKernelNodeAttrValue.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_23cudaKernelNodeAttrValue___cinit__(((struct __pyx_obj_4cuda_6cudart_cudaKernelNodeAttrValue *)__pyx_v_self), __pyx_v__ptr);

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

static int __pyx_pf_4cuda_6cudart_23cudaKernelNodeAttrValue___cinit__(struct __pyx_obj_4cuda_6cudart_cudaKernelNodeAttrValue *__pyx_v_self, __pyx_t_4cuda_6cudart_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __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("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 2205, 0, __PYX_ERR(0, 2205, __pyx_L1_error));

  /* "cuda/cudart.pyx":2206
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaKernelNodeAttrValue *>calloc(1, sizeof(ccudart.cudaKernelNodeAttrValue))
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":2207
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr_owner = True             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaKernelNodeAttrValue *>calloc(1, sizeof(ccudart.cudaKernelNodeAttrValue))
 *             if self._ptr is NULL:
 */
    __pyx_v_self->_ptr_owner = 1;

    /* "cuda/cudart.pyx":2208
 *         if _ptr == 0:
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaKernelNodeAttrValue *>calloc(1, sizeof(ccudart.cudaKernelNodeAttrValue))             # <<<<<<<<<<<<<<
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaKernelNodeAttrValue)))
 */
    __pyx_v_self->_ptr = ((union __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrValue *)calloc(1, (sizeof(union __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrValue))));

    /* "cuda/cudart.pyx":2209
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaKernelNodeAttrValue *>calloc(1, sizeof(ccudart.cudaKernelNodeAttrValue))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaKernelNodeAttrValue)))
 *         else:
 */
    __pyx_t_1 = ((__pyx_v_self->_ptr == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":2210
 *             self._ptr = <ccudart.cudaKernelNodeAttrValue *>calloc(1, sizeof(ccudart.cudaKernelNodeAttrValue))
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaKernelNodeAttrValue)))             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr_owner = False
 */
      __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(union __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrValue))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2210, __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, 2210, __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_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2210, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2210, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 2210, __pyx_L1_error)

      /* "cuda/cudart.pyx":2209
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaKernelNodeAttrValue *>calloc(1, sizeof(ccudart.cudaKernelNodeAttrValue))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaKernelNodeAttrValue)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":2206
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaKernelNodeAttrValue *>calloc(1, sizeof(ccudart.cudaKernelNodeAttrValue))
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":2212
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaKernelNodeAttrValue)))
 *         else:
 *             self._ptr_owner = False             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaKernelNodeAttrValue *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 */
  /*else*/ {
    __pyx_v_self->_ptr_owner = 0;

    /* "cuda/cudart.pyx":2213
 *         else:
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaKernelNodeAttrValue *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._accessPolicyWindow = cudaAccessPolicyWindow(_ptr=<void_ptr>&self._ptr[0].accessPolicyWindow)
 */
    __pyx_v_self->_ptr = ((union __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrValue *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":2205
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cudart.cudaKernelNodeAttrValue.__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":2214
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaKernelNodeAttrValue *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._accessPolicyWindow = cudaAccessPolicyWindow(_ptr=<void_ptr>&self._ptr[0].accessPolicyWindow)
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_23cudaKernelNodeAttrValue_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_6cudart_23cudaKernelNodeAttrValue_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, 2214, __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, 2214, __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, 2214, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaKernelNodeAttrValue.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_23cudaKernelNodeAttrValue_2__init__(((struct __pyx_obj_4cuda_6cudart_cudaKernelNodeAttrValue *)__pyx_v_self), __pyx_v__ptr);

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

static int __pyx_pf_4cuda_6cudart_23cudaKernelNodeAttrValue_2__init__(struct __pyx_obj_4cuda_6cudart_cudaKernelNodeAttrValue *__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], 2214, 0, __PYX_ERR(0, 2214, __pyx_L1_error));

  /* "cuda/cudart.pyx":2215
 *             self._ptr = <ccudart.cudaKernelNodeAttrValue *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._accessPolicyWindow = cudaAccessPolicyWindow(_ptr=<void_ptr>&self._ptr[0].accessPolicyWindow)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2215, __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, 2215, __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, 2215, __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, 2215, __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":2214
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaKernelNodeAttrValue *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._accessPolicyWindow = cudaAccessPolicyWindow(_ptr=<void_ptr>&self._ptr[0].accessPolicyWindow)
 *     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.cudaKernelNodeAttrValue.__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":2216
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._accessPolicyWindow = cudaAccessPolicyWindow(_ptr=<void_ptr>&self._ptr[0].accessPolicyWindow)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

/* Python wrapper */
static void __pyx_pw_4cuda_6cudart_23cudaKernelNodeAttrValue_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_6cudart_23cudaKernelNodeAttrValue_5__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4cuda_6cudart_23cudaKernelNodeAttrValue_4__dealloc__(((struct __pyx_obj_4cuda_6cudart_cudaKernelNodeAttrValue *)__pyx_v_self));

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

static void __pyx_pf_4cuda_6cudart_23cudaKernelNodeAttrValue_4__dealloc__(struct __pyx_obj_4cuda_6cudart_cudaKernelNodeAttrValue *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 2216, 0, __PYX_ERR(0, 2216, __pyx_L1_error));

  /* "cuda/cudart.pyx":2217
 *         self._accessPolicyWindow = cudaAccessPolicyWindow(_ptr=<void_ptr>&self._ptr[0].accessPolicyWindow)
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  __pyx_t_2 = ((__pyx_v_self->_ptr_owner == 1) != 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = ((__pyx_v_self->_ptr != NULL) != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":2218
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */
    free(__pyx_v_self->_ptr);

    /* "cuda/cudart.pyx":2217
 *         self._accessPolicyWindow = cudaAccessPolicyWindow(_ptr=<void_ptr>&self._ptr[0].accessPolicyWindow)
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  }

  /* "cuda/cudart.pyx":2216
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._accessPolicyWindow = cudaAccessPolicyWindow(_ptr=<void_ptr>&self._ptr[0].accessPolicyWindow)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cudart.cudaKernelNodeAttrValue.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
}

/* "cuda/cudart.pyx":2220
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_23cudaKernelNodeAttrValue_7getPtr(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_23cudaKernelNodeAttrValue_6getPtr[] = "cudaKernelNodeAttrValue.getPtr(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_23cudaKernelNodeAttrValue_7getPtr = {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_23cudaKernelNodeAttrValue_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_23cudaKernelNodeAttrValue_6getPtr};
static PyObject *__pyx_pw_4cuda_6cudart_23cudaKernelNodeAttrValue_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_23cudaKernelNodeAttrValue_6getPtr(((struct __pyx_obj_4cuda_6cudart_cudaKernelNodeAttrValue *)__pyx_v_self));

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

static PyObject *__pyx_pf_4cuda_6cudart_23cudaKernelNodeAttrValue_6getPtr(struct __pyx_obj_4cuda_6cudart_cudaKernelNodeAttrValue *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __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], 2220, 0, __PYX_ERR(0, 2220, __pyx_L1_error));

  /* "cuda/cudart.pyx":2221
 *         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, 2221, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":2220
 *             free(self._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.cudaKernelNodeAttrValue.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":2222
 *     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_23cudaKernelNodeAttrValue_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_23cudaKernelNodeAttrValue_9__repr__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_23cudaKernelNodeAttrValue_8__repr__(((struct __pyx_obj_4cuda_6cudart_cudaKernelNodeAttrValue *)__pyx_v_self));

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

static PyObject *__pyx_pf_4cuda_6cudart_23cudaKernelNodeAttrValue_8__repr__(struct __pyx_obj_4cuda_6cudart_cudaKernelNodeAttrValue *__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], 2222, 0, __PYX_ERR(0, 2222, __pyx_L1_error));

  /* "cuda/cudart.pyx":2223
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['accessPolicyWindow :\n' + '\n'.join(['    ' + line for line in str(self.accessPolicyWindow).splitlines()])]
 */
  __pyx_t_1 = ((__pyx_v_self->_ptr != NULL) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":2224
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 *             str_list = []             # <<<<<<<<<<<<<<
 *             str_list += ['accessPolicyWindow :\n' + '\n'.join(['    ' + line for line in str(self.accessPolicyWindow).splitlines()])]
 *             str_list += ['cooperative : ' + str(self.cooperative)]
 */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2224, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":2225
 *         if self._ptr is not NULL:
 *             str_list = []
 *             str_list += ['accessPolicyWindow :\n' + '\n'.join(['    ' + line for line in str(self.accessPolicyWindow).splitlines()])]             # <<<<<<<<<<<<<<
 *             str_list += ['cooperative : ' + str(self.cooperative)]
 *             return '\n'.join(str_list)
 */
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2225, __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, 2225, __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, 2225, __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, 2225, __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, 2225, __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, 2225, __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__65, __pyx_9genexpr12__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2225, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 2225, __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__48, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2225, __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, 2225, __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, 2225, __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, 2225, __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":2226
 *             str_list = []
 *             str_list += ['accessPolicyWindow :\n' + '\n'.join(['    ' + line for line in str(self.accessPolicyWindow).splitlines()])]
 *             str_list += ['cooperative : ' + str(self.cooperative)]             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_cooperative_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2226, __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, 2226, __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, 2226, __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, 2226, __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, 2226, __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":2227
 *             str_list += ['accessPolicyWindow :\n' + '\n'.join(['    ' + line for line in str(self.accessPolicyWindow).splitlines()])]
 *             str_list += ['cooperative : ' + str(self.cooperative)]
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__48, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2227, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":2223
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             str_list += ['accessPolicyWindow :\n' + '\n'.join(['    ' + line for line in str(self.accessPolicyWindow).splitlines()])]
 */
  }

  /* "cuda/cudart.pyx":2229
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__49);
    __pyx_r = __pyx_kp_u__49;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":2222
 *     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.cudaKernelNodeAttrValue.__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":2232
 * 
 *     @property
 *     def accessPolicyWindow(self):             # <<<<<<<<<<<<<<
 *         return self._accessPolicyWindow
 *     @accessPolicyWindow.setter
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_23cudaKernelNodeAttrValue_18accessPolicyWindow_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_23cudaKernelNodeAttrValue_18accessPolicyWindow_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_23cudaKernelNodeAttrValue_18accessPolicyWindow___get__(((struct __pyx_obj_4cuda_6cudart_cudaKernelNodeAttrValue *)__pyx_v_self));

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

static PyObject *__pyx_pf_4cuda_6cudart_23cudaKernelNodeAttrValue_18accessPolicyWindow___get__(struct __pyx_obj_4cuda_6cudart_cudaKernelNodeAttrValue *__pyx_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], 2232, 0, __PYX_ERR(0, 2232, __pyx_L1_error));

  /* "cuda/cudart.pyx":2233
 *     @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":2232
 * 
 *     @property
 *     def accessPolicyWindow(self):             # <<<<<<<<<<<<<<
 *         return self._accessPolicyWindow
 *     @accessPolicyWindow.setter
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaKernelNodeAttrValue.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":2235
 *         return self._accessPolicyWindow
 *     @accessPolicyWindow.setter
 *     def accessPolicyWindow(self, accessPolicyWindow not None : cudaAccessPolicyWindow):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(accessPolicyWindow):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_23cudaKernelNodeAttrValue_18accessPolicyWindow_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_accessPolicyWindow); /*proto*/
static int __pyx_pw_4cuda_6cudart_23cudaKernelNodeAttrValue_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, 2235, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_23cudaKernelNodeAttrValue_18accessPolicyWindow_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaKernelNodeAttrValue *)__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_23cudaKernelNodeAttrValue_18accessPolicyWindow_2__set__(struct __pyx_obj_4cuda_6cudart_cudaKernelNodeAttrValue *__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], 2235, 0, __PYX_ERR(0, 2235, __pyx_L1_error));

  /* "cuda/cudart.pyx":2237
 *     def accessPolicyWindow(self, accessPolicyWindow not None : cudaAccessPolicyWindow):
 *         pass
 *         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, 2237, __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, 2237, __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, 2237, __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, 2237, __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, 2237, __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, 2237, __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, 2237, __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, 2237, __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":2238
 *         pass
 *         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, 2238, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":2239
 *         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":2238
 *         pass
 *         for _attr in dir(accessPolicyWindow):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":2240
 *             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, 2240, __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__66) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__66);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2240, __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, 2240, __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":2241
 *                 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, 2241, __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, 2241, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":2240
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._accessPolicyWindow, _attr, getattr(accessPolicyWindow, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":2237
 *     def accessPolicyWindow(self, accessPolicyWindow not None : cudaAccessPolicyWindow):
 *         pass
 *         for _attr in dir(accessPolicyWindow):             # <<<<<<<<<<<<<<
 *             if _attr == 'getPtr':
 *                 continue
 */
    __pyx_L3_continue:;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":2235
 *         return self._accessPolicyWindow
 *     @accessPolicyWindow.setter
 *     def accessPolicyWindow(self, accessPolicyWindow not None : cudaAccessPolicyWindow):             # <<<<<<<<<<<<<<
 *         pass
 *         for _attr in dir(accessPolicyWindow):
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cudart.cudaKernelNodeAttrValue.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":2243
 *                 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_23cudaKernelNodeAttrValue_11cooperative_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_6cudart_23cudaKernelNodeAttrValue_11cooperative_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_23cudaKernelNodeAttrValue_11cooperative___get__(((struct __pyx_obj_4cuda_6cudart_cudaKernelNodeAttrValue *)__pyx_v_self));

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

static PyObject *__pyx_pf_4cuda_6cudart_23cudaKernelNodeAttrValue_11cooperative___get__(struct __pyx_obj_4cuda_6cudart_cudaKernelNodeAttrValue *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_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], 2243, 0, __PYX_ERR(0, 2243, __pyx_L1_error));

  /* "cuda/cudart.pyx":2244
 *     @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, 2244, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":2243
 *                 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.cudaKernelNodeAttrValue.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":2246
 *         return self._ptr[0].cooperative
 *     @cooperative.setter
 *     def cooperative(self, int cooperative):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].cooperative = cooperative
 */

/* Python wrapper */
static int __pyx_pw_4cuda_6cudart_23cudaKernelNodeAttrValue_11cooperative_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_cooperative); /*proto*/
static int __pyx_pw_4cuda_6cudart_23cudaKernelNodeAttrValue_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, 2246, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaKernelNodeAttrValue.cooperative.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_6cudart_23cudaKernelNodeAttrValue_11cooperative_2__set__(((struct __pyx_obj_4cuda_6cudart_cudaKernelNodeAttrValue *)__pyx_v_self), ((int)__pyx_v_cooperative));

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

static int __pyx_pf_4cuda_6cudart_23cudaKernelNodeAttrValue_11cooperative_2__set__(struct __pyx_obj_4cuda_6cudart_cudaKernelNodeAttrValue *__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], 2246, 0, __PYX_ERR(0, 2246, __pyx_L1_error));

  /* "cuda/cudart.pyx":2248
 *     def cooperative(self, int cooperative):
 *         pass
 *         self._ptr[0].cooperative = cooperative             # <<<<<<<<<<<<<<
 * 
 * cdef class _cudaResourceDesc_res_res_array_s:
 */
  (__pyx_v_self->_ptr[0]).cooperative = __pyx_v_cooperative;

  /* "cuda/cudart.pyx":2246
 *         return self._ptr[0].cooperative
 *     @cooperative.setter
 *     def cooperative(self, int cooperative):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].cooperative = cooperative
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cudart.cudaKernelNodeAttrValue.cooperative.__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_23cudaKernelNodeAttrValue_11__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_23cudaKernelNodeAttrValue_10__reduce_cython__[] = "cudaKernelNodeAttrValue.__reduce_cython__(self)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_23cudaKernelNodeAttrValue_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_23cudaKernelNodeAttrValue_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_23cudaKernelNodeAttrValue_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_23cudaKernelNodeAttrValue_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_23cudaKernelNodeAttrValue_10__reduce_cython__(((struct __pyx_obj_4cuda_6cudart_cudaKernelNodeAttrValue *)__pyx_v_self));

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

static PyObject *__pyx_pf_4cuda_6cudart_23cudaKernelNodeAttrValue_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaKernelNodeAttrValue *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __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.cudaKernelNodeAttrValue.__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_23cudaKernelNodeAttrValue_13__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static char __pyx_doc_4cuda_6cudart_23cudaKernelNodeAttrValue_12__setstate_cython__[] = "cudaKernelNodeAttrValue.__setstate_cython__(self, __pyx_state)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_23cudaKernelNodeAttrValue_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_23cudaKernelNodeAttrValue_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_23cudaKernelNodeAttrValue_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_6cudart_23cudaKernelNodeAttrValue_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_23cudaKernelNodeAttrValue_12__setstate_cython__(((struct __pyx_obj_4cuda_6cudart_cudaKernelNodeAttrValue *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_4cuda_6cudart_23cudaKernelNodeAttrValue_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_6cudart_cudaKernelNodeAttrValue *__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.cudaKernelNodeAttrValue.__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":2264
 * 
 *     """
 *     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, 2264, __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, 2264, __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, 2264, __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], 2264, 0, __PYX_ERR(0, 2264, __pyx_L1_error));

  /* "cuda/cudart.pyx":2265
 *     """
 *     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 __pyx_t_4cuda_7ccudart_cudaResourceDesc *)__pyx_v__ptr);

  /* "cuda/cudart.pyx":2264
 * 
 *     """
 *     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":2266
 *     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, 2266, __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, 2266, __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, 2266, __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], 2266, 0, __PYX_ERR(0, 2266, __pyx_L1_error));

  /* "cuda/cudart.pyx":2267
 *         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, 2267, __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, 2267, __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, 2267, __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, 2267, __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":2266
 *     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":2268
 *     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__121)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 2268, 0, __PYX_ERR(0, 2268, __pyx_L1_error));

  /* "cuda/cudart.pyx":2269
 *         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, 2269, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":2268
 *     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":2270
 *     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], 2270, 0, __PYX_ERR(0, 2270, __pyx_L1_error));

  /* "cuda/cudart.pyx":2271
 *         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":2272
 *     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, 2272, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":2273
 *         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, 2273, __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, 2273, __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, 2273, __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, 2273, __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, 2273, __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":2274
 *             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__48, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2274, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":2271
 *         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":2276
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__49);
    __pyx_r = __pyx_kp_u__49;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":2270
 *     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":2279
 * 
 *     @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], 2279, 0, __PYX_ERR(0, 2279, __pyx_L1_error));

  /* "cuda/cudart.pyx":2280
 *     @property
 *     def array(self):
 *         return self._array             # <<<<<<<<<<<<<<
 *     @array.setter
 *     def array(self, array : cudaArray_t):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self->_array));
  __pyx_r = ((PyObject *)__pyx_v_self->_array);
  goto __pyx_L0;

  /* "cuda/cudart.pyx":2279
 * 
 *     @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":2282
 *         return self._array
 *     @array.setter
 *     def array(self, array : cudaArray_t):             # <<<<<<<<<<<<<<
 *         pass
 *         self._array._ptr[0] = <ccudart.cudaArray_t> NULL if array == None else (<cudaArray_t>array)._ptr[0]
 */

/* 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_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_cudaArray_t, 1, "array", 0))) __PYX_ERR(0, 2282, __pyx_L1_error)
  __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), ((struct __pyx_obj_4cuda_6cudart_cudaArray_t *)__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_33_cudaResourceDesc_res_res_array_s_5array_2__set__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_array_s *__pyx_v_self, struct __pyx_obj_4cuda_6cudart_cudaArray_t *__pyx_v_array) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __pyx_t_4cuda_7ccudart_cudaArray_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 2282, 0, __PYX_ERR(0, 2282, __pyx_L1_error));

  /* "cuda/cudart.pyx":2284
 *     def array(self, array : cudaArray_t):
 *         pass
 *         self._array._ptr[0] = <ccudart.cudaArray_t> NULL if array == None else (<cudaArray_t>array)._ptr[0]             # <<<<<<<<<<<<<<
 * 
 * cdef class _cudaResourceDesc_res_res_mipmap_s:
 */
  __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_array), Py_None, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2284, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2284, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {
    __pyx_t_1 = ((__pyx_t_4cuda_7ccudart_cudaArray_t)NULL);
  } else {
    __pyx_t_1 = (__pyx_v_array->_ptr[0]);
  }
  (__pyx_v_self->_array->_ptr[0]) = __pyx_t_1;

  /* "cuda/cudart.pyx":2282
 *         return self._array
 *     @array.setter
 *     def array(self, array : cudaArray_t):             # <<<<<<<<<<<<<<
 *         pass
 *         self._array._ptr[0] = <ccudart.cudaArray_t> NULL if array == None else (<cudaArray_t>array)._ptr[0]
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_res_array_s.array.__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_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__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._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__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._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":2300
 * 
 *     """
 *     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, 2300, __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, 2300, __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, 2300, __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], 2300, 0, __PYX_ERR(0, 2300, __pyx_L1_error));

  /* "cuda/cudart.pyx":2301
 *     """
 *     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 __pyx_t_4cuda_7ccudart_cudaResourceDesc *)__pyx_v__ptr);

  /* "cuda/cudart.pyx":2300
 * 
 *     """
 *     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":2302
 *     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, 2302, __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, 2302, __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, 2302, __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], 2302, 0, __PYX_ERR(0, 2302, __pyx_L1_error));

  /* "cuda/cudart.pyx":2303
 *         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, 2303, __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, 2303, __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, 2303, __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, 2303, __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":2302
 *     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":2304
 *     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__126)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 2304, 0, __PYX_ERR(0, 2304, __pyx_L1_error));

  /* "cuda/cudart.pyx":2305
 *         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, 2305, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":2304
 *     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":2306
 *     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], 2306, 0, __PYX_ERR(0, 2306, __pyx_L1_error));

  /* "cuda/cudart.pyx":2307
 *         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":2308
 *     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, 2308, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":2309
 *         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, 2309, __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, 2309, __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, 2309, __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, 2309, __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, 2309, __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":2310
 *             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__48, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2310, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":2307
 *         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":2312
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__49);
    __pyx_r = __pyx_kp_u__49;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":2306
 *     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":2315
 * 
 *     @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], 2315, 0, __PYX_ERR(0, 2315, __pyx_L1_error));

  /* "cuda/cudart.pyx":2316
 *     @property
 *     def mipmap(self):
 *         return self._mipmap             # <<<<<<<<<<<<<<
 *     @mipmap.setter
 *     def mipmap(self, mipmap : cudaMipmappedArray_t):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_self->_mipmap));
  __pyx_r = ((PyObject *)__pyx_v_self->_mipmap);
  goto __pyx_L0;

  /* "cuda/cudart.pyx":2315
 * 
 *     @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":2318
 *         return self._mipmap
 *     @mipmap.setter
 *     def mipmap(self, mipmap : cudaMipmappedArray_t):             # <<<<<<<<<<<<<<
 *         pass
 *         self._mipmap._ptr[0] = <ccudart.cudaMipmappedArray_t> NULL if mipmap == None else (<cudaMipmappedArray_t>mipmap)._ptr[0]
 */

/* 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_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_cudaMipmappedArray_t, 1, "mipmap", 0))) __PYX_ERR(0, 2318, __pyx_L1_error)
  __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), ((struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_t *)__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_34_cudaResourceDesc_res_res_mipmap_s_6mipmap_2__set__(struct __pyx_obj_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s *__pyx_v_self, struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_t *__pyx_v_mipmap) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __pyx_t_4cuda_7ccudart_cudaMipmappedArray_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 2318, 0, __PYX_ERR(0, 2318, __pyx_L1_error));

  /* "cuda/cudart.pyx":2320
 *     def mipmap(self, mipmap : cudaMipmappedArray_t):
 *         pass
 *         self._mipmap._ptr[0] = <ccudart.cudaMipmappedArray_t> NULL if mipmap == None else (<cudaMipmappedArray_t>mipmap)._ptr[0]             # <<<<<<<<<<<<<<
 * 
 * cdef class _cudaResourceDesc_res_res_linear_s:
 */
  __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_mipmap), Py_None, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2320, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2320, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {
    __pyx_t_1 = ((__pyx_t_4cuda_7ccudart_cudaMipmappedArray_t)NULL);
  } else {
    __pyx_t_1 = (__pyx_v_mipmap->_ptr[0]);
  }
  (__pyx_v_self->_mipmap->_ptr[0]) = __pyx_t_1;

  /* "cuda/cudart.pyx":2318
 *         return self._mipmap
 *     @mipmap.setter
 *     def mipmap(self, mipmap : cudaMipmappedArray_t):             # <<<<<<<<<<<<<<
 *         pass
 *         self._mipmap._ptr[0] = <ccudart.cudaMipmappedArray_t> NULL if mipmap == None else (<cudaMipmappedArray_t>mipmap)._ptr[0]
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cuda.cudart._cudaResourceDesc_res_res_mipmap_s.mipmap.__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_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__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._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__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._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":2340
 * 
 *     """
 *     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, 2340, __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, 2340, __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, 2340, __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], 2340, 0, __PYX_ERR(0, 2340, __pyx_L1_error));

  /* "cuda/cudart.pyx":2341
 *     """
 *     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 __pyx_t_4cuda_7ccudart_cudaResourceDesc *)__pyx_v__ptr);

  /* "cuda/cudart.pyx":2340
 * 
 *     """
 *     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":2342
 *     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, 2342, __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, 2342, __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, 2342, __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], 2342, 0, __PYX_ERR(0, 2342, __pyx_L1_error));

  /* "cuda/cudart.pyx":2343
 *         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, 2343, __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, 2343, __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, 2343, __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, 2343, __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":2342
 *     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":2344
 *     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__131)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 2344, 0, __PYX_ERR(0, 2344, __pyx_L1_error));

  /* "cuda/cudart.pyx":2345
 *         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, 2345, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":2344
 *     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":2346
 *     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_9genexpr13__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], 2346, 0, __PYX_ERR(0, 2346, __pyx_L1_error));

  /* "cuda/cudart.pyx":2347
 *         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":2348
 *     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, 2348, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":2349
 *         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, 2349, __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, 2349, __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, 2349, __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, 2349, __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, 2349, __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":2350
 *             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, 2350, __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, 2350, __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, 2350, __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, 2350, __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, 2350, __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, 2350, __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__65, __pyx_9genexpr13__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2350, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 2350, __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__48, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2350, __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, 2350, __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, 2350, __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, 2350, __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":2351
 *             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, 2351, __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, 2351, __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, 2351, __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, 2351, __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, 2351, __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":2352
 *             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__48, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2352, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":2347
 *         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":2354
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__49);
    __pyx_r = __pyx_kp_u__49;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":2346
 *     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_9genexpr13__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":2357
 * 
 *     @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], 2357, 0, __PYX_ERR(0, 2357, __pyx_L1_error));

  /* "cuda/cudart.pyx":2358
 *     @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, 2358, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":2357
 * 
 *     @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":2360
 *         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], 2360, 0, __PYX_ERR(0, 2360, __pyx_L1_error));

  /* "cuda/cudart.pyx":2361
 *     @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, 2361, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__cdevPtr = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":2362
 *     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, 2362, __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, 2362, __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":2360
 *         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":2364
 *         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], 2364, 0, __PYX_ERR(0, 2364, __pyx_L1_error));

  /* "cuda/cudart.pyx":2365
 *     @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":2364
 *         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":2367
 *         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, 2367, __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], 2367, 0, __PYX_ERR(0, 2367, __pyx_L1_error));

  /* "cuda/cudart.pyx":2369
 *     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, 2369, __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, 2369, __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, 2369, __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, 2369, __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, 2369, __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, 2369, __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, 2369, __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, 2369, __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":2370
 *         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, 2370, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":2371
 *         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":2370
 *         pass
 *         for _attr in dir(desc):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":2372
 *             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, 2372, __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__66) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__66);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2372, __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, 2372, __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":2373
 *                 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, 2373, __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, 2373, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":2372
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._desc, _attr, getattr(desc, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":2369
 *     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":2367
 *         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":2375
 *                 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], 2375, 0, __PYX_ERR(0, 2375, __pyx_L1_error));

  /* "cuda/cudart.pyx":2376
 *     @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, 2376, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":2375
 *                 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":2378
 *         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, 2378, __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], 2378, 0, __PYX_ERR(0, 2378, __pyx_L1_error));

  /* "cuda/cudart.pyx":2380
 *     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":2378
 *         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__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_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__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_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":2404
 * 
 *     """
 *     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, 2404, __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, 2404, __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, 2404, __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], 2404, 0, __PYX_ERR(0, 2404, __pyx_L1_error));

  /* "cuda/cudart.pyx":2405
 *     """
 *     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 __pyx_t_4cuda_7ccudart_cudaResourceDesc *)__pyx_v__ptr);

  /* "cuda/cudart.pyx":2404
 * 
 *     """
 *     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":2406
 *     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, 2406, __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, 2406, __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, 2406, __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], 2406, 0, __PYX_ERR(0, 2406, __pyx_L1_error));

  /* "cuda/cudart.pyx":2407
 *         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, 2407, __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, 2407, __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, 2407, __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, 2407, __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":2406
 *     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":2408
 *     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__136)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 2408, 0, __PYX_ERR(0, 2408, __pyx_L1_error));

  /* "cuda/cudart.pyx":2409
 *         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, 2409, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":2408
 *     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":2410
 *     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_9genexpr14__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], 2410, 0, __PYX_ERR(0, 2410, __pyx_L1_error));

  /* "cuda/cudart.pyx":2411
 *         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":2412
 *     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, 2412, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":2413
 *         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, 2413, __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, 2413, __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, 2413, __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, 2413, __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, 2413, __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":2414
 *             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, 2414, __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, 2414, __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, 2414, __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, 2414, __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, 2414, __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, 2414, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        #endif
        __Pyx_XDECREF_SET(__pyx_9genexpr14__pyx_v_line, __pyx_t_3);
        __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_kp_u__65, __pyx_9genexpr14__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2414, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 2414, __pyx_L6_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_9genexpr14__pyx_v_line); __pyx_9genexpr14__pyx_v_line = 0;
      goto __pyx_L9_exit_scope;
      __pyx_L6_error:;
      __Pyx_XDECREF(__pyx_9genexpr14__pyx_v_line); __pyx_9genexpr14__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L9_exit_scope:;
    } /* exit inner scope */
    __pyx_t_4 = PyUnicode_Join(__pyx_kp_u__48, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2414, __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, 2414, __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, 2414, __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, 2414, __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":2415
 *             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, 2415, __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, 2415, __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, 2415, __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, 2415, __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, 2415, __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":2416
 *             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, 2416, __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, 2416, __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, 2416, __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, 2416, __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, 2416, __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":2417
 *             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, 2417, __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, 2417, __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, 2417, __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, 2417, __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, 2417, __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":2418
 *             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__48, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2418, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":2411
 *         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":2420
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__49);
    __pyx_r = __pyx_kp_u__49;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":2410
 *     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_9genexpr14__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":2423
 * 
 *     @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], 2423, 0, __PYX_ERR(0, 2423, __pyx_L1_error));

  /* "cuda/cudart.pyx":2424
 *     @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, 2424, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":2423
 * 
 *     @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":2426
 *         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], 2426, 0, __PYX_ERR(0, 2426, __pyx_L1_error));

  /* "cuda/cudart.pyx":2427
 *     @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, 2427, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__cdevPtr = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":2428
 *     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, 2428, __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, 2428, __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":2426
 *         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":2430
 *         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], 2430, 0, __PYX_ERR(0, 2430, __pyx_L1_error));

  /* "cuda/cudart.pyx":2431
 *     @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":2430
 *         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":2433
 *         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, 2433, __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], 2433, 0, __PYX_ERR(0, 2433, __pyx_L1_error));

  /* "cuda/cudart.pyx":2435
 *     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, 2435, __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, 2435, __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, 2435, __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, 2435, __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, 2435, __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, 2435, __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, 2435, __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, 2435, __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":2436
 *         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, 2436, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":2437
 *         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":2436
 *         pass
 *         for _attr in dir(desc):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":2438
 *             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, 2438, __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__66) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__66);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2438, __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, 2438, __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":2439
 *                 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, 2439, __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, 2439, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":2438
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._desc, _attr, getattr(desc, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":2435
 *     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":2433
 *         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":2441
 *                 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], 2441, 0, __PYX_ERR(0, 2441, __pyx_L1_error));

  /* "cuda/cudart.pyx":2442
 *     @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, 2442, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":2441
 *                 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":2444
 *         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, 2444, __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], 2444, 0, __PYX_ERR(0, 2444, __pyx_L1_error));

  /* "cuda/cudart.pyx":2446
 *     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":2444
 *         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":2448
 *         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], 2448, 0, __PYX_ERR(0, 2448, __pyx_L1_error));

  /* "cuda/cudart.pyx":2449
 *     @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, 2449, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":2448
 *         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":2451
 *         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, 2451, __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], 2451, 0, __PYX_ERR(0, 2451, __pyx_L1_error));

  /* "cuda/cudart.pyx":2453
 *     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":2451
 *         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":2455
 *         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], 2455, 0, __PYX_ERR(0, 2455, __pyx_L1_error));

  /* "cuda/cudart.pyx":2456
 *     @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, 2456, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":2455
 *         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":2458
 *         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, 2458, __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], 2458, 0, __PYX_ERR(0, 2458, __pyx_L1_error));

  /* "cuda/cudart.pyx":2460
 *     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":2458
 *         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__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_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__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_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":2482
 * 
 *     """
 *     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, 2482, __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, 2482, __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, 2482, __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], 2482, 0, __PYX_ERR(0, 2482, __pyx_L1_error));

  /* "cuda/cudart.pyx":2483
 *     """
 *     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 __pyx_t_4cuda_7ccudart_cudaResourceDesc *)__pyx_v__ptr);

  /* "cuda/cudart.pyx":2482
 * 
 *     """
 *     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":2484
 *     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, 2484, __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, 2484, __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, 2484, __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], 2484, 0, __PYX_ERR(0, 2484, __pyx_L1_error));

  /* "cuda/cudart.pyx":2485
 *         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, 2485, __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, 2485, __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, 2485, __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, 2485, __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":2486
 *     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, 2486, __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, 2486, __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, 2486, __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, 2486, __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":2487
 *         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, 2487, __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, 2487, __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, 2487, __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, 2487, __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":2488
 *         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, 2488, __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, 2488, __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, 2488, __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, 2488, __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":2484
 *     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":2489
 *         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__141)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 2489, 0, __PYX_ERR(0, 2489, __pyx_L1_error));

  /* "cuda/cudart.pyx":2490
 *         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, 2490, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":2489
 *         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":2491
 *     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_9genexpr15__pyx_v_line = NULL;
  PyObject *__pyx_9genexpr16__pyx_v_line = NULL;
  PyObject *__pyx_9genexpr17__pyx_v_line = NULL;
  PyObject *__pyx_9genexpr18__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  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], 2491, 0, __PYX_ERR(0, 2491, __pyx_L1_error));

  /* "cuda/cudart.pyx":2492
 *         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":2493
 *     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, 2493, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":2494
 *         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, 2494, __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, 2494, __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, 2494, __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, 2494, __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, 2494, __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, 2494, __pyx_L6_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__65, __pyx_9genexpr15__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2494, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 2494, __pyx_L6_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_L9_exit_scope;
      __pyx_L6_error:;
      __Pyx_XDECREF(__pyx_9genexpr15__pyx_v_line); __pyx_9genexpr15__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L9_exit_scope:;
    } /* exit inner scope */
    __pyx_t_4 = PyUnicode_Join(__pyx_kp_u__48, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2494, __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, 2494, __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, 2494, __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, 2494, __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":2495
 *             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, 2495, __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, 2495, __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, 2495, __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, 2495, __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, 2495, __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, 2495, __pyx_L12_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__65, __pyx_9genexpr16__pyx_v_line); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2495, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_4);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_4))) __PYX_ERR(0, 2495, __pyx_L12_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_L15_exit_scope;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_9genexpr16__pyx_v_line); __pyx_9genexpr16__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L15_exit_scope:;
    } /* exit inner scope */
    __pyx_t_3 = PyUnicode_Join(__pyx_kp_u__48, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2495, __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, 2495, __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, 2495, __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, 2495, __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":2496
 *             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, 2496, __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, 2496, __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, 2496, __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, 2496, __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, 2496, __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, 2496, __pyx_L18_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__65, __pyx_9genexpr17__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2496, __pyx_L18_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 2496, __pyx_L18_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_L21_exit_scope;
      __pyx_L18_error:;
      __Pyx_XDECREF(__pyx_9genexpr17__pyx_v_line); __pyx_9genexpr17__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L21_exit_scope:;
    } /* exit inner scope */
    __pyx_t_4 = PyUnicode_Join(__pyx_kp_u__48, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2496, __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, 2496, __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, 2496, __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, 2496, __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":2497
 *             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, 2497, __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, 2497, __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, 2497, __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, 2497, __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, 2497, __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, 2497, __pyx_L24_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
        __Pyx_XDECREF_SET(__pyx_9genexpr18__pyx_v_line, __pyx_t_4);
        __pyx_t_4 = 0;
        __pyx_t_4 = PyNumber_Add(__pyx_kp_u__65, __pyx_9genexpr18__pyx_v_line); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2497, __pyx_L24_error)
        __Pyx_GOTREF(__pyx_t_4);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_4))) __PYX_ERR(0, 2497, __pyx_L24_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_9genexpr18__pyx_v_line); __pyx_9genexpr18__pyx_v_line = 0;
      goto __pyx_L27_exit_scope;
      __pyx_L24_error:;
      __Pyx_XDECREF(__pyx_9genexpr18__pyx_v_line); __pyx_9genexpr18__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L27_exit_scope:;
    } /* exit inner scope */
    __pyx_t_3 = PyUnicode_Join(__pyx_kp_u__48, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2497, __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, 2497, __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, 2497, __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, 2497, __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":2498
 *             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__48, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2498, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":2492
 *         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":2500
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__49);
    __pyx_r = __pyx_kp_u__49;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":2491
 *     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_9genexpr15__pyx_v_line);
  __Pyx_XDECREF(__pyx_9genexpr16__pyx_v_line);
  __Pyx_XDECREF(__pyx_9genexpr17__pyx_v_line);
  __Pyx_XDECREF(__pyx_9genexpr18__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":2503
 * 
 *     @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], 2503, 0, __PYX_ERR(0, 2503, __pyx_L1_error));

  /* "cuda/cudart.pyx":2504
 *     @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":2503
 * 
 *     @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":2506
 *         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, 2506, __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], 2506, 0, __PYX_ERR(0, 2506, __pyx_L1_error));

  /* "cuda/cudart.pyx":2508
 *     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, 2508, __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, 2508, __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, 2508, __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, 2508, __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, 2508, __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, 2508, __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, 2508, __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, 2508, __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":2509
 *         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, 2509, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":2510
 *         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":2509
 *         pass
 *         for _attr in dir(array):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":2511
 *             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, 2511, __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__66) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__66);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2511, __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, 2511, __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":2512
 *                 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, 2512, __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, 2512, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":2511
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._array, _attr, getattr(array, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":2508
 *     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":2506
 *         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":2514
 *                 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], 2514, 0, __PYX_ERR(0, 2514, __pyx_L1_error));

  /* "cuda/cudart.pyx":2515
 *     @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":2514
 *                 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":2517
 *         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, 2517, __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], 2517, 0, __PYX_ERR(0, 2517, __pyx_L1_error));

  /* "cuda/cudart.pyx":2519
 *     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, 2519, __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, 2519, __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, 2519, __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, 2519, __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, 2519, __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, 2519, __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, 2519, __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, 2519, __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":2520
 *         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, 2520, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":2521
 *         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":2520
 *         pass
 *         for _attr in dir(mipmap):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":2522
 *             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, 2522, __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__66) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__66);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2522, __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, 2522, __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":2523
 *                 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, 2523, __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, 2523, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":2522
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._mipmap, _attr, getattr(mipmap, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":2519
 *     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":2517
 *         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":2525
 *                 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], 2525, 0, __PYX_ERR(0, 2525, __pyx_L1_error));

  /* "cuda/cudart.pyx":2526
 *     @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":2525
 *                 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":2528
 *         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, 2528, __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], 2528, 0, __PYX_ERR(0, 2528, __pyx_L1_error));

  /* "cuda/cudart.pyx":2530
 *     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, 2530, __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, 2530, __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, 2530, __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, 2530, __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, 2530, __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, 2530, __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, 2530, __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, 2530, __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":2531
 *         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, 2531, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":2532
 *         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":2531
 *         pass
 *         for _attr in dir(linear):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":2533
 *             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, 2533, __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__66) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__66);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2533, __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, 2533, __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":2534
 *                 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, 2534, __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, 2534, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":2533
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._linear, _attr, getattr(linear, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":2530
 *     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":2528
 *         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":2536
 *                 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], 2536, 0, __PYX_ERR(0, 2536, __pyx_L1_error));

  /* "cuda/cudart.pyx":2537
 *     @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":2536
 *                 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":2539
 *         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, 2539, __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], 2539, 0, __PYX_ERR(0, 2539, __pyx_L1_error));

  /* "cuda/cudart.pyx":2541
 *     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, 2541, __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, 2541, __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, 2541, __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, 2541, __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, 2541, __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, 2541, __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, 2541, __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, 2541, __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":2542
 *         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, 2542, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":2543
 *         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":2542
 *         pass
 *         for _attr in dir(pitch2D):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":2544
 *             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, 2544, __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__66) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__66);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2544, __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, 2544, __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":2545
 *                 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, 2545, __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, 2545, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":2544
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._pitch2D, _attr, getattr(pitch2D, _attr))
 * 
 */
    }

    /* "cuda/cudart.pyx":2541
 *     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":2539
 *         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__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_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__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_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":2564
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

/* 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, 2564, __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, 2564, __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, 2564, __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;
  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("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 2564, 0, __PYX_ERR(0, 2564, __pyx_L1_error));

  /* "cuda/cudart.pyx":2565
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaResourceDesc *>calloc(1, sizeof(ccudart.cudaResourceDesc))
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":2566
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr_owner = True             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaResourceDesc *>calloc(1, sizeof(ccudart.cudaResourceDesc))
 *             if self._ptr is NULL:
 */
    __pyx_v_self->_ptr_owner = 1;

    /* "cuda/cudart.pyx":2567
 *         if _ptr == 0:
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaResourceDesc *>calloc(1, sizeof(ccudart.cudaResourceDesc))             # <<<<<<<<<<<<<<
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaResourceDesc)))
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaResourceDesc *)calloc(1, (sizeof(struct __pyx_t_4cuda_7ccudart_cudaResourceDesc))));

    /* "cuda/cudart.pyx":2568
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaResourceDesc *>calloc(1, sizeof(ccudart.cudaResourceDesc))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaResourceDesc)))
 *         else:
 */
    __pyx_t_1 = ((__pyx_v_self->_ptr == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":2569
 *             self._ptr = <ccudart.cudaResourceDesc *>calloc(1, sizeof(ccudart.cudaResourceDesc))
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaResourceDesc)))             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr_owner = False
 */
      __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(struct __pyx_t_4cuda_7ccudart_cudaResourceDesc))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2569, __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, 2569, __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_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2569, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2569, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 2569, __pyx_L1_error)

      /* "cuda/cudart.pyx":2568
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaResourceDesc *>calloc(1, sizeof(ccudart.cudaResourceDesc))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaResourceDesc)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":2565
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaResourceDesc *>calloc(1, sizeof(ccudart.cudaResourceDesc))
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":2571
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaResourceDesc)))
 *         else:
 *             self._ptr_owner = False             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaResourceDesc *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 */
  /*else*/ {
    __pyx_v_self->_ptr_owner = 0;

    /* "cuda/cudart.pyx":2572
 *         else:
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaResourceDesc *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._res = _cudaResourceDesc_res_u(_ptr=<void_ptr>self._ptr)
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaResourceDesc *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":2564
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.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":2573
 *             self._ptr_owner = False
 *             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, 2573, __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, 2573, __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, 2573, __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], 2573, 0, __PYX_ERR(0, 2573, __pyx_L1_error));

  /* "cuda/cudart.pyx":2574
 *             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):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2574, __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, 2574, __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, 2574, __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, 2574, __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":2573
 *             self._ptr_owner = False
 *             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":2575
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._res = _cudaResourceDesc_res_u(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

/* 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__(struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 2575, 0, __PYX_ERR(0, 2575, __pyx_L1_error));

  /* "cuda/cudart.pyx":2576
 *         self._res = _cudaResourceDesc_res_u(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  __pyx_t_2 = ((__pyx_v_self->_ptr_owner == 1) != 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = ((__pyx_v_self->_ptr != NULL) != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":2577
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */
    free(__pyx_v_self->_ptr);

    /* "cuda/cudart.pyx":2576
 *         self._res = _cudaResourceDesc_res_u(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  }

  /* "cuda/cudart.pyx":2575
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._res = _cudaResourceDesc_res_u(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

  /* 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":2579
 *             free(self._ptr)
 *         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__146)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 2579, 0, __PYX_ERR(0, 2579, __pyx_L1_error));

  /* "cuda/cudart.pyx":2580
 *         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, 2580, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":2579
 *             free(self._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.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":2581
 *     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_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], 2581, 0, __PYX_ERR(0, 2581, __pyx_L1_error));

  /* "cuda/cudart.pyx":2582
 *         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":2583
 *     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, 2583, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":2584
 *         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, 2584, __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, 2584, __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, 2584, __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, 2584, __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, 2584, __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":2585
 *             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, 2585, __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, 2585, __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, 2585, __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, 2585, __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, 2585, __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, 2585, __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__65, __pyx_9genexpr19__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2585, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 2585, __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__48, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2585, __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, 2585, __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, 2585, __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, 2585, __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":2586
 *             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__48, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2586, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":2582
 *         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":2588
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__49);
    __pyx_r = __pyx_kp_u__49;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":2581
 *     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_9genexpr19__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":2591
 * 
 *     @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], 2591, 0, __PYX_ERR(0, 2591, __pyx_L1_error));

  /* "cuda/cudart.pyx":2592
 *     @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, 2592, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaResourceType((__pyx_v_self->_ptr[0]).resType); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2592, __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, 2592, __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":2591
 * 
 *     @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":2594
 *         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, 2594, __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 __pyx_t_4cuda_7ccudart_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], 2594, 0, __PYX_ERR(0, 2594, __pyx_L1_error));

  /* "cuda/cudart.pyx":2596
 *     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, 2596, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum __pyx_t_4cuda_7ccudart_cudaResourceType)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaResourceType(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2596, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).resType = __pyx_t_2;

  /* "cuda/cudart.pyx":2594
 *         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":2598
 *         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], 2598, 0, __PYX_ERR(0, 2598, __pyx_L1_error));

  /* "cuda/cudart.pyx":2599
 *     @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":2598
 *         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":2601
 *         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, 2601, __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], 2601, 0, __PYX_ERR(0, 2601, __pyx_L1_error));

  /* "cuda/cudart.pyx":2603
 *     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, 2603, __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, 2603, __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, 2603, __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, 2603, __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, 2603, __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, 2603, __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, 2603, __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, 2603, __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":2604
 *         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, 2604, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":2605
 *         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":2604
 *         pass
 *         for _attr in dir(res):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":2606
 *             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, 2606, __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__66) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__66);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2606, __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, 2606, __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":2607
 *                 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, 2607, __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, 2607, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":2606
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._res, _attr, getattr(res, _attr))
 * 
 */
    }

    /* "cuda/cudart.pyx":2603
 *     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":2601
 *         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__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.__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__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.__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":2638
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

/* 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, 2638, __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, 2638, __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, 2638, __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;
  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("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 2638, 0, __PYX_ERR(0, 2638, __pyx_L1_error));

  /* "cuda/cudart.pyx":2639
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaResourceViewDesc *>calloc(1, sizeof(ccudart.cudaResourceViewDesc))
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":2640
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr_owner = True             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaResourceViewDesc *>calloc(1, sizeof(ccudart.cudaResourceViewDesc))
 *             if self._ptr is NULL:
 */
    __pyx_v_self->_ptr_owner = 1;

    /* "cuda/cudart.pyx":2641
 *         if _ptr == 0:
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaResourceViewDesc *>calloc(1, sizeof(ccudart.cudaResourceViewDesc))             # <<<<<<<<<<<<<<
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaResourceViewDesc)))
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaResourceViewDesc *)calloc(1, (sizeof(struct __pyx_t_4cuda_7ccudart_cudaResourceViewDesc))));

    /* "cuda/cudart.pyx":2642
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaResourceViewDesc *>calloc(1, sizeof(ccudart.cudaResourceViewDesc))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaResourceViewDesc)))
 *         else:
 */
    __pyx_t_1 = ((__pyx_v_self->_ptr == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":2643
 *             self._ptr = <ccudart.cudaResourceViewDesc *>calloc(1, sizeof(ccudart.cudaResourceViewDesc))
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaResourceViewDesc)))             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr_owner = False
 */
      __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(struct __pyx_t_4cuda_7ccudart_cudaResourceViewDesc))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2643, __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, 2643, __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_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2643, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2643, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 2643, __pyx_L1_error)

      /* "cuda/cudart.pyx":2642
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaResourceViewDesc *>calloc(1, sizeof(ccudart.cudaResourceViewDesc))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaResourceViewDesc)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":2639
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaResourceViewDesc *>calloc(1, sizeof(ccudart.cudaResourceViewDesc))
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":2645
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaResourceViewDesc)))
 *         else:
 *             self._ptr_owner = False             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaResourceViewDesc *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 */
  /*else*/ {
    __pyx_v_self->_ptr_owner = 0;

    /* "cuda/cudart.pyx":2646
 *         else:
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaResourceViewDesc *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaResourceViewDesc *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":2638
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.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":2647
 *             self._ptr_owner = False
 *             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, 2647, __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, 2647, __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, 2647, __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], 2647, 0, __PYX_ERR(0, 2647, __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":2649
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

/* 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__(struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 2649, 0, __PYX_ERR(0, 2649, __pyx_L1_error));

  /* "cuda/cudart.pyx":2650
 *         pass
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  __pyx_t_2 = ((__pyx_v_self->_ptr_owner == 1) != 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = ((__pyx_v_self->_ptr != NULL) != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":2651
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */
    free(__pyx_v_self->_ptr);

    /* "cuda/cudart.pyx":2650
 *         pass
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  }

  /* "cuda/cudart.pyx":2649
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

  /* 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":2653
 *             free(self._ptr)
 *         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__151)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 2653, 0, __PYX_ERR(0, 2653, __pyx_L1_error));

  /* "cuda/cudart.pyx":2654
 *         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, 2654, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":2653
 *             free(self._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.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":2655
 *     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], 2655, 0, __PYX_ERR(0, 2655, __pyx_L1_error));

  /* "cuda/cudart.pyx":2656
 *         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":2657
 *     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, 2657, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":2658
 *         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, 2658, __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, 2658, __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, 2658, __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, 2658, __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, 2658, __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":2659
 *             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, 2659, __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, 2659, __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, 2659, __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, 2659, __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, 2659, __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":2660
 *             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, 2660, __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, 2660, __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, 2660, __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, 2660, __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, 2660, __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":2661
 *             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, 2661, __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, 2661, __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, 2661, __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, 2661, __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, 2661, __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":2662
 *             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, 2662, __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, 2662, __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, 2662, __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, 2662, __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, 2662, __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":2663
 *             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, 2663, __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, 2663, __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, 2663, __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, 2663, __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, 2663, __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":2664
 *             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, 2664, __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, 2664, __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, 2664, __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, 2664, __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, 2664, __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":2665
 *             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, 2665, __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, 2665, __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, 2665, __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, 2665, __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, 2665, __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":2666
 *             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__48, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2666, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":2656
 *         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":2668
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__49);
    __pyx_r = __pyx_kp_u__49;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":2655
 *     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":2671
 * 
 *     @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], 2671, 0, __PYX_ERR(0, 2671, __pyx_L1_error));

  /* "cuda/cudart.pyx":2672
 *     @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, 2672, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaResourceViewFormat((__pyx_v_self->_ptr[0]).format); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2672, __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, 2672, __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":2671
 * 
 *     @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":2674
 *         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, 2674, __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 __pyx_t_4cuda_7ccudart_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], 2674, 0, __PYX_ERR(0, 2674, __pyx_L1_error));

  /* "cuda/cudart.pyx":2676
 *     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, 2676, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaResourceViewFormat(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2676, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).format = __pyx_t_2;

  /* "cuda/cudart.pyx":2674
 *         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":2678
 *         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], 2678, 0, __PYX_ERR(0, 2678, __pyx_L1_error));

  /* "cuda/cudart.pyx":2679
 *     @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, 2679, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":2678
 *         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":2681
 *         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, 2681, __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], 2681, 0, __PYX_ERR(0, 2681, __pyx_L1_error));

  /* "cuda/cudart.pyx":2683
 *     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":2681
 *         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":2685
 *         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], 2685, 0, __PYX_ERR(0, 2685, __pyx_L1_error));

  /* "cuda/cudart.pyx":2686
 *     @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, 2686, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":2685
 *         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":2688
 *         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, 2688, __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], 2688, 0, __PYX_ERR(0, 2688, __pyx_L1_error));

  /* "cuda/cudart.pyx":2690
 *     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":2688
 *         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":2692
 *         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], 2692, 0, __PYX_ERR(0, 2692, __pyx_L1_error));

  /* "cuda/cudart.pyx":2693
 *     @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, 2693, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":2692
 *         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":2695
 *         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, 2695, __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], 2695, 0, __PYX_ERR(0, 2695, __pyx_L1_error));

  /* "cuda/cudart.pyx":2697
 *     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":2695
 *         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":2699
 *         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], 2699, 0, __PYX_ERR(0, 2699, __pyx_L1_error));

  /* "cuda/cudart.pyx":2700
 *     @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, 2700, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":2699
 *         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":2702
 *         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, 2702, __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], 2702, 0, __PYX_ERR(0, 2702, __pyx_L1_error));

  /* "cuda/cudart.pyx":2704
 *     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":2702
 *         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":2706
 *         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], 2706, 0, __PYX_ERR(0, 2706, __pyx_L1_error));

  /* "cuda/cudart.pyx":2707
 *     @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, 2707, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":2706
 *         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":2709
 *         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, 2709, __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], 2709, 0, __PYX_ERR(0, 2709, __pyx_L1_error));

  /* "cuda/cudart.pyx":2711
 *     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":2709
 *         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":2713
 *         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], 2713, 0, __PYX_ERR(0, 2713, __pyx_L1_error));

  /* "cuda/cudart.pyx":2714
 *     @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, 2714, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":2713
 *         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":2716
 *         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, 2716, __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], 2716, 0, __PYX_ERR(0, 2716, __pyx_L1_error));

  /* "cuda/cudart.pyx":2718
 *     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":2716
 *         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":2720
 *         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], 2720, 0, __PYX_ERR(0, 2720, __pyx_L1_error));

  /* "cuda/cudart.pyx":2721
 *     @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, 2721, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":2720
 *         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":2723
 *         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, 2723, __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], 2723, 0, __PYX_ERR(0, 2723, __pyx_L1_error));

  /* "cuda/cudart.pyx":2725
 *     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":2723
 *         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__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.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__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.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":2759
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

/* 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, 2759, __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, 2759, __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, 2759, __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;
  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("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 2759, 0, __PYX_ERR(0, 2759, __pyx_L1_error));

  /* "cuda/cudart.pyx":2760
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaPointerAttributes *>calloc(1, sizeof(ccudart.cudaPointerAttributes))
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":2761
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr_owner = True             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaPointerAttributes *>calloc(1, sizeof(ccudart.cudaPointerAttributes))
 *             if self._ptr is NULL:
 */
    __pyx_v_self->_ptr_owner = 1;

    /* "cuda/cudart.pyx":2762
 *         if _ptr == 0:
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaPointerAttributes *>calloc(1, sizeof(ccudart.cudaPointerAttributes))             # <<<<<<<<<<<<<<
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaPointerAttributes)))
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaPointerAttributes *)calloc(1, (sizeof(struct __pyx_t_4cuda_7ccudart_cudaPointerAttributes))));

    /* "cuda/cudart.pyx":2763
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaPointerAttributes *>calloc(1, sizeof(ccudart.cudaPointerAttributes))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaPointerAttributes)))
 *         else:
 */
    __pyx_t_1 = ((__pyx_v_self->_ptr == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":2764
 *             self._ptr = <ccudart.cudaPointerAttributes *>calloc(1, sizeof(ccudart.cudaPointerAttributes))
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaPointerAttributes)))             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr_owner = False
 */
      __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(struct __pyx_t_4cuda_7ccudart_cudaPointerAttributes))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2764, __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, 2764, __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_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2764, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2764, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 2764, __pyx_L1_error)

      /* "cuda/cudart.pyx":2763
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaPointerAttributes *>calloc(1, sizeof(ccudart.cudaPointerAttributes))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaPointerAttributes)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":2760
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaPointerAttributes *>calloc(1, sizeof(ccudart.cudaPointerAttributes))
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":2766
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaPointerAttributes)))
 *         else:
 *             self._ptr_owner = False             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaPointerAttributes *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 */
  /*else*/ {
    __pyx_v_self->_ptr_owner = 0;

    /* "cuda/cudart.pyx":2767
 *         else:
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaPointerAttributes *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaPointerAttributes *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":2759
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.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":2768
 *             self._ptr_owner = False
 *             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, 2768, __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, 2768, __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, 2768, __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], 2768, 0, __PYX_ERR(0, 2768, __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":2770
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

/* 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__(struct __pyx_obj_4cuda_6cudart_cudaPointerAttributes *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 2770, 0, __PYX_ERR(0, 2770, __pyx_L1_error));

  /* "cuda/cudart.pyx":2771
 *         pass
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  __pyx_t_2 = ((__pyx_v_self->_ptr_owner == 1) != 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = ((__pyx_v_self->_ptr != NULL) != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":2772
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */
    free(__pyx_v_self->_ptr);

    /* "cuda/cudart.pyx":2771
 *         pass
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  }

  /* "cuda/cudart.pyx":2770
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

  /* 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":2774
 *             free(self._ptr)
 *         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__156)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 2774, 0, __PYX_ERR(0, 2774, __pyx_L1_error));

  /* "cuda/cudart.pyx":2775
 *         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, 2775, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":2774
 *             free(self._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.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":2776
 *     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], 2776, 0, __PYX_ERR(0, 2776, __pyx_L1_error));

  /* "cuda/cudart.pyx":2777
 *         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":2778
 *     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, 2778, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":2779
 *         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, 2779, __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, 2779, __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, 2779, __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, 2779, __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, 2779, __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":2780
 *             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, 2780, __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, 2780, __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, 2780, __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, 2780, __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, 2780, __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":2781
 *             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, 2781, __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, 2781, __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, 2781, __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, 2781, __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, 2781, __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":2782
 *             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, 2782, __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, 2782, __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, 2782, __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, 2782, __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, 2782, __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":2783
 *             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__48, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2783, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":2777
 *         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":2785
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__49);
    __pyx_r = __pyx_kp_u__49;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":2776
 *     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":2788
 * 
 *     @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], 2788, 0, __PYX_ERR(0, 2788, __pyx_L1_error));

  /* "cuda/cudart.pyx":2789
 *     @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, 2789, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemoryType((__pyx_v_self->_ptr[0]).type); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2789, __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, 2789, __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":2788
 * 
 *     @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":2791
 *         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, 2791, __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 __pyx_t_4cuda_7ccudart_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], 2791, 0, __PYX_ERR(0, 2791, __pyx_L1_error));

  /* "cuda/cudart.pyx":2793
 *     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, 2793, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum __pyx_t_4cuda_7ccudart_cudaMemoryType)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaMemoryType(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 2793, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).type = __pyx_t_2;

  /* "cuda/cudart.pyx":2791
 *         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":2795
 *         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], 2795, 0, __PYX_ERR(0, 2795, __pyx_L1_error));

  /* "cuda/cudart.pyx":2796
 *     @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, 2796, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":2795
 *         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":2798
 *         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, 2798, __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], 2798, 0, __PYX_ERR(0, 2798, __pyx_L1_error));

  /* "cuda/cudart.pyx":2800
 *     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":2798
 *         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":2802
 *         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], 2802, 0, __PYX_ERR(0, 2802, __pyx_L1_error));

  /* "cuda/cudart.pyx":2803
 *     @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, 2803, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":2802
 *         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":2805
 *         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], 2805, 0, __PYX_ERR(0, 2805, __pyx_L1_error));

  /* "cuda/cudart.pyx":2806
 *     @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, 2806, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__cdevicePointer = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":2807
 *     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, 2807, __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, 2807, __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":2805
 *         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":2809
 *         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], 2809, 0, __PYX_ERR(0, 2809, __pyx_L1_error));

  /* "cuda/cudart.pyx":2810
 *     @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, 2810, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":2809
 *         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":2812
 *         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], 2812, 0, __PYX_ERR(0, 2812, __pyx_L1_error));

  /* "cuda/cudart.pyx":2813
 *     @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, 2813, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__chostPointer = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":2814
 *     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, 2814, __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, 2814, __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":2812
 *         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__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.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__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.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":2868
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

/* 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, 2868, __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, 2868, __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, 2868, __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;
  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("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 2868, 0, __PYX_ERR(0, 2868, __pyx_L1_error));

  /* "cuda/cudart.pyx":2869
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaFuncAttributes *>calloc(1, sizeof(ccudart.cudaFuncAttributes))
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":2870
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr_owner = True             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaFuncAttributes *>calloc(1, sizeof(ccudart.cudaFuncAttributes))
 *             if self._ptr is NULL:
 */
    __pyx_v_self->_ptr_owner = 1;

    /* "cuda/cudart.pyx":2871
 *         if _ptr == 0:
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaFuncAttributes *>calloc(1, sizeof(ccudart.cudaFuncAttributes))             # <<<<<<<<<<<<<<
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaFuncAttributes)))
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaFuncAttributes *)calloc(1, (sizeof(struct __pyx_t_4cuda_7ccudart_cudaFuncAttributes))));

    /* "cuda/cudart.pyx":2872
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaFuncAttributes *>calloc(1, sizeof(ccudart.cudaFuncAttributes))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaFuncAttributes)))
 *         else:
 */
    __pyx_t_1 = ((__pyx_v_self->_ptr == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":2873
 *             self._ptr = <ccudart.cudaFuncAttributes *>calloc(1, sizeof(ccudart.cudaFuncAttributes))
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaFuncAttributes)))             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr_owner = False
 */
      __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(struct __pyx_t_4cuda_7ccudart_cudaFuncAttributes))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2873, __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, 2873, __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_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2873, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2873, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 2873, __pyx_L1_error)

      /* "cuda/cudart.pyx":2872
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaFuncAttributes *>calloc(1, sizeof(ccudart.cudaFuncAttributes))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaFuncAttributes)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":2869
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaFuncAttributes *>calloc(1, sizeof(ccudart.cudaFuncAttributes))
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":2875
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaFuncAttributes)))
 *         else:
 *             self._ptr_owner = False             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaFuncAttributes *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 */
  /*else*/ {
    __pyx_v_self->_ptr_owner = 0;

    /* "cuda/cudart.pyx":2876
 *         else:
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaFuncAttributes *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaFuncAttributes *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":2868
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.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":2877
 *             self._ptr_owner = False
 *             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, 2877, __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, 2877, __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, 2877, __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], 2877, 0, __PYX_ERR(0, 2877, __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":2879
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

/* 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__(struct __pyx_obj_4cuda_6cudart_cudaFuncAttributes *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 2879, 0, __PYX_ERR(0, 2879, __pyx_L1_error));

  /* "cuda/cudart.pyx":2880
 *         pass
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  __pyx_t_2 = ((__pyx_v_self->_ptr_owner == 1) != 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = ((__pyx_v_self->_ptr != NULL) != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":2881
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */
    free(__pyx_v_self->_ptr);

    /* "cuda/cudart.pyx":2880
 *         pass
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  }

  /* "cuda/cudart.pyx":2879
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

  /* 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":2883
 *             free(self._ptr)
 *         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__161)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 2883, 0, __PYX_ERR(0, 2883, __pyx_L1_error));

  /* "cuda/cudart.pyx":2884
 *         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, 2884, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":2883
 *             free(self._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.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":2885
 *     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], 2885, 0, __PYX_ERR(0, 2885, __pyx_L1_error));

  /* "cuda/cudart.pyx":2886
 *         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":2887
 *     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, 2887, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":2888
 *         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, 2888, __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, 2888, __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, 2888, __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, 2888, __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, 2888, __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":2889
 *             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, 2889, __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, 2889, __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, 2889, __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, 2889, __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, 2889, __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":2890
 *             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, 2890, __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, 2890, __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, 2890, __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, 2890, __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, 2890, __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":2891
 *             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, 2891, __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, 2891, __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, 2891, __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, 2891, __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, 2891, __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":2892
 *             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, 2892, __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, 2892, __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, 2892, __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, 2892, __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, 2892, __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":2893
 *             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, 2893, __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, 2893, __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, 2893, __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, 2893, __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, 2893, __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":2894
 *             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, 2894, __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, 2894, __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, 2894, __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, 2894, __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, 2894, __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":2895
 *             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, 2895, __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, 2895, __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, 2895, __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, 2895, __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, 2895, __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":2896
 *             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, 2896, __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, 2896, __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, 2896, __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, 2896, __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, 2896, __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":2897
 *             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, 2897, __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, 2897, __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, 2897, __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, 2897, __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, 2897, __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":2898
 *             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__48, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2898, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":2886
 *         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":2900
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__49);
    __pyx_r = __pyx_kp_u__49;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":2885
 *     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":2903
 * 
 *     @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], 2903, 0, __PYX_ERR(0, 2903, __pyx_L1_error));

  /* "cuda/cudart.pyx":2904
 *     @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, 2904, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":2903
 * 
 *     @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":2906
 *         return self._ptr[0].sharedSizeBytes
 *     @sharedSizeBytes.setter
 *     def sharedSizeBytes(self, size_t sharedSizeBytes):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].sharedSizeBytes = sharedSizeBytes
 */

/* 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, 2906, __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], 2906, 0, __PYX_ERR(0, 2906, __pyx_L1_error));

  /* "cuda/cudart.pyx":2908
 *     def sharedSizeBytes(self, size_t sharedSizeBytes):
 *         pass
 *         self._ptr[0].sharedSizeBytes = sharedSizeBytes             # <<<<<<<<<<<<<<
 *     @property
 *     def constSizeBytes(self):
 */
  (__pyx_v_self->_ptr[0]).sharedSizeBytes = __pyx_v_sharedSizeBytes;

  /* "cuda/cudart.pyx":2906
 *         return self._ptr[0].sharedSizeBytes
 *     @sharedSizeBytes.setter
 *     def sharedSizeBytes(self, size_t sharedSizeBytes):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].sharedSizeBytes = sharedSizeBytes
 */

  /* 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":2910
 *         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], 2910, 0, __PYX_ERR(0, 2910, __pyx_L1_error));

  /* "cuda/cudart.pyx":2911
 *     @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, 2911, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":2910
 *         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":2913
 *         return self._ptr[0].constSizeBytes
 *     @constSizeBytes.setter
 *     def constSizeBytes(self, size_t constSizeBytes):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].constSizeBytes = constSizeBytes
 */

/* 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, 2913, __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], 2913, 0, __PYX_ERR(0, 2913, __pyx_L1_error));

  /* "cuda/cudart.pyx":2915
 *     def constSizeBytes(self, size_t constSizeBytes):
 *         pass
 *         self._ptr[0].constSizeBytes = constSizeBytes             # <<<<<<<<<<<<<<
 *     @property
 *     def localSizeBytes(self):
 */
  (__pyx_v_self->_ptr[0]).constSizeBytes = __pyx_v_constSizeBytes;

  /* "cuda/cudart.pyx":2913
 *         return self._ptr[0].constSizeBytes
 *     @constSizeBytes.setter
 *     def constSizeBytes(self, size_t constSizeBytes):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].constSizeBytes = constSizeBytes
 */

  /* 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":2917
 *         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], 2917, 0, __PYX_ERR(0, 2917, __pyx_L1_error));

  /* "cuda/cudart.pyx":2918
 *     @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, 2918, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":2917
 *         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":2920
 *         return self._ptr[0].localSizeBytes
 *     @localSizeBytes.setter
 *     def localSizeBytes(self, size_t localSizeBytes):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].localSizeBytes = localSizeBytes
 */

/* 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, 2920, __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], 2920, 0, __PYX_ERR(0, 2920, __pyx_L1_error));

  /* "cuda/cudart.pyx":2922
 *     def localSizeBytes(self, size_t localSizeBytes):
 *         pass
 *         self._ptr[0].localSizeBytes = localSizeBytes             # <<<<<<<<<<<<<<
 *     @property
 *     def maxThreadsPerBlock(self):
 */
  (__pyx_v_self->_ptr[0]).localSizeBytes = __pyx_v_localSizeBytes;

  /* "cuda/cudart.pyx":2920
 *         return self._ptr[0].localSizeBytes
 *     @localSizeBytes.setter
 *     def localSizeBytes(self, size_t localSizeBytes):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].localSizeBytes = localSizeBytes
 */

  /* 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":2924
 *         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], 2924, 0, __PYX_ERR(0, 2924, __pyx_L1_error));

  /* "cuda/cudart.pyx":2925
 *     @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, 2925, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":2924
 *         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":2927
 *         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_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, 2927, __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], 2927, 0, __PYX_ERR(0, 2927, __pyx_L1_error));

  /* "cuda/cudart.pyx":2929
 *     def maxThreadsPerBlock(self, int maxThreadsPerBlock):
 *         pass
 *         self._ptr[0].maxThreadsPerBlock = maxThreadsPerBlock             # <<<<<<<<<<<<<<
 *     @property
 *     def numRegs(self):
 */
  (__pyx_v_self->_ptr[0]).maxThreadsPerBlock = __pyx_v_maxThreadsPerBlock;

  /* "cuda/cudart.pyx":2927
 *         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.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":2931
 *         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], 2931, 0, __PYX_ERR(0, 2931, __pyx_L1_error));

  /* "cuda/cudart.pyx":2932
 *     @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, 2932, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":2931
 *         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":2934
 *         return self._ptr[0].numRegs
 *     @numRegs.setter
 *     def numRegs(self, int numRegs):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].numRegs = numRegs
 */

/* 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, 2934, __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], 2934, 0, __PYX_ERR(0, 2934, __pyx_L1_error));

  /* "cuda/cudart.pyx":2936
 *     def numRegs(self, int numRegs):
 *         pass
 *         self._ptr[0].numRegs = numRegs             # <<<<<<<<<<<<<<
 *     @property
 *     def ptxVersion(self):
 */
  (__pyx_v_self->_ptr[0]).numRegs = __pyx_v_numRegs;

  /* "cuda/cudart.pyx":2934
 *         return self._ptr[0].numRegs
 *     @numRegs.setter
 *     def numRegs(self, int numRegs):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].numRegs = numRegs
 */

  /* 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":2938
 *         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], 2938, 0, __PYX_ERR(0, 2938, __pyx_L1_error));

  /* "cuda/cudart.pyx":2939
 *     @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, 2939, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":2938
 *         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":2941
 *         return self._ptr[0].ptxVersion
 *     @ptxVersion.setter
 *     def ptxVersion(self, int ptxVersion):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].ptxVersion = ptxVersion
 */

/* 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, 2941, __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], 2941, 0, __PYX_ERR(0, 2941, __pyx_L1_error));

  /* "cuda/cudart.pyx":2943
 *     def ptxVersion(self, int ptxVersion):
 *         pass
 *         self._ptr[0].ptxVersion = ptxVersion             # <<<<<<<<<<<<<<
 *     @property
 *     def binaryVersion(self):
 */
  (__pyx_v_self->_ptr[0]).ptxVersion = __pyx_v_ptxVersion;

  /* "cuda/cudart.pyx":2941
 *         return self._ptr[0].ptxVersion
 *     @ptxVersion.setter
 *     def ptxVersion(self, int ptxVersion):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].ptxVersion = ptxVersion
 */

  /* 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":2945
 *         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], 2945, 0, __PYX_ERR(0, 2945, __pyx_L1_error));

  /* "cuda/cudart.pyx":2946
 *     @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, 2946, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":2945
 *         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":2948
 *         return self._ptr[0].binaryVersion
 *     @binaryVersion.setter
 *     def binaryVersion(self, int binaryVersion):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].binaryVersion = binaryVersion
 */

/* 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, 2948, __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], 2948, 0, __PYX_ERR(0, 2948, __pyx_L1_error));

  /* "cuda/cudart.pyx":2950
 *     def binaryVersion(self, int binaryVersion):
 *         pass
 *         self._ptr[0].binaryVersion = binaryVersion             # <<<<<<<<<<<<<<
 *     @property
 *     def cacheModeCA(self):
 */
  (__pyx_v_self->_ptr[0]).binaryVersion = __pyx_v_binaryVersion;

  /* "cuda/cudart.pyx":2948
 *         return self._ptr[0].binaryVersion
 *     @binaryVersion.setter
 *     def binaryVersion(self, int binaryVersion):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].binaryVersion = binaryVersion
 */

  /* 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":2952
 *         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], 2952, 0, __PYX_ERR(0, 2952, __pyx_L1_error));

  /* "cuda/cudart.pyx":2953
 *     @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, 2953, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":2952
 *         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":2955
 *         return self._ptr[0].cacheModeCA
 *     @cacheModeCA.setter
 *     def cacheModeCA(self, int cacheModeCA):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].cacheModeCA = cacheModeCA
 */

/* 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, 2955, __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], 2955, 0, __PYX_ERR(0, 2955, __pyx_L1_error));

  /* "cuda/cudart.pyx":2957
 *     def cacheModeCA(self, int cacheModeCA):
 *         pass
 *         self._ptr[0].cacheModeCA = cacheModeCA             # <<<<<<<<<<<<<<
 *     @property
 *     def maxDynamicSharedSizeBytes(self):
 */
  (__pyx_v_self->_ptr[0]).cacheModeCA = __pyx_v_cacheModeCA;

  /* "cuda/cudart.pyx":2955
 *         return self._ptr[0].cacheModeCA
 *     @cacheModeCA.setter
 *     def cacheModeCA(self, int cacheModeCA):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].cacheModeCA = cacheModeCA
 */

  /* 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":2959
 *         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], 2959, 0, __PYX_ERR(0, 2959, __pyx_L1_error));

  /* "cuda/cudart.pyx":2960
 *     @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, 2960, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":2959
 *         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":2962
 *         return self._ptr[0].maxDynamicSharedSizeBytes
 *     @maxDynamicSharedSizeBytes.setter
 *     def maxDynamicSharedSizeBytes(self, int maxDynamicSharedSizeBytes):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxDynamicSharedSizeBytes = maxDynamicSharedSizeBytes
 */

/* 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, 2962, __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], 2962, 0, __PYX_ERR(0, 2962, __pyx_L1_error));

  /* "cuda/cudart.pyx":2964
 *     def maxDynamicSharedSizeBytes(self, int maxDynamicSharedSizeBytes):
 *         pass
 *         self._ptr[0].maxDynamicSharedSizeBytes = maxDynamicSharedSizeBytes             # <<<<<<<<<<<<<<
 *     @property
 *     def preferredShmemCarveout(self):
 */
  (__pyx_v_self->_ptr[0]).maxDynamicSharedSizeBytes = __pyx_v_maxDynamicSharedSizeBytes;

  /* "cuda/cudart.pyx":2962
 *         return self._ptr[0].maxDynamicSharedSizeBytes
 *     @maxDynamicSharedSizeBytes.setter
 *     def maxDynamicSharedSizeBytes(self, int maxDynamicSharedSizeBytes):             # <<<<<<<<<<<<<<
 *         pass
 *         self._ptr[0].maxDynamicSharedSizeBytes = maxDynamicSharedSizeBytes
 */

  /* 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":2966
 *         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], 2966, 0, __PYX_ERR(0, 2966, __pyx_L1_error));

  /* "cuda/cudart.pyx":2967
 *     @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, 2967, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":2966
 *         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":2969
 *         return self._ptr[0].preferredShmemCarveout
 *     @preferredShmemCarveout.setter
 *     def preferredShmemCarveout(self, int preferredShmemCarveout):             # <<<<<<<<<<<<<<
 *         pass
 *         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, 2969, __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], 2969, 0, __PYX_ERR(0, 2969, __pyx_L1_error));

  /* "cuda/cudart.pyx":2971
 *     def preferredShmemCarveout(self, int preferredShmemCarveout):
 *         pass
 *         self._ptr[0].preferredShmemCarveout = preferredShmemCarveout             # <<<<<<<<<<<<<<
 * 
 * cdef class cudaMemLocation:
 */
  (__pyx_v_self->_ptr[0]).preferredShmemCarveout = __pyx_v_preferredShmemCarveout;

  /* "cuda/cudart.pyx":2969
 *         return self._ptr[0].preferredShmemCarveout
 *     @preferredShmemCarveout.setter
 *     def preferredShmemCarveout(self, int preferredShmemCarveout):             # <<<<<<<<<<<<<<
 *         pass
 *         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__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.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__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.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":2991
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

/* 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, 2991, __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, 2991, __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, 2991, __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;
  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("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 2991, 0, __PYX_ERR(0, 2991, __pyx_L1_error));

  /* "cuda/cudart.pyx":2992
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaMemLocation *>calloc(1, sizeof(ccudart.cudaMemLocation))
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":2993
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr_owner = True             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaMemLocation *>calloc(1, sizeof(ccudart.cudaMemLocation))
 *             if self._ptr is NULL:
 */
    __pyx_v_self->_ptr_owner = 1;

    /* "cuda/cudart.pyx":2994
 *         if _ptr == 0:
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaMemLocation *>calloc(1, sizeof(ccudart.cudaMemLocation))             # <<<<<<<<<<<<<<
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaMemLocation)))
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaMemLocation *)calloc(1, (sizeof(struct __pyx_t_4cuda_7ccudart_cudaMemLocation))));

    /* "cuda/cudart.pyx":2995
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaMemLocation *>calloc(1, sizeof(ccudart.cudaMemLocation))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaMemLocation)))
 *         else:
 */
    __pyx_t_1 = ((__pyx_v_self->_ptr == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":2996
 *             self._ptr = <ccudart.cudaMemLocation *>calloc(1, sizeof(ccudart.cudaMemLocation))
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaMemLocation)))             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr_owner = False
 */
      __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(struct __pyx_t_4cuda_7ccudart_cudaMemLocation))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2996, __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, 2996, __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_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2996, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2996, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 2996, __pyx_L1_error)

      /* "cuda/cudart.pyx":2995
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaMemLocation *>calloc(1, sizeof(ccudart.cudaMemLocation))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaMemLocation)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":2992
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaMemLocation *>calloc(1, sizeof(ccudart.cudaMemLocation))
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":2998
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaMemLocation)))
 *         else:
 *             self._ptr_owner = False             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaMemLocation *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 */
  /*else*/ {
    __pyx_v_self->_ptr_owner = 0;

    /* "cuda/cudart.pyx":2999
 *         else:
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaMemLocation *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaMemLocation *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":2991
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.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":3000
 *             self._ptr_owner = False
 *             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, 3000, __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, 3000, __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, 3000, __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], 3000, 0, __PYX_ERR(0, 3000, __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":3002
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

/* 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__(struct __pyx_obj_4cuda_6cudart_cudaMemLocation *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 3002, 0, __PYX_ERR(0, 3002, __pyx_L1_error));

  /* "cuda/cudart.pyx":3003
 *         pass
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  __pyx_t_2 = ((__pyx_v_self->_ptr_owner == 1) != 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = ((__pyx_v_self->_ptr != NULL) != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":3004
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */
    free(__pyx_v_self->_ptr);

    /* "cuda/cudart.pyx":3003
 *         pass
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  }

  /* "cuda/cudart.pyx":3002
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

  /* 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":3006
 *             free(self._ptr)
 *         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__166)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 3006, 0, __PYX_ERR(0, 3006, __pyx_L1_error));

  /* "cuda/cudart.pyx":3007
 *         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, 3007, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3006
 *             free(self._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.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":3008
 *     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], 3008, 0, __PYX_ERR(0, 3008, __pyx_L1_error));

  /* "cuda/cudart.pyx":3009
 *         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":3010
 *     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, 3010, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":3011
 *         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, 3011, __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, 3011, __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, 3011, __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, 3011, __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, 3011, __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":3012
 *             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, 3012, __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, 3012, __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, 3012, __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, 3012, __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, 3012, __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":3013
 *             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__48, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3013, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":3009
 *         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":3015
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__49);
    __pyx_r = __pyx_kp_u__49;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":3008
 *     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":3018
 * 
 *     @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], 3018, 0, __PYX_ERR(0, 3018, __pyx_L1_error));

  /* "cuda/cudart.pyx":3019
 *     @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, 3019, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemLocationType((__pyx_v_self->_ptr[0]).type); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3019, __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, 3019, __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":3018
 * 
 *     @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":3021
 *         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, 3021, __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 __pyx_t_4cuda_7ccudart_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], 3021, 0, __PYX_ERR(0, 3021, __pyx_L1_error));

  /* "cuda/cudart.pyx":3023
 *     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, 3023, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum __pyx_t_4cuda_7ccudart_cudaMemLocationType)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaMemLocationType(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3023, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).type = __pyx_t_2;

  /* "cuda/cudart.pyx":3021
 *         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":3025
 *         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], 3025, 0, __PYX_ERR(0, 3025, __pyx_L1_error));

  /* "cuda/cudart.pyx":3026
 *     @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, 3026, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3025
 *         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":3028
 *         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, 3028, __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], 3028, 0, __PYX_ERR(0, 3028, __pyx_L1_error));

  /* "cuda/cudart.pyx":3030
 *     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":3028
 *         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__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.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__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.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":3049
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

/* 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, 3049, __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, 3049, __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, 3049, __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;
  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("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 3049, 0, __PYX_ERR(0, 3049, __pyx_L1_error));

  /* "cuda/cudart.pyx":3050
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaMemAccessDesc *>calloc(1, sizeof(ccudart.cudaMemAccessDesc))
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":3051
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr_owner = True             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaMemAccessDesc *>calloc(1, sizeof(ccudart.cudaMemAccessDesc))
 *             if self._ptr is NULL:
 */
    __pyx_v_self->_ptr_owner = 1;

    /* "cuda/cudart.pyx":3052
 *         if _ptr == 0:
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaMemAccessDesc *>calloc(1, sizeof(ccudart.cudaMemAccessDesc))             # <<<<<<<<<<<<<<
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaMemAccessDesc)))
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaMemAccessDesc *)calloc(1, (sizeof(struct __pyx_t_4cuda_7ccudart_cudaMemAccessDesc))));

    /* "cuda/cudart.pyx":3053
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaMemAccessDesc *>calloc(1, sizeof(ccudart.cudaMemAccessDesc))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaMemAccessDesc)))
 *         else:
 */
    __pyx_t_1 = ((__pyx_v_self->_ptr == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":3054
 *             self._ptr = <ccudart.cudaMemAccessDesc *>calloc(1, sizeof(ccudart.cudaMemAccessDesc))
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaMemAccessDesc)))             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr_owner = False
 */
      __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(struct __pyx_t_4cuda_7ccudart_cudaMemAccessDesc))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3054, __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, 3054, __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_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3054, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3054, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 3054, __pyx_L1_error)

      /* "cuda/cudart.pyx":3053
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaMemAccessDesc *>calloc(1, sizeof(ccudart.cudaMemAccessDesc))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaMemAccessDesc)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":3050
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaMemAccessDesc *>calloc(1, sizeof(ccudart.cudaMemAccessDesc))
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":3056
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaMemAccessDesc)))
 *         else:
 *             self._ptr_owner = False             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaMemAccessDesc *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 */
  /*else*/ {
    __pyx_v_self->_ptr_owner = 0;

    /* "cuda/cudart.pyx":3057
 *         else:
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaMemAccessDesc *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._location = cudaMemLocation(_ptr=<void_ptr>&self._ptr[0].location)
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaMemAccessDesc *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":3049
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.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":3058
 *             self._ptr_owner = False
 *             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, 3058, __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, 3058, __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, 3058, __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], 3058, 0, __PYX_ERR(0, 3058, __pyx_L1_error));

  /* "cuda/cudart.pyx":3059
 *             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):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3059, __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, 3059, __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, 3059, __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, 3059, __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":3058
 *             self._ptr_owner = False
 *             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":3060
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._location = cudaMemLocation(_ptr=<void_ptr>&self._ptr[0].location)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

/* 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__(struct __pyx_obj_4cuda_6cudart_cudaMemAccessDesc *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 3060, 0, __PYX_ERR(0, 3060, __pyx_L1_error));

  /* "cuda/cudart.pyx":3061
 *         self._location = cudaMemLocation(_ptr=<void_ptr>&self._ptr[0].location)
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  __pyx_t_2 = ((__pyx_v_self->_ptr_owner == 1) != 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = ((__pyx_v_self->_ptr != NULL) != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":3062
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */
    free(__pyx_v_self->_ptr);

    /* "cuda/cudart.pyx":3061
 *         self._location = cudaMemLocation(_ptr=<void_ptr>&self._ptr[0].location)
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  }

  /* "cuda/cudart.pyx":3060
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._location = cudaMemLocation(_ptr=<void_ptr>&self._ptr[0].location)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

  /* 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":3064
 *             free(self._ptr)
 *         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__171)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 3064, 0, __PYX_ERR(0, 3064, __pyx_L1_error));

  /* "cuda/cudart.pyx":3065
 *         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, 3065, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3064
 *             free(self._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.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":3066
 *     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_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], 3066, 0, __PYX_ERR(0, 3066, __pyx_L1_error));

  /* "cuda/cudart.pyx":3067
 *         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":3068
 *     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, 3068, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":3069
 *         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, 3069, __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, 3069, __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, 3069, __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, 3069, __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, 3069, __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, 3069, __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__65, __pyx_9genexpr20__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3069, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 3069, __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__48, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3069, __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, 3069, __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, 3069, __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, 3069, __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":3070
 *             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, 3070, __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, 3070, __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, 3070, __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, 3070, __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, 3070, __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":3071
 *             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__48, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3071, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":3067
 *         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":3073
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__49);
    __pyx_r = __pyx_kp_u__49;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":3066
 *     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_9genexpr20__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3076
 * 
 *     @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], 3076, 0, __PYX_ERR(0, 3076, __pyx_L1_error));

  /* "cuda/cudart.pyx":3077
 *     @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":3076
 * 
 *     @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":3079
 *         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, 3079, __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], 3079, 0, __PYX_ERR(0, 3079, __pyx_L1_error));

  /* "cuda/cudart.pyx":3081
 *     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, 3081, __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, 3081, __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, 3081, __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, 3081, __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, 3081, __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, 3081, __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, 3081, __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, 3081, __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":3082
 *         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, 3082, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":3083
 *         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":3082
 *         pass
 *         for _attr in dir(location):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":3084
 *             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, 3084, __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__66) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__66);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3084, __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, 3084, __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":3085
 *                 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, 3085, __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, 3085, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":3084
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._location, _attr, getattr(location, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":3081
 *     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":3079
 *         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":3087
 *                 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], 3087, 0, __PYX_ERR(0, 3087, __pyx_L1_error));

  /* "cuda/cudart.pyx":3088
 *     @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, 3088, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemAccessFlags((__pyx_v_self->_ptr[0]).flags); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3088, __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, 3088, __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":3087
 *                 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":3090
 *         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, 3090, __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 __pyx_t_4cuda_7ccudart_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], 3090, 0, __PYX_ERR(0, 3090, __pyx_L1_error));

  /* "cuda/cudart.pyx":3092
 *     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, 3092, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaMemAccessFlags(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3092, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).flags = __pyx_t_2;

  /* "cuda/cudart.pyx":3090
 *         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__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.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__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.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":3122
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

/* 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, 3122, __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, 3122, __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, 3122, __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;
  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("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 3122, 0, __PYX_ERR(0, 3122, __pyx_L1_error));

  /* "cuda/cudart.pyx":3123
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaMemPoolProps *>calloc(1, sizeof(ccudart.cudaMemPoolProps))
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":3124
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr_owner = True             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaMemPoolProps *>calloc(1, sizeof(ccudart.cudaMemPoolProps))
 *             if self._ptr is NULL:
 */
    __pyx_v_self->_ptr_owner = 1;

    /* "cuda/cudart.pyx":3125
 *         if _ptr == 0:
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaMemPoolProps *>calloc(1, sizeof(ccudart.cudaMemPoolProps))             # <<<<<<<<<<<<<<
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaMemPoolProps)))
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaMemPoolProps *)calloc(1, (sizeof(struct __pyx_t_4cuda_7ccudart_cudaMemPoolProps))));

    /* "cuda/cudart.pyx":3126
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaMemPoolProps *>calloc(1, sizeof(ccudart.cudaMemPoolProps))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaMemPoolProps)))
 *         else:
 */
    __pyx_t_1 = ((__pyx_v_self->_ptr == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":3127
 *             self._ptr = <ccudart.cudaMemPoolProps *>calloc(1, sizeof(ccudart.cudaMemPoolProps))
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaMemPoolProps)))             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr_owner = False
 */
      __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(struct __pyx_t_4cuda_7ccudart_cudaMemPoolProps))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3127, __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, 3127, __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_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3127, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3127, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 3127, __pyx_L1_error)

      /* "cuda/cudart.pyx":3126
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaMemPoolProps *>calloc(1, sizeof(ccudart.cudaMemPoolProps))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaMemPoolProps)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":3123
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaMemPoolProps *>calloc(1, sizeof(ccudart.cudaMemPoolProps))
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":3129
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaMemPoolProps)))
 *         else:
 *             self._ptr_owner = False             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaMemPoolProps *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 */
  /*else*/ {
    __pyx_v_self->_ptr_owner = 0;

    /* "cuda/cudart.pyx":3130
 *         else:
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaMemPoolProps *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._location = cudaMemLocation(_ptr=<void_ptr>&self._ptr[0].location)
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaMemPoolProps *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":3122
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.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":3131
 *             self._ptr_owner = False
 *             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, 3131, __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, 3131, __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, 3131, __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], 3131, 0, __PYX_ERR(0, 3131, __pyx_L1_error));

  /* "cuda/cudart.pyx":3132
 *             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):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3132, __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, 3132, __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, 3132, __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, 3132, __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":3131
 *             self._ptr_owner = False
 *             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":3133
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._location = cudaMemLocation(_ptr=<void_ptr>&self._ptr[0].location)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

/* 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__(struct __pyx_obj_4cuda_6cudart_cudaMemPoolProps *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 3133, 0, __PYX_ERR(0, 3133, __pyx_L1_error));

  /* "cuda/cudart.pyx":3134
 *         self._location = cudaMemLocation(_ptr=<void_ptr>&self._ptr[0].location)
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  __pyx_t_2 = ((__pyx_v_self->_ptr_owner == 1) != 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = ((__pyx_v_self->_ptr != NULL) != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":3135
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */
    free(__pyx_v_self->_ptr);

    /* "cuda/cudart.pyx":3134
 *         self._location = cudaMemLocation(_ptr=<void_ptr>&self._ptr[0].location)
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  }

  /* "cuda/cudart.pyx":3133
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._location = cudaMemLocation(_ptr=<void_ptr>&self._ptr[0].location)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

  /* 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":3137
 *             free(self._ptr)
 *         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__176)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 3137, 0, __PYX_ERR(0, 3137, __pyx_L1_error));

  /* "cuda/cudart.pyx":3138
 *         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, 3138, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3137
 *             free(self._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.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":3139
 *     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_9genexpr21__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], 3139, 0, __PYX_ERR(0, 3139, __pyx_L1_error));

  /* "cuda/cudart.pyx":3140
 *         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":3141
 *     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, 3141, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":3142
 *         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, 3142, __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, 3142, __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, 3142, __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, 3142, __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, 3142, __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":3143
 *             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, 3143, __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, 3143, __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, 3143, __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, 3143, __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, 3143, __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":3144
 *             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, 3144, __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, 3144, __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, 3144, __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, 3144, __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, 3144, __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, 3144, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        #endif
        __Pyx_XDECREF_SET(__pyx_9genexpr21__pyx_v_line, __pyx_t_3);
        __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_kp_u__65, __pyx_9genexpr21__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3144, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 3144, __pyx_L6_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_9genexpr21__pyx_v_line); __pyx_9genexpr21__pyx_v_line = 0;
      goto __pyx_L9_exit_scope;
      __pyx_L6_error:;
      __Pyx_XDECREF(__pyx_9genexpr21__pyx_v_line); __pyx_9genexpr21__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L9_exit_scope:;
    } /* exit inner scope */
    __pyx_t_4 = PyUnicode_Join(__pyx_kp_u__48, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3144, __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, 3144, __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, 3144, __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, 3144, __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":3145
 *             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, 3145, __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, 3145, __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, 3145, __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, 3145, __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, 3145, __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":3146
 *             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, 3146, __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, 3146, __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, 3146, __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, 3146, __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, 3146, __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":3147
 *             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__48, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3147, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":3140
 *         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":3149
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__49);
    __pyx_r = __pyx_kp_u__49;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":3139
 *     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_9genexpr21__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3152
 * 
 *     @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], 3152, 0, __PYX_ERR(0, 3152, __pyx_L1_error));

  /* "cuda/cudart.pyx":3153
 *     @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, 3153, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemAllocationType((__pyx_v_self->_ptr[0]).allocType); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3153, __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, 3153, __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":3152
 * 
 *     @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":3155
 *         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, 3155, __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 __pyx_t_4cuda_7ccudart_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], 3155, 0, __PYX_ERR(0, 3155, __pyx_L1_error));

  /* "cuda/cudart.pyx":3157
 *     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, 3157, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaMemAllocationType(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3157, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).allocType = __pyx_t_2;

  /* "cuda/cudart.pyx":3155
 *         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":3159
 *         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], 3159, 0, __PYX_ERR(0, 3159, __pyx_L1_error));

  /* "cuda/cudart.pyx":3160
 *     @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, 3160, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType((__pyx_v_self->_ptr[0]).handleTypes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3160, __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, 3160, __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":3159
 *         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":3162
 *         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, 3162, __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 __pyx_t_4cuda_7ccudart_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], 3162, 0, __PYX_ERR(0, 3162, __pyx_L1_error));

  /* "cuda/cudart.pyx":3164
 *     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, 3164, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3164, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).handleTypes = __pyx_t_2;

  /* "cuda/cudart.pyx":3162
 *         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":3166
 *         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], 3166, 0, __PYX_ERR(0, 3166, __pyx_L1_error));

  /* "cuda/cudart.pyx":3167
 *     @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":3166
 *         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":3169
 *         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, 3169, __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], 3169, 0, __PYX_ERR(0, 3169, __pyx_L1_error));

  /* "cuda/cudart.pyx":3171
 *     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, 3171, __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, 3171, __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, 3171, __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, 3171, __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, 3171, __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, 3171, __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, 3171, __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, 3171, __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":3172
 *         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, 3172, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":3173
 *         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":3172
 *         pass
 *         for _attr in dir(location):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":3174
 *             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, 3174, __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__66) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__66);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3174, __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, 3174, __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":3175
 *                 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, 3175, __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, 3175, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":3174
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._location, _attr, getattr(location, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":3171
 *     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":3169
 *         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":3177
 *                 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], 3177, 0, __PYX_ERR(0, 3177, __pyx_L1_error));

  /* "cuda/cudart.pyx":3178
 *     @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, 3178, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3177
 *                 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":3180
 *         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], 3180, 0, __PYX_ERR(0, 3180, __pyx_L1_error));

  /* "cuda/cudart.pyx":3181
 *     @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, 3181, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__cwin32SecurityAttributes = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":3182
 *     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, 3182, __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, 3182, __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":3180
 *         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":3184
 *         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], 3184, 0, __PYX_ERR(0, 3184, __pyx_L1_error));

  /* "cuda/cudart.pyx":3185
 *     @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, 3185, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3184
 *         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":3187
 *         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], 3187, 0, __PYX_ERR(0, 3187, __pyx_L1_error));

  /* "cuda/cudart.pyx":3188
 *     @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, 3188, __pyx_L1_error)
  __pyx_t_2 = ((__pyx_t_1 != 64) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":3189
 *     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, 3189, __pyx_L1_error)
    __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3189, __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, 3189, __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, 3189, __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, 3189, __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, 3189, __pyx_L1_error)

    /* "cuda/cudart.pyx":3188
 *     @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":3190
 *         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, 3190, __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, 3190, __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, 3190, __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, 3190, __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, 3190, __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, 3190, __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, 3190, __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, 3190, __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":3191
 *             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, 3191, __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, 3191, __pyx_L1_error)
    ((__pyx_v_self->_ptr[0]).reserved[__pyx_t_8]) = __pyx_t_7;

    /* "cuda/cudart.pyx":3190
 *         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":3187
 *         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__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.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__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.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":3208
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

/* 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, 3208, __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, 3208, __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, 3208, __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;
  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("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 3208, 0, __PYX_ERR(0, 3208, __pyx_L1_error));

  /* "cuda/cudart.pyx":3209
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaMemPoolPtrExportData *>calloc(1, sizeof(ccudart.cudaMemPoolPtrExportData))
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":3210
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr_owner = True             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaMemPoolPtrExportData *>calloc(1, sizeof(ccudart.cudaMemPoolPtrExportData))
 *             if self._ptr is NULL:
 */
    __pyx_v_self->_ptr_owner = 1;

    /* "cuda/cudart.pyx":3211
 *         if _ptr == 0:
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaMemPoolPtrExportData *>calloc(1, sizeof(ccudart.cudaMemPoolPtrExportData))             # <<<<<<<<<<<<<<
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaMemPoolPtrExportData)))
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaMemPoolPtrExportData *)calloc(1, (sizeof(struct __pyx_t_4cuda_7ccudart_cudaMemPoolPtrExportData))));

    /* "cuda/cudart.pyx":3212
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaMemPoolPtrExportData *>calloc(1, sizeof(ccudart.cudaMemPoolPtrExportData))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaMemPoolPtrExportData)))
 *         else:
 */
    __pyx_t_1 = ((__pyx_v_self->_ptr == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":3213
 *             self._ptr = <ccudart.cudaMemPoolPtrExportData *>calloc(1, sizeof(ccudart.cudaMemPoolPtrExportData))
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaMemPoolPtrExportData)))             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr_owner = False
 */
      __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(struct __pyx_t_4cuda_7ccudart_cudaMemPoolPtrExportData))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3213, __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, 3213, __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_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3213, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3213, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 3213, __pyx_L1_error)

      /* "cuda/cudart.pyx":3212
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaMemPoolPtrExportData *>calloc(1, sizeof(ccudart.cudaMemPoolPtrExportData))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaMemPoolPtrExportData)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":3209
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaMemPoolPtrExportData *>calloc(1, sizeof(ccudart.cudaMemPoolPtrExportData))
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":3215
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaMemPoolPtrExportData)))
 *         else:
 *             self._ptr_owner = False             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaMemPoolPtrExportData *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 */
  /*else*/ {
    __pyx_v_self->_ptr_owner = 0;

    /* "cuda/cudart.pyx":3216
 *         else:
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaMemPoolPtrExportData *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaMemPoolPtrExportData *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":3208
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.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":3217
 *             self._ptr_owner = False
 *             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, 3217, __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, 3217, __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, 3217, __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], 3217, 0, __PYX_ERR(0, 3217, __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":3219
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

/* 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__(struct __pyx_obj_4cuda_6cudart_cudaMemPoolPtrExportData *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 3219, 0, __PYX_ERR(0, 3219, __pyx_L1_error));

  /* "cuda/cudart.pyx":3220
 *         pass
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  __pyx_t_2 = ((__pyx_v_self->_ptr_owner == 1) != 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = ((__pyx_v_self->_ptr != NULL) != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":3221
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */
    free(__pyx_v_self->_ptr);

    /* "cuda/cudart.pyx":3220
 *         pass
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  }

  /* "cuda/cudart.pyx":3219
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

  /* 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":3223
 *             free(self._ptr)
 *         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__181)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 3223, 0, __PYX_ERR(0, 3223, __pyx_L1_error));

  /* "cuda/cudart.pyx":3224
 *         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, 3224, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3223
 *             free(self._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.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":3225
 *     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], 3225, 0, __PYX_ERR(0, 3225, __pyx_L1_error));

  /* "cuda/cudart.pyx":3226
 *         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":3227
 *     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, 3227, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":3228
 *         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, 3228, __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, 3228, __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, 3228, __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, 3228, __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, 3228, __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":3229
 *             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__48, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3229, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":3226
 *         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":3231
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__49);
    __pyx_r = __pyx_kp_u__49;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":3225
 *     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":3234
 * 
 *     @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], 3234, 0, __PYX_ERR(0, 3234, __pyx_L1_error));

  /* "cuda/cudart.pyx":3235
 *     @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, 3235, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3234
 * 
 *     @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":3237
 *         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], 3237, 0, __PYX_ERR(0, 3237, __pyx_L1_error));

  /* "cuda/cudart.pyx":3238
 *     @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, 3238, __pyx_L1_error)
  __pyx_t_2 = ((__pyx_t_1 != 64) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":3239
 *     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, 3239, __pyx_L1_error)
    __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3239, __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, 3239, __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, 3239, __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, 3239, __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, 3239, __pyx_L1_error)

    /* "cuda/cudart.pyx":3238
 *     @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":3240
 *         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, 3240, __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, 3240, __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, 3240, __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, 3240, __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, 3240, __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, 3240, __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, 3240, __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, 3240, __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":3241
 *             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, 3241, __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, 3241, __pyx_L1_error)
    ((__pyx_v_self->_ptr[0]).reserved[__pyx_t_8]) = __pyx_t_7;

    /* "cuda/cudart.pyx":3240
 *         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":3237
 *         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__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.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__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.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":3270
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

/* 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, 3270, __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, 3270, __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, 3270, __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;
  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("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 3270, 0, __PYX_ERR(0, 3270, __pyx_L1_error));

  /* "cuda/cudart.pyx":3271
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaMemAllocNodeParams *>calloc(1, sizeof(ccudart.cudaMemAllocNodeParams))
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":3272
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr_owner = True             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaMemAllocNodeParams *>calloc(1, sizeof(ccudart.cudaMemAllocNodeParams))
 *             if self._ptr is NULL:
 */
    __pyx_v_self->_ptr_owner = 1;

    /* "cuda/cudart.pyx":3273
 *         if _ptr == 0:
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaMemAllocNodeParams *>calloc(1, sizeof(ccudart.cudaMemAllocNodeParams))             # <<<<<<<<<<<<<<
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaMemAllocNodeParams)))
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaMemAllocNodeParams *)calloc(1, (sizeof(struct __pyx_t_4cuda_7ccudart_cudaMemAllocNodeParams))));

    /* "cuda/cudart.pyx":3274
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaMemAllocNodeParams *>calloc(1, sizeof(ccudart.cudaMemAllocNodeParams))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaMemAllocNodeParams)))
 *         else:
 */
    __pyx_t_1 = ((__pyx_v_self->_ptr == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":3275
 *             self._ptr = <ccudart.cudaMemAllocNodeParams *>calloc(1, sizeof(ccudart.cudaMemAllocNodeParams))
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaMemAllocNodeParams)))             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr_owner = False
 */
      __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(struct __pyx_t_4cuda_7ccudart_cudaMemAllocNodeParams))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3275, __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, 3275, __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_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3275, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3275, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 3275, __pyx_L1_error)

      /* "cuda/cudart.pyx":3274
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaMemAllocNodeParams *>calloc(1, sizeof(ccudart.cudaMemAllocNodeParams))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaMemAllocNodeParams)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":3271
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaMemAllocNodeParams *>calloc(1, sizeof(ccudart.cudaMemAllocNodeParams))
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":3277
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaMemAllocNodeParams)))
 *         else:
 *             self._ptr_owner = False             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaMemAllocNodeParams *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 */
  /*else*/ {
    __pyx_v_self->_ptr_owner = 0;

    /* "cuda/cudart.pyx":3278
 *         else:
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaMemAllocNodeParams *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._poolProps = cudaMemPoolProps(_ptr=<void_ptr>&self._ptr[0].poolProps)
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaMemAllocNodeParams *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":3270
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.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":3279
 *             self._ptr_owner = False
 *             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, 3279, __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, 3279, __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, 3279, __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], 3279, 0, __PYX_ERR(0, 3279, __pyx_L1_error));

  /* "cuda/cudart.pyx":3280
 *             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._ptr_owner is True and self._ptr is not NULL:
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3280, __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, 3280, __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, 3280, __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, 3280, __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":3279
 *             self._ptr_owner = False
 *             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":3281
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._poolProps = cudaMemPoolProps(_ptr=<void_ptr>&self._ptr[0].poolProps)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

/* 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_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 3281, 0, __PYX_ERR(0, 3281, __pyx_L1_error));

  /* "cuda/cudart.pyx":3282
 *         self._poolProps = cudaMemPoolProps(_ptr=<void_ptr>&self._ptr[0].poolProps)
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         if self._accessDescs is not NULL:
 */
  __pyx_t_2 = ((__pyx_v_self->_ptr_owner == 1) != 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = ((__pyx_v_self->_ptr != NULL) != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":3283
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)             # <<<<<<<<<<<<<<
 *         if self._accessDescs is not NULL:
 *             free(self._accessDescs)
 */
    free(__pyx_v_self->_ptr);

    /* "cuda/cudart.pyx":3282
 *         self._poolProps = cudaMemPoolProps(_ptr=<void_ptr>&self._ptr[0].poolProps)
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         if self._accessDescs is not NULL:
 */
  }

  /* "cuda/cudart.pyx":3284
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 *         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":3285
 *             free(self._ptr)
 *         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":3284
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 *         if self._accessDescs is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._accessDescs)
 *     def getPtr(self):
 */
  }

  /* "cuda/cudart.pyx":3281
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._poolProps = cudaMemPoolProps(_ptr=<void_ptr>&self._ptr[0].poolProps)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

  /* 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":3286
 *         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__186)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 3286, 0, __PYX_ERR(0, 3286, __pyx_L1_error));

  /* "cuda/cudart.pyx":3287
 *             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, 3287, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3286
 *         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":3288
 *     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_9genexpr22__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  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], 3288, 0, __PYX_ERR(0, 3288, __pyx_L1_error));

  /* "cuda/cudart.pyx":3289
 *         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":3290
 *     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, 3290, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":3291
 *         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, 3291, __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, 3291, __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, 3291, __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, 3291, __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, 3291, __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, 3291, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        #endif
        __Pyx_XDECREF_SET(__pyx_9genexpr22__pyx_v_line, __pyx_t_3);
        __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_kp_u__65, __pyx_9genexpr22__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3291, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 3291, __pyx_L6_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_9genexpr22__pyx_v_line); __pyx_9genexpr22__pyx_v_line = 0;
      goto __pyx_L9_exit_scope;
      __pyx_L6_error:;
      __Pyx_XDECREF(__pyx_9genexpr22__pyx_v_line); __pyx_9genexpr22__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L9_exit_scope:;
    } /* exit inner scope */
    __pyx_t_4 = PyUnicode_Join(__pyx_kp_u__48, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3291, __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, 3291, __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, 3291, __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, 3291, __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":3292
 *             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, 3292, __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, 3292, __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, 3292, __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, 3292, __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, 3292, __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":3293
 *             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, 3293, __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, 3293, __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, 3293, __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, 3293, __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, 3293, __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":3294
 *             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, 3294, __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, 3294, __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, 3294, __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, 3294, __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, 3294, __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":3295
 *             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, 3295, __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, 3295, __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, 3295, __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, 3295, __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, 3295, __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":3296
 *             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__48, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3296, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":3289
 *         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":3298
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__49);
    __pyx_r = __pyx_kp_u__49;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":3288
 *     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_9genexpr22__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3301
 * 
 *     @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], 3301, 0, __PYX_ERR(0, 3301, __pyx_L1_error));

  /* "cuda/cudart.pyx":3302
 *     @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":3301
 * 
 *     @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":3304
 *         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, 3304, __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], 3304, 0, __PYX_ERR(0, 3304, __pyx_L1_error));

  /* "cuda/cudart.pyx":3306
 *     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, 3306, __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, 3306, __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, 3306, __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, 3306, __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, 3306, __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, 3306, __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, 3306, __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, 3306, __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":3307
 *         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, 3307, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":3308
 *         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":3307
 *         pass
 *         for _attr in dir(poolProps):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":3309
 *             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, 3309, __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__66) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__66);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3309, __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, 3309, __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":3310
 *                 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, 3310, __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, 3310, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":3309
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._poolProps, _attr, getattr(poolProps, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":3306
 *     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":3304
 *         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":3312
 *                 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_9genexpr23__pyx_v_x;
  PyObject *__pyx_9genexpr24__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], 3312, 0, __PYX_ERR(0, 3312, __pyx_L1_error));

  /* "cuda/cudart.pyx":3313
 *     @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, 3313, __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_9genexpr23__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_9genexpr23__pyx_v_x * (sizeof(struct __pyx_t_4cuda_7ccudart_cudaMemAccessDesc))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3313, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 3313, __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":3314
 *     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, 3314, __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, 3314, __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, 3314, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      #endif
      __Pyx_XDECREF_SET(__pyx_9genexpr24__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, 3314, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_ptr, __pyx_9genexpr24__pyx_v_arr) < 0) __PYX_ERR(0, 3314, __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, 3314, __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, 3314, __pyx_L7_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_9genexpr24__pyx_v_arr); __pyx_9genexpr24__pyx_v_arr = 0;
    goto __pyx_L10_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_9genexpr24__pyx_v_arr); __pyx_9genexpr24__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":3312
 *                 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_9genexpr24__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3316
 *         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 __pyx_t_4cuda_7ccudart_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], 3316, 0, __PYX_ERR(0, 3316, __pyx_L1_error));

  /* "cuda/cudart.pyx":3317
 *     @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, 3317, __pyx_L1_error)
  __pyx_t_2 = ((__pyx_t_1 == 0) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":3318
 *     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":3319
 *         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":3320
 *             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":3317
 *     @accessDescs.setter
 *     def accessDescs(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._accessDescs)
 *             self._accessDescs_length = 0
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":3322
 *             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, 3322, __pyx_L1_error)
    __pyx_t_2 = ((__pyx_v_self->_accessDescs_length != ((size_t)__pyx_t_1)) != 0);
    if (__pyx_t_2) {

      /* "cuda/cudart.pyx":3323
 *         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":3324
 *             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, 3324, __pyx_L1_error)
      __pyx_v_self->_accessDescs = ((struct __pyx_t_4cuda_7ccudart_cudaMemAccessDesc *)calloc(__pyx_t_1, (sizeof(struct __pyx_t_4cuda_7ccudart_cudaMemAccessDesc))));

      /* "cuda/cudart.pyx":3325
 *                 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":3326
 *                 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, 3326, __pyx_L1_error)
        __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3326, __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, 3326, __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_2, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3326, __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, 3326, __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 __pyx_t_4cuda_7ccudart_cudaMemAccessDesc))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3326, __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, 3326, __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, 3326, __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, 3326, __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, 3326, __pyx_L1_error)

        /* "cuda/cudart.pyx":3325
 *                 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":3327
 *                 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, 3327, __pyx_L1_error)
      __pyx_v_self->_accessDescs_length = ((size_t)__pyx_t_1);

      /* "cuda/cudart.pyx":3328
 *                     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":3322
 *             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":3329
 *                 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, 3329, __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":3330
 *                 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, 3330, __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 __pyx_t_4cuda_7ccudart_cudaMemAccessDesc))));
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":3316
 *         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":3332
 *                 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], 3332, 0, __PYX_ERR(0, 3332, __pyx_L1_error));

  /* "cuda/cudart.pyx":3333
 *     @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, 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
 *                 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":3335
 *         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, 3335, __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], 3335, 0, __PYX_ERR(0, 3335, __pyx_L1_error));

  /* "cuda/cudart.pyx":3337
 *     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":3335
 *         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":3339
 *         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], 3339, 0, __PYX_ERR(0, 3339, __pyx_L1_error));

  /* "cuda/cudart.pyx":3340
 *     @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, 3340, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3339
 *         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":3342
 *         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, 3342, __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], 3342, 0, __PYX_ERR(0, 3342, __pyx_L1_error));

  /* "cuda/cudart.pyx":3344
 *     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":3342
 *         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":3346
 *         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], 3346, 0, __PYX_ERR(0, 3346, __pyx_L1_error));

  /* "cuda/cudart.pyx":3347
 *     @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, 3347, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3346
 *         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":3349
 *         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], 3349, 0, __PYX_ERR(0, 3349, __pyx_L1_error));

  /* "cuda/cudart.pyx":3350
 *     @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, 3350, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__cdptr = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":3351
 *     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, 3351, __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, 3351, __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":3349
 *         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__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.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__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.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":3367
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

/* 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, 3367, __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, 3367, __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, 3367, __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;
  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("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 3367, 0, __PYX_ERR(0, 3367, __pyx_L1_error));

  /* "cuda/cudart.pyx":3368
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.CUuuid_st *>calloc(1, sizeof(ccudart.CUuuid_st))
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":3369
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr_owner = True             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.CUuuid_st *>calloc(1, sizeof(ccudart.CUuuid_st))
 *             if self._ptr is NULL:
 */
    __pyx_v_self->_ptr_owner = 1;

    /* "cuda/cudart.pyx":3370
 *         if _ptr == 0:
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.CUuuid_st *>calloc(1, sizeof(ccudart.CUuuid_st))             # <<<<<<<<<<<<<<
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.CUuuid_st)))
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_CUuuid_st *)calloc(1, (sizeof(struct __pyx_t_4cuda_7ccudart_CUuuid_st))));

    /* "cuda/cudart.pyx":3371
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.CUuuid_st *>calloc(1, sizeof(ccudart.CUuuid_st))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.CUuuid_st)))
 *         else:
 */
    __pyx_t_1 = ((__pyx_v_self->_ptr == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":3372
 *             self._ptr = <ccudart.CUuuid_st *>calloc(1, sizeof(ccudart.CUuuid_st))
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.CUuuid_st)))             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr_owner = False
 */
      __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(struct __pyx_t_4cuda_7ccudart_CUuuid_st))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3372, __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, 3372, __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_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3372, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3372, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 3372, __pyx_L1_error)

      /* "cuda/cudart.pyx":3371
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.CUuuid_st *>calloc(1, sizeof(ccudart.CUuuid_st))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.CUuuid_st)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":3368
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.CUuuid_st *>calloc(1, sizeof(ccudart.CUuuid_st))
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":3374
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.CUuuid_st)))
 *         else:
 *             self._ptr_owner = False             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.CUuuid_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 */
  /*else*/ {
    __pyx_v_self->_ptr_owner = 0;

    /* "cuda/cudart.pyx":3375
 *         else:
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.CUuuid_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_CUuuid_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":3367
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.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":3376
 *             self._ptr_owner = False
 *             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, 3376, __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, 3376, __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, 3376, __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], 3376, 0, __PYX_ERR(0, 3376, __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":3378
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

/* 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__(struct __pyx_obj_4cuda_6cudart_CUuuid_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 3378, 0, __PYX_ERR(0, 3378, __pyx_L1_error));

  /* "cuda/cudart.pyx":3379
 *         pass
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  __pyx_t_2 = ((__pyx_v_self->_ptr_owner == 1) != 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = ((__pyx_v_self->_ptr != NULL) != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":3380
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */
    free(__pyx_v_self->_ptr);

    /* "cuda/cudart.pyx":3379
 *         pass
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  }

  /* "cuda/cudart.pyx":3378
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

  /* 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":3382
 *             free(self._ptr)
 *         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__191)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 3382, 0, __PYX_ERR(0, 3382, __pyx_L1_error));

  /* "cuda/cudart.pyx":3383
 *         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, 3383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3382
 *             free(self._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.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":3384
 *     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], 3384, 0, __PYX_ERR(0, 3384, __pyx_L1_error));

  /* "cuda/cudart.pyx":3385
 *         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":3386
 *     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, 3386, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":3387
 *         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, 3387, __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, 3387, __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, 3387, __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, 3387, __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, 3387, __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, 3387, __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, 3387, __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":3388
 *             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__48, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3388, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":3385
 *         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":3390
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__49);
    __pyx_r = __pyx_kp_u__49;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":3384
 *     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":3393
 * 
 *     @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], 3393, 0, __PYX_ERR(0, 3393, __pyx_L1_error));

  /* "cuda/cudart.pyx":3394
 *     @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, 3394, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3393
 * 
 *     @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__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.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__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.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":3585
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

/* 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, 3585, __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, 3585, __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, 3585, __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;
  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("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 3585, 0, __PYX_ERR(0, 3585, __pyx_L1_error));

  /* "cuda/cudart.pyx":3586
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaDeviceProp *>calloc(1, sizeof(ccudart.cudaDeviceProp))
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":3587
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr_owner = True             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaDeviceProp *>calloc(1, sizeof(ccudart.cudaDeviceProp))
 *             if self._ptr is NULL:
 */
    __pyx_v_self->_ptr_owner = 1;

    /* "cuda/cudart.pyx":3588
 *         if _ptr == 0:
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaDeviceProp *>calloc(1, sizeof(ccudart.cudaDeviceProp))             # <<<<<<<<<<<<<<
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaDeviceProp)))
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaDeviceProp *)calloc(1, (sizeof(struct __pyx_t_4cuda_7ccudart_cudaDeviceProp))));

    /* "cuda/cudart.pyx":3589
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaDeviceProp *>calloc(1, sizeof(ccudart.cudaDeviceProp))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaDeviceProp)))
 *         else:
 */
    __pyx_t_1 = ((__pyx_v_self->_ptr == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":3590
 *             self._ptr = <ccudart.cudaDeviceProp *>calloc(1, sizeof(ccudart.cudaDeviceProp))
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaDeviceProp)))             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr_owner = False
 */
      __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(struct __pyx_t_4cuda_7ccudart_cudaDeviceProp))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3590, __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, 3590, __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_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3590, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3590, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 3590, __pyx_L1_error)

      /* "cuda/cudart.pyx":3589
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaDeviceProp *>calloc(1, sizeof(ccudart.cudaDeviceProp))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaDeviceProp)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":3586
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaDeviceProp *>calloc(1, sizeof(ccudart.cudaDeviceProp))
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":3592
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaDeviceProp)))
 *         else:
 *             self._ptr_owner = False             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaDeviceProp *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 */
  /*else*/ {
    __pyx_v_self->_ptr_owner = 0;

    /* "cuda/cudart.pyx":3593
 *         else:
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaDeviceProp *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._uuid = cudaUUID_t(_ptr=<void_ptr>&self._ptr[0].uuid)
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaDeviceProp *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":3585
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.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":3594
 *             self._ptr_owner = False
 *             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, 3594, __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, 3594, __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, 3594, __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], 3594, 0, __PYX_ERR(0, 3594, __pyx_L1_error));

  /* "cuda/cudart.pyx":3595
 *             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):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3595, __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, 3595, __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, 3595, __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, 3595, __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":3594
 *             self._ptr_owner = False
 *             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":3596
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._uuid = cudaUUID_t(_ptr=<void_ptr>&self._ptr[0].uuid)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

/* 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__(struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 3596, 0, __PYX_ERR(0, 3596, __pyx_L1_error));

  /* "cuda/cudart.pyx":3597
 *         self._uuid = cudaUUID_t(_ptr=<void_ptr>&self._ptr[0].uuid)
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  __pyx_t_2 = ((__pyx_v_self->_ptr_owner == 1) != 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = ((__pyx_v_self->_ptr != NULL) != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":3598
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */
    free(__pyx_v_self->_ptr);

    /* "cuda/cudart.pyx":3597
 *         self._uuid = cudaUUID_t(_ptr=<void_ptr>&self._ptr[0].uuid)
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  }

  /* "cuda/cudart.pyx":3596
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._uuid = cudaUUID_t(_ptr=<void_ptr>&self._ptr[0].uuid)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

  /* 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":3600
 *             free(self._ptr)
 *         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__196)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 3600, 0, __PYX_ERR(0, 3600, __pyx_L1_error));

  /* "cuda/cudart.pyx":3601
 *         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, 3601, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3600
 *             free(self._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.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":3602
 *     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_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], 3602, 0, __PYX_ERR(0, 3602, __pyx_L1_error));

  /* "cuda/cudart.pyx":3603
 *         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":3604
 *     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, 3604, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":3605
 *         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, 3605, __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, 3605, __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, 3605, __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, 3605, __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, 3605, __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, 3605, __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":3606
 *             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, 3606, __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, 3606, __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, 3606, __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, 3606, __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, 3606, __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, 3606, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_2);
        #endif
        __Pyx_XDECREF_SET(__pyx_9genexpr25__pyx_v_line, __pyx_t_2);
        __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u__65, __pyx_9genexpr25__pyx_v_line); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3606, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_2);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 3606, __pyx_L6_error)
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 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_3 = PyUnicode_Join(__pyx_kp_u__48, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3606, __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, 3606, __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, 3606, __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, 3606, __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":3607
 *             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, 3607, __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, 3607, __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, 3607, __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, 3607, __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, 3607, __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, 3607, __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":3608
 *             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, 3608, __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, 3608, __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, 3608, __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, 3608, __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, 3608, __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":3609
 *             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, 3609, __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, 3609, __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, 3609, __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, 3609, __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, 3609, __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":3610
 *             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, 3610, __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, 3610, __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, 3610, __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, 3610, __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, 3610, __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":3611
 *             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, 3611, __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, 3611, __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, 3611, __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, 3611, __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, 3611, __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":3612
 *             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, 3612, __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, 3612, __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, 3612, __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, 3612, __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, 3612, __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":3613
 *             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, 3613, __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, 3613, __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, 3613, __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, 3613, __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, 3613, __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":3614
 *             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, 3614, __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, 3614, __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, 3614, __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, 3614, __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, 3614, __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":3615
 *             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, 3615, __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, 3615, __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, 3615, __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, 3615, __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, 3615, __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":3616
 *             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, 3616, __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, 3616, __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, 3616, __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, 3616, __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, 3616, __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":3617
 *             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, 3617, __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, 3617, __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, 3617, __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, 3617, __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, 3617, __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":3618
 *             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, 3618, __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, 3618, __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, 3618, __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, 3618, __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, 3618, __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":3619
 *             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, 3619, __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, 3619, __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, 3619, __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, 3619, __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, 3619, __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":3620
 *             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, 3620, __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, 3620, __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, 3620, __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, 3620, __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, 3620, __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":3621
 *             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, 3621, __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, 3621, __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, 3621, __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, 3621, __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, 3621, __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":3622
 *             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, 3622, __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, 3622, __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, 3622, __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, 3622, __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, 3622, __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":3623
 *             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, 3623, __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, 3623, __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, 3623, __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, 3623, __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, 3623, __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":3624
 *             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, 3624, __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, 3624, __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, 3624, __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, 3624, __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, 3624, __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":3625
 *             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, 3625, __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, 3625, __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, 3625, __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, 3625, __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, 3625, __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":3626
 *             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, 3626, __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, 3626, __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, 3626, __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, 3626, __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, 3626, __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":3627
 *             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, 3627, __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, 3627, __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, 3627, __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, 3627, __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, 3627, __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":3628
 *             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, 3628, __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, 3628, __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, 3628, __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, 3628, __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, 3628, __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":3629
 *             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, 3629, __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, 3629, __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, 3629, __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, 3629, __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, 3629, __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":3630
 *             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, 3630, __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, 3630, __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, 3630, __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, 3630, __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, 3630, __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":3631
 *             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, 3631, __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, 3631, __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, 3631, __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, 3631, __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, 3631, __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":3632
 *             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, 3632, __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, 3632, __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, 3632, __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, 3632, __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, 3632, __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":3633
 *             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, 3633, __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, 3633, __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, 3633, __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, 3633, __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, 3633, __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":3634
 *             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, 3634, __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, 3634, __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, 3634, __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, 3634, __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, 3634, __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":3635
 *             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, 3635, __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, 3635, __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, 3635, __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, 3635, __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, 3635, __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":3636
 *             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, 3636, __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, 3636, __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, 3636, __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, 3636, __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, 3636, __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":3637
 *             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, 3637, __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, 3637, __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, 3637, __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, 3637, __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, 3637, __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":3638
 *             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, 3638, __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, 3638, __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, 3638, __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, 3638, __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, 3638, __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":3639
 *             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, 3639, __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, 3639, __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, 3639, __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, 3639, __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, 3639, __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":3640
 *             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, 3640, __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, 3640, __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, 3640, __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, 3640, __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, 3640, __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":3641
 *             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, 3641, __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, 3641, __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, 3641, __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, 3641, __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, 3641, __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":3642
 *             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, 3642, __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, 3642, __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, 3642, __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, 3642, __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, 3642, __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":3643
 *             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, 3643, __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, 3643, __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, 3643, __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, 3643, __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, 3643, __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":3644
 *             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, 3644, __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, 3644, __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, 3644, __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, 3644, __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, 3644, __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":3645
 *             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, 3645, __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, 3645, __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, 3645, __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, 3645, __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, 3645, __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":3646
 *             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, 3646, __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, 3646, __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, 3646, __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, 3646, __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, 3646, __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":3647
 *             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, 3647, __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, 3647, __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, 3647, __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, 3647, __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, 3647, __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":3648
 *             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, 3648, __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, 3648, __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, 3648, __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, 3648, __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, 3648, __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":3649
 *             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, 3649, __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, 3649, __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, 3649, __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, 3649, __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, 3649, __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":3650
 *             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, 3650, __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, 3650, __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, 3650, __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, 3650, __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, 3650, __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":3651
 *             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, 3651, __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, 3651, __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, 3651, __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, 3651, __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, 3651, __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":3652
 *             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, 3652, __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, 3652, __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, 3652, __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, 3652, __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, 3652, __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":3653
 *             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, 3653, __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, 3653, __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, 3653, __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, 3653, __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, 3653, __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":3654
 *             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, 3654, __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, 3654, __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, 3654, __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, 3654, __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, 3654, __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":3655
 *             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, 3655, __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, 3655, __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, 3655, __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, 3655, __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, 3655, __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":3656
 *             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, 3656, __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, 3656, __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, 3656, __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, 3656, __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, 3656, __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":3657
 *             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, 3657, __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, 3657, __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, 3657, __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, 3657, __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, 3657, __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":3658
 *             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, 3658, __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, 3658, __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, 3658, __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, 3658, __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, 3658, __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":3659
 *             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, 3659, __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, 3659, __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, 3659, __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, 3659, __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, 3659, __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":3660
 *             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, 3660, __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, 3660, __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, 3660, __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, 3660, __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, 3660, __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":3661
 *             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, 3661, __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, 3661, __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, 3661, __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, 3661, __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, 3661, __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":3662
 *             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, 3662, __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, 3662, __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, 3662, __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, 3662, __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, 3662, __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":3663
 *             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, 3663, __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, 3663, __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, 3663, __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, 3663, __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, 3663, __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":3664
 *             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, 3664, __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, 3664, __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, 3664, __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, 3664, __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, 3664, __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":3665
 *             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, 3665, __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, 3665, __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, 3665, __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, 3665, __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, 3665, __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":3666
 *             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, 3666, __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, 3666, __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, 3666, __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, 3666, __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, 3666, __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":3667
 *             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, 3667, __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, 3667, __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, 3667, __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, 3667, __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, 3667, __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":3668
 *             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, 3668, __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, 3668, __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, 3668, __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, 3668, __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, 3668, __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":3669
 *             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, 3669, __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, 3669, __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, 3669, __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, 3669, __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, 3669, __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":3670
 *             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, 3670, __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, 3670, __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, 3670, __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, 3670, __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, 3670, __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":3671
 *             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, 3671, __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, 3671, __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, 3671, __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, 3671, __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, 3671, __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":3672
 *             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, 3672, __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, 3672, __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, 3672, __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, 3672, __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, 3672, __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":3673
 *             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, 3673, __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, 3673, __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, 3673, __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, 3673, __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, 3673, __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":3674
 *             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, 3674, __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, 3674, __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, 3674, __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, 3674, __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, 3674, __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":3675
 *             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, 3675, __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, 3675, __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, 3675, __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, 3675, __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, 3675, __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":3676
 *             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, 3676, __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, 3676, __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, 3676, __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, 3676, __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, 3676, __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":3677
 *             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, 3677, __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, 3677, __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, 3677, __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, 3677, __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, 3677, __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":3678
 *             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, 3678, __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, 3678, __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, 3678, __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, 3678, __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, 3678, __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":3679
 *             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, 3679, __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, 3679, __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, 3679, __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, 3679, __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, 3679, __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":3680
 *             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, 3680, __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, 3680, __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, 3680, __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, 3680, __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, 3680, __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":3681
 *             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, 3681, __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, 3681, __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, 3681, __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, 3681, __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, 3681, __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":3682
 *             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, 3682, __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, 3682, __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, 3682, __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, 3682, __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, 3682, __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":3683
 *             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, 3683, __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, 3683, __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, 3683, __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, 3683, __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, 3683, __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":3684
 *             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, 3684, __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, 3684, __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, 3684, __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, 3684, __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, 3684, __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":3685
 *             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__48, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3685, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":3603
 *         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":3687
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__49);
    __pyx_r = __pyx_kp_u__49;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":3602
 *     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_9genexpr25__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":3690
 * 
 *     @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], 3690, 0, __PYX_ERR(0, 3690, __pyx_L1_error));

  /* "cuda/cudart.pyx":3691
 *     @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, 3691, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3690
 * 
 *     @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":3693
 *         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], 3693, 0, __PYX_ERR(0, 3693, __pyx_L1_error));

  /* "cuda/cudart.pyx":3695
 *     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, 3695, __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, 3695, __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":3693
 *         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":3697
 *         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], 3697, 0, __PYX_ERR(0, 3697, __pyx_L1_error));

  /* "cuda/cudart.pyx":3698
 *     @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":3697
 *         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":3700
 *         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, 3700, __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], 3700, 0, __PYX_ERR(0, 3700, __pyx_L1_error));

  /* "cuda/cudart.pyx":3702
 *     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, 3702, __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, 3702, __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, 3702, __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, 3702, __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, 3702, __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, 3702, __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, 3702, __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, 3702, __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":3703
 *         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, 3703, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":3704
 *         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":3703
 *         pass
 *         for _attr in dir(uuid):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":3705
 *             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, 3705, __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__66) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__66);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3705, __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, 3705, __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":3706
 *                 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, 3706, __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, 3706, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":3705
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._uuid, _attr, getattr(uuid, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":3702
 *     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":3700
 *         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":3708
 *                 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], 3708, 0, __PYX_ERR(0, 3708, __pyx_L1_error));

  /* "cuda/cudart.pyx":3709
 *     @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, 3709, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3708
 *                 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":3711
 *         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], 3711, 0, __PYX_ERR(0, 3711, __pyx_L1_error));

  /* "cuda/cudart.pyx":3712
 *     @luid.setter
 *     def luid(self, luid):
 *         if len(luid) != 8:             # <<<<<<<<<<<<<<
 *             raise ValueError("luid length must be 8, is " + str(len(luid)))
 *         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, 3712, __pyx_L1_error)
  __pyx_t_2 = ((__pyx_t_1 != 8) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":3713
 *     def luid(self, luid):
 *         if len(luid) != 8:
 *             raise ValueError("luid length must be 8, is " + str(len(luid)))             # <<<<<<<<<<<<<<
 *         for i, b in enumerate(luid):
 *             if b > 127 and b < 256:
 */
    __pyx_t_1 = PyObject_Length(__pyx_v_luid); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 3713, __pyx_L1_error)
    __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3713, __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, 3713, __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, 3713, __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, 3713, __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, 3713, __pyx_L1_error)

    /* "cuda/cudart.pyx":3712
 *     @luid.setter
 *     def luid(self, luid):
 *         if len(luid) != 8:             # <<<<<<<<<<<<<<
 *             raise ValueError("luid length must be 8, is " + str(len(luid)))
 *         for i, b in enumerate(luid):
 */
  }

  /* "cuda/cudart.pyx":3714
 *         if len(luid) != 8:
 *             raise ValueError("luid length must be 8, is " + str(len(luid)))
 *         for i, b in enumerate(luid):             # <<<<<<<<<<<<<<
 *             if b > 127 and b < 256:
 *                 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, 3714, __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, 3714, __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, 3714, __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, 3714, __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, 3714, __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, 3714, __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, 3714, __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, 3714, __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":3715
 *             raise ValueError("luid length must be 8, is " + str(len(luid)))
 *         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, 3715, __pyx_L1_error)
    __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 3715, __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_L7_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, 3715, __pyx_L1_error)
    __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 3715, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_2 = __pyx_t_7;
    __pyx_L7_bool_binop_done:;
    if (__pyx_t_2) {

      /* "cuda/cudart.pyx":3716
 *         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, 3716, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF_SET(__pyx_v_b, __pyx_t_6);
      __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":3715
 *             raise ValueError("luid length must be 8, is " + str(len(luid)))
 *         for i, b in enumerate(luid):
 *             if b > 127 and b < 256:             # <<<<<<<<<<<<<<
 *                 b = b - 256
 *             self._ptr[0].luid[i] = b
 */
    }

    /* "cuda/cudart.pyx":3717
 *             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, 3717, __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, 3717, __pyx_L1_error)
    ((__pyx_v_self->_ptr[0]).luid[__pyx_t_9]) = __pyx_t_8;

    /* "cuda/cudart.pyx":3714
 *         if len(luid) != 8:
 *             raise ValueError("luid length must be 8, is " + str(len(luid)))
 *         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;

  /* "cuda/cudart.pyx":3711
 *         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":3719
 *             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], 3719, 0, __PYX_ERR(0, 3719, __pyx_L1_error));

  /* "cuda/cudart.pyx":3720
 *     @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, 3720, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3719
 *             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":3722
 *         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, 3722, __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], 3722, 0, __PYX_ERR(0, 3722, __pyx_L1_error));

  /* "cuda/cudart.pyx":3724
 *     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":3722
 *         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":3726
 *         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], 3726, 0, __PYX_ERR(0, 3726, __pyx_L1_error));

  /* "cuda/cudart.pyx":3727
 *     @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, 3727, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3726
 *         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":3729
 *         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, 3729, __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], 3729, 0, __PYX_ERR(0, 3729, __pyx_L1_error));

  /* "cuda/cudart.pyx":3731
 *     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":3729
 *         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":3733
 *         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], 3733, 0, __PYX_ERR(0, 3733, __pyx_L1_error));

  /* "cuda/cudart.pyx":3734
 *     @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, 3734, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3733
 *         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":3736
 *         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, 3736, __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], 3736, 0, __PYX_ERR(0, 3736, __pyx_L1_error));

  /* "cuda/cudart.pyx":3738
 *     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":3736
 *         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":3740
 *         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], 3740, 0, __PYX_ERR(0, 3740, __pyx_L1_error));

  /* "cuda/cudart.pyx":3741
 *     @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, 3741, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3740
 *         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":3743
 *         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, 3743, __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], 3743, 0, __PYX_ERR(0, 3743, __pyx_L1_error));

  /* "cuda/cudart.pyx":3745
 *     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":3743
 *         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":3747
 *         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], 3747, 0, __PYX_ERR(0, 3747, __pyx_L1_error));

  /* "cuda/cudart.pyx":3748
 *     @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, 3748, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3747
 *         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":3750
 *         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, 3750, __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], 3750, 0, __PYX_ERR(0, 3750, __pyx_L1_error));

  /* "cuda/cudart.pyx":3752
 *     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":3750
 *         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":3754
 *         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], 3754, 0, __PYX_ERR(0, 3754, __pyx_L1_error));

  /* "cuda/cudart.pyx":3755
 *     @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, 3755, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3754
 *         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":3757
 *         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, 3757, __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], 3757, 0, __PYX_ERR(0, 3757, __pyx_L1_error));

  /* "cuda/cudart.pyx":3759
 *     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":3757
 *         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":3761
 *         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], 3761, 0, __PYX_ERR(0, 3761, __pyx_L1_error));

  /* "cuda/cudart.pyx":3762
 *     @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, 3762, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3761
 *         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":3764
 *         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, 3764, __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], 3764, 0, __PYX_ERR(0, 3764, __pyx_L1_error));

  /* "cuda/cudart.pyx":3766
 *     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":3764
 *         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":3768
 *         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], 3768, 0, __PYX_ERR(0, 3768, __pyx_L1_error));

  /* "cuda/cudart.pyx":3769
 *     @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, 3769, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3768
 *         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":3771
 *         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], 3771, 0, __PYX_ERR(0, 3771, __pyx_L1_error));

  /* "cuda/cudart.pyx":3773
 *     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, 3773, __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":3771
 *         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":3775
 *         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], 3775, 0, __PYX_ERR(0, 3775, __pyx_L1_error));

  /* "cuda/cudart.pyx":3776
 *     @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, 3776, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3775
 *         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":3778
 *         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], 3778, 0, __PYX_ERR(0, 3778, __pyx_L1_error));

  /* "cuda/cudart.pyx":3780
 *     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, 3780, __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":3778
 *         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":3782
 *         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], 3782, 0, __PYX_ERR(0, 3782, __pyx_L1_error));

  /* "cuda/cudart.pyx":3783
 *     @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, 3783, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3782
 *         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":3785
 *         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, 3785, __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], 3785, 0, __PYX_ERR(0, 3785, __pyx_L1_error));

  /* "cuda/cudart.pyx":3787
 *     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":3785
 *         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":3789
 *         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], 3789, 0, __PYX_ERR(0, 3789, __pyx_L1_error));

  /* "cuda/cudart.pyx":3790
 *     @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, 3790, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3789
 *         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":3792
 *         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, 3792, __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], 3792, 0, __PYX_ERR(0, 3792, __pyx_L1_error));

  /* "cuda/cudart.pyx":3794
 *     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":3792
 *         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":3796
 *         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], 3796, 0, __PYX_ERR(0, 3796, __pyx_L1_error));

  /* "cuda/cudart.pyx":3797
 *     @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, 3797, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3796
 *         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":3799
 *         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, 3799, __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], 3799, 0, __PYX_ERR(0, 3799, __pyx_L1_error));

  /* "cuda/cudart.pyx":3801
 *     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":3799
 *         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":3803
 *         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], 3803, 0, __PYX_ERR(0, 3803, __pyx_L1_error));

  /* "cuda/cudart.pyx":3804
 *     @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, 3804, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3803
 *         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":3806
 *         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, 3806, __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], 3806, 0, __PYX_ERR(0, 3806, __pyx_L1_error));

  /* "cuda/cudart.pyx":3808
 *     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":3806
 *         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":3810
 *         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], 3810, 0, __PYX_ERR(0, 3810, __pyx_L1_error));

  /* "cuda/cudart.pyx":3811
 *     @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, 3811, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3810
 *         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":3813
 *         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, 3813, __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], 3813, 0, __PYX_ERR(0, 3813, __pyx_L1_error));

  /* "cuda/cudart.pyx":3815
 *     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":3813
 *         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":3817
 *         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], 3817, 0, __PYX_ERR(0, 3817, __pyx_L1_error));

  /* "cuda/cudart.pyx":3818
 *     @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, 3818, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3817
 *         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":3820
 *         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, 3820, __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], 3820, 0, __PYX_ERR(0, 3820, __pyx_L1_error));

  /* "cuda/cudart.pyx":3822
 *     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":3820
 *         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":3824
 *         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], 3824, 0, __PYX_ERR(0, 3824, __pyx_L1_error));

  /* "cuda/cudart.pyx":3825
 *     @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, 3825, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3824
 *         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":3827
 *         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, 3827, __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], 3827, 0, __PYX_ERR(0, 3827, __pyx_L1_error));

  /* "cuda/cudart.pyx":3829
 *     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":3827
 *         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":3831
 *         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], 3831, 0, __PYX_ERR(0, 3831, __pyx_L1_error));

  /* "cuda/cudart.pyx":3832
 *     @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, 3832, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3831
 *         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":3834
 *         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, 3834, __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], 3834, 0, __PYX_ERR(0, 3834, __pyx_L1_error));

  /* "cuda/cudart.pyx":3836
 *     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":3834
 *         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":3838
 *         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], 3838, 0, __PYX_ERR(0, 3838, __pyx_L1_error));

  /* "cuda/cudart.pyx":3839
 *     @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, 3839, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3838
 *         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":3841
 *         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, 3841, __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], 3841, 0, __PYX_ERR(0, 3841, __pyx_L1_error));

  /* "cuda/cudart.pyx":3843
 *     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":3841
 *         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":3845
 *         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], 3845, 0, __PYX_ERR(0, 3845, __pyx_L1_error));

  /* "cuda/cudart.pyx":3846
 *     @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, 3846, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3845
 *         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":3848
 *         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, 3848, __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], 3848, 0, __PYX_ERR(0, 3848, __pyx_L1_error));

  /* "cuda/cudart.pyx":3850
 *     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":3848
 *         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":3852
 *         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], 3852, 0, __PYX_ERR(0, 3852, __pyx_L1_error));

  /* "cuda/cudart.pyx":3853
 *     @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, 3853, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3852
 *         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":3855
 *         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, 3855, __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], 3855, 0, __PYX_ERR(0, 3855, __pyx_L1_error));

  /* "cuda/cudart.pyx":3857
 *     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":3855
 *         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":3859
 *         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], 3859, 0, __PYX_ERR(0, 3859, __pyx_L1_error));

  /* "cuda/cudart.pyx":3860
 *     @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, 3860, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3859
 *         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":3862
 *         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, 3862, __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], 3862, 0, __PYX_ERR(0, 3862, __pyx_L1_error));

  /* "cuda/cudart.pyx":3864
 *     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":3862
 *         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":3866
 *         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], 3866, 0, __PYX_ERR(0, 3866, __pyx_L1_error));

  /* "cuda/cudart.pyx":3867
 *     @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, 3867, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3866
 *         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":3869
 *         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, 3869, __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], 3869, 0, __PYX_ERR(0, 3869, __pyx_L1_error));

  /* "cuda/cudart.pyx":3871
 *     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":3869
 *         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":3873
 *         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], 3873, 0, __PYX_ERR(0, 3873, __pyx_L1_error));

  /* "cuda/cudart.pyx":3874
 *     @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, 3874, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3873
 *         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":3876
 *         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, 3876, __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], 3876, 0, __PYX_ERR(0, 3876, __pyx_L1_error));

  /* "cuda/cudart.pyx":3878
 *     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":3876
 *         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":3880
 *         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], 3880, 0, __PYX_ERR(0, 3880, __pyx_L1_error));

  /* "cuda/cudart.pyx":3881
 *     @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, 3881, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3880
 *         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":3883
 *         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, 3883, __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], 3883, 0, __PYX_ERR(0, 3883, __pyx_L1_error));

  /* "cuda/cudart.pyx":3885
 *     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":3883
 *         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":3887
 *         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], 3887, 0, __PYX_ERR(0, 3887, __pyx_L1_error));

  /* "cuda/cudart.pyx":3888
 *     @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, 3888, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3887
 *         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":3890
 *         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], 3890, 0, __PYX_ERR(0, 3890, __pyx_L1_error));

  /* "cuda/cudart.pyx":3892
 *     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, 3892, __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":3890
 *         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":3894
 *         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], 3894, 0, __PYX_ERR(0, 3894, __pyx_L1_error));

  /* "cuda/cudart.pyx":3895
 *     @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, 3895, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3894
 *         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":3897
 *         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], 3897, 0, __PYX_ERR(0, 3897, __pyx_L1_error));

  /* "cuda/cudart.pyx":3899
 *     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, 3899, __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":3897
 *         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":3901
 *         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], 3901, 0, __PYX_ERR(0, 3901, __pyx_L1_error));

  /* "cuda/cudart.pyx":3902
 *     @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, 3902, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3901
 *         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":3904
 *         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], 3904, 0, __PYX_ERR(0, 3904, __pyx_L1_error));

  /* "cuda/cudart.pyx":3906
 *     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, 3906, __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":3904
 *         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":3908
 *         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], 3908, 0, __PYX_ERR(0, 3908, __pyx_L1_error));

  /* "cuda/cudart.pyx":3909
 *     @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, 3909, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3908
 *         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":3911
 *         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], 3911, 0, __PYX_ERR(0, 3911, __pyx_L1_error));

  /* "cuda/cudart.pyx":3913
 *     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, 3913, __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":3911
 *         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":3915
 *         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], 3915, 0, __PYX_ERR(0, 3915, __pyx_L1_error));

  /* "cuda/cudart.pyx":3916
 *     @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, 3916, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3915
 *         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":3918
 *         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], 3918, 0, __PYX_ERR(0, 3918, __pyx_L1_error));

  /* "cuda/cudart.pyx":3920
 *     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, 3920, __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":3918
 *         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":3922
 *         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], 3922, 0, __PYX_ERR(0, 3922, __pyx_L1_error));

  /* "cuda/cudart.pyx":3923
 *     @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, 3923, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3922
 *         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":3925
 *         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], 3925, 0, __PYX_ERR(0, 3925, __pyx_L1_error));

  /* "cuda/cudart.pyx":3927
 *     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, 3927, __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":3925
 *         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":3929
 *         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], 3929, 0, __PYX_ERR(0, 3929, __pyx_L1_error));

  /* "cuda/cudart.pyx":3930
 *     @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, 3930, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3929
 *         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":3932
 *         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, 3932, __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], 3932, 0, __PYX_ERR(0, 3932, __pyx_L1_error));

  /* "cuda/cudart.pyx":3934
 *     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":3932
 *         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":3936
 *         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], 3936, 0, __PYX_ERR(0, 3936, __pyx_L1_error));

  /* "cuda/cudart.pyx":3937
 *     @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, 3937, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3936
 *         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":3939
 *         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], 3939, 0, __PYX_ERR(0, 3939, __pyx_L1_error));

  /* "cuda/cudart.pyx":3941
 *     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, 3941, __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":3939
 *         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":3943
 *         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], 3943, 0, __PYX_ERR(0, 3943, __pyx_L1_error));

  /* "cuda/cudart.pyx":3944
 *     @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, 3944, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3943
 *         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":3946
 *         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], 3946, 0, __PYX_ERR(0, 3946, __pyx_L1_error));

  /* "cuda/cudart.pyx":3948
 *     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, 3948, __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":3946
 *         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":3950
 *         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], 3950, 0, __PYX_ERR(0, 3950, __pyx_L1_error));

  /* "cuda/cudart.pyx":3951
 *     @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, 3951, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3950
 *         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":3953
 *         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], 3953, 0, __PYX_ERR(0, 3953, __pyx_L1_error));

  /* "cuda/cudart.pyx":3955
 *     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, 3955, __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":3953
 *         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":3957
 *         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], 3957, 0, __PYX_ERR(0, 3957, __pyx_L1_error));

  /* "cuda/cudart.pyx":3958
 *     @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, 3958, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3957
 *         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":3960
 *         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, 3960, __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], 3960, 0, __PYX_ERR(0, 3960, __pyx_L1_error));

  /* "cuda/cudart.pyx":3962
 *     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":3960
 *         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":3964
 *         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], 3964, 0, __PYX_ERR(0, 3964, __pyx_L1_error));

  /* "cuda/cudart.pyx":3965
 *     @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, 3965, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3964
 *         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":3967
 *         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], 3967, 0, __PYX_ERR(0, 3967, __pyx_L1_error));

  /* "cuda/cudart.pyx":3969
 *     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, 3969, __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":3967
 *         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":3971
 *         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], 3971, 0, __PYX_ERR(0, 3971, __pyx_L1_error));

  /* "cuda/cudart.pyx":3972
 *     @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, 3972, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3971
 *         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":3974
 *         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], 3974, 0, __PYX_ERR(0, 3974, __pyx_L1_error));

  /* "cuda/cudart.pyx":3976
 *     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, 3976, __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":3974
 *         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":3978
 *         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], 3978, 0, __PYX_ERR(0, 3978, __pyx_L1_error));

  /* "cuda/cudart.pyx":3979
 *     @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, 3979, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3978
 *         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":3981
 *         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], 3981, 0, __PYX_ERR(0, 3981, __pyx_L1_error));

  /* "cuda/cudart.pyx":3983
 *     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, 3983, __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":3981
 *         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":3985
 *         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], 3985, 0, __PYX_ERR(0, 3985, __pyx_L1_error));

  /* "cuda/cudart.pyx":3986
 *     @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, 3986, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3985
 *         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":3988
 *         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], 3988, 0, __PYX_ERR(0, 3988, __pyx_L1_error));

  /* "cuda/cudart.pyx":3990
 *     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, 3990, __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":3988
 *         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":3992
 *         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], 3992, 0, __PYX_ERR(0, 3992, __pyx_L1_error));

  /* "cuda/cudart.pyx":3993
 *     @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, 3993, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3992
 *         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":3995
 *         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, 3995, __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], 3995, 0, __PYX_ERR(0, 3995, __pyx_L1_error));

  /* "cuda/cudart.pyx":3997
 *     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":3995
 *         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":3999
 *         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], 3999, 0, __PYX_ERR(0, 3999, __pyx_L1_error));

  /* "cuda/cudart.pyx":4000
 *     @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, 4000, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":3999
 *         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":4002
 *         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], 4002, 0, __PYX_ERR(0, 4002, __pyx_L1_error));

  /* "cuda/cudart.pyx":4004
 *     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, 4004, __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":4002
 *         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":4006
 *         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], 4006, 0, __PYX_ERR(0, 4006, __pyx_L1_error));

  /* "cuda/cudart.pyx":4007
 *     @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, 4007, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4006
 *         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":4009
 *         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, 4009, __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], 4009, 0, __PYX_ERR(0, 4009, __pyx_L1_error));

  /* "cuda/cudart.pyx":4011
 *     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":4009
 *         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":4013
 *         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], 4013, 0, __PYX_ERR(0, 4013, __pyx_L1_error));

  /* "cuda/cudart.pyx":4014
 *     @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, 4014, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4013
 *         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":4016
 *         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, 4016, __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], 4016, 0, __PYX_ERR(0, 4016, __pyx_L1_error));

  /* "cuda/cudart.pyx":4018
 *     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":4016
 *         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":4020
 *         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], 4020, 0, __PYX_ERR(0, 4020, __pyx_L1_error));

  /* "cuda/cudart.pyx":4021
 *     @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, 4021, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4020
 *         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":4023
 *         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, 4023, __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], 4023, 0, __PYX_ERR(0, 4023, __pyx_L1_error));

  /* "cuda/cudart.pyx":4025
 *     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":4023
 *         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":4027
 *         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], 4027, 0, __PYX_ERR(0, 4027, __pyx_L1_error));

  /* "cuda/cudart.pyx":4028
 *     @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, 4028, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4027
 *         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":4030
 *         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, 4030, __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], 4030, 0, __PYX_ERR(0, 4030, __pyx_L1_error));

  /* "cuda/cudart.pyx":4032
 *     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":4030
 *         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":4034
 *         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], 4034, 0, __PYX_ERR(0, 4034, __pyx_L1_error));

  /* "cuda/cudart.pyx":4035
 *     @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, 4035, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4034
 *         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":4037
 *         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, 4037, __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], 4037, 0, __PYX_ERR(0, 4037, __pyx_L1_error));

  /* "cuda/cudart.pyx":4039
 *     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":4037
 *         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":4041
 *         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], 4041, 0, __PYX_ERR(0, 4041, __pyx_L1_error));

  /* "cuda/cudart.pyx":4042
 *     @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, 4042, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4041
 *         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":4044
 *         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, 4044, __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], 4044, 0, __PYX_ERR(0, 4044, __pyx_L1_error));

  /* "cuda/cudart.pyx":4046
 *     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":4044
 *         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":4048
 *         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], 4048, 0, __PYX_ERR(0, 4048, __pyx_L1_error));

  /* "cuda/cudart.pyx":4049
 *     @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, 4049, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4048
 *         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":4051
 *         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, 4051, __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], 4051, 0, __PYX_ERR(0, 4051, __pyx_L1_error));

  /* "cuda/cudart.pyx":4053
 *     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":4051
 *         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":4055
 *         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], 4055, 0, __PYX_ERR(0, 4055, __pyx_L1_error));

  /* "cuda/cudart.pyx":4056
 *     @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, 4056, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4055
 *         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":4058
 *         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, 4058, __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], 4058, 0, __PYX_ERR(0, 4058, __pyx_L1_error));

  /* "cuda/cudart.pyx":4060
 *     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":4058
 *         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":4062
 *         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], 4062, 0, __PYX_ERR(0, 4062, __pyx_L1_error));

  /* "cuda/cudart.pyx":4063
 *     @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, 4063, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4062
 *         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":4065
 *         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, 4065, __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], 4065, 0, __PYX_ERR(0, 4065, __pyx_L1_error));

  /* "cuda/cudart.pyx":4067
 *     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":4065
 *         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":4069
 *         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], 4069, 0, __PYX_ERR(0, 4069, __pyx_L1_error));

  /* "cuda/cudart.pyx":4070
 *     @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, 4070, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4069
 *         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":4072
 *         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, 4072, __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], 4072, 0, __PYX_ERR(0, 4072, __pyx_L1_error));

  /* "cuda/cudart.pyx":4074
 *     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":4072
 *         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":4076
 *         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], 4076, 0, __PYX_ERR(0, 4076, __pyx_L1_error));

  /* "cuda/cudart.pyx":4077
 *     @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, 4077, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4076
 *         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":4079
 *         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, 4079, __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], 4079, 0, __PYX_ERR(0, 4079, __pyx_L1_error));

  /* "cuda/cudart.pyx":4081
 *     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":4079
 *         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":4083
 *         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], 4083, 0, __PYX_ERR(0, 4083, __pyx_L1_error));

  /* "cuda/cudart.pyx":4084
 *     @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, 4084, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4083
 *         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":4086
 *         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, 4086, __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], 4086, 0, __PYX_ERR(0, 4086, __pyx_L1_error));

  /* "cuda/cudart.pyx":4088
 *     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":4086
 *         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":4090
 *         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], 4090, 0, __PYX_ERR(0, 4090, __pyx_L1_error));

  /* "cuda/cudart.pyx":4091
 *     @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, 4091, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4090
 *         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":4093
 *         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, 4093, __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], 4093, 0, __PYX_ERR(0, 4093, __pyx_L1_error));

  /* "cuda/cudart.pyx":4095
 *     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":4093
 *         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":4097
 *         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], 4097, 0, __PYX_ERR(0, 4097, __pyx_L1_error));

  /* "cuda/cudart.pyx":4098
 *     @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, 4098, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4097
 *         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":4100
 *         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, 4100, __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], 4100, 0, __PYX_ERR(0, 4100, __pyx_L1_error));

  /* "cuda/cudart.pyx":4102
 *     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":4100
 *         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":4104
 *         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], 4104, 0, __PYX_ERR(0, 4104, __pyx_L1_error));

  /* "cuda/cudart.pyx":4105
 *     @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, 4105, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4104
 *         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":4107
 *         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, 4107, __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], 4107, 0, __PYX_ERR(0, 4107, __pyx_L1_error));

  /* "cuda/cudart.pyx":4109
 *     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":4107
 *         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":4111
 *         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], 4111, 0, __PYX_ERR(0, 4111, __pyx_L1_error));

  /* "cuda/cudart.pyx":4112
 *     @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, 4112, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4111
 *         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":4114
 *         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, 4114, __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], 4114, 0, __PYX_ERR(0, 4114, __pyx_L1_error));

  /* "cuda/cudart.pyx":4116
 *     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":4114
 *         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":4118
 *         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], 4118, 0, __PYX_ERR(0, 4118, __pyx_L1_error));

  /* "cuda/cudart.pyx":4119
 *     @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, 4119, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4118
 *         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":4121
 *         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, 4121, __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], 4121, 0, __PYX_ERR(0, 4121, __pyx_L1_error));

  /* "cuda/cudart.pyx":4123
 *     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":4121
 *         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":4125
 *         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], 4125, 0, __PYX_ERR(0, 4125, __pyx_L1_error));

  /* "cuda/cudart.pyx":4126
 *     @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, 4126, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4125
 *         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":4128
 *         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, 4128, __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], 4128, 0, __PYX_ERR(0, 4128, __pyx_L1_error));

  /* "cuda/cudart.pyx":4130
 *     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":4128
 *         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":4132
 *         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], 4132, 0, __PYX_ERR(0, 4132, __pyx_L1_error));

  /* "cuda/cudart.pyx":4133
 *     @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, 4133, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4132
 *         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":4135
 *         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, 4135, __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], 4135, 0, __PYX_ERR(0, 4135, __pyx_L1_error));

  /* "cuda/cudart.pyx":4137
 *     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":4135
 *         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":4139
 *         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], 4139, 0, __PYX_ERR(0, 4139, __pyx_L1_error));

  /* "cuda/cudart.pyx":4140
 *     @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, 4140, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4139
 *         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":4142
 *         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, 4142, __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], 4142, 0, __PYX_ERR(0, 4142, __pyx_L1_error));

  /* "cuda/cudart.pyx":4144
 *     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":4142
 *         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":4146
 *         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], 4146, 0, __PYX_ERR(0, 4146, __pyx_L1_error));

  /* "cuda/cudart.pyx":4147
 *     @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, 4147, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4146
 *         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":4149
 *         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, 4149, __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], 4149, 0, __PYX_ERR(0, 4149, __pyx_L1_error));

  /* "cuda/cudart.pyx":4151
 *     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":4149
 *         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":4153
 *         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], 4153, 0, __PYX_ERR(0, 4153, __pyx_L1_error));

  /* "cuda/cudart.pyx":4154
 *     @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, 4154, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4153
 *         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":4156
 *         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, 4156, __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], 4156, 0, __PYX_ERR(0, 4156, __pyx_L1_error));

  /* "cuda/cudart.pyx":4158
 *     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":4156
 *         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":4160
 *         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], 4160, 0, __PYX_ERR(0, 4160, __pyx_L1_error));

  /* "cuda/cudart.pyx":4161
 *     @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, 4161, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4160
 *         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":4163
 *         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, 4163, __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], 4163, 0, __PYX_ERR(0, 4163, __pyx_L1_error));

  /* "cuda/cudart.pyx":4165
 *     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":4163
 *         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":4167
 *         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], 4167, 0, __PYX_ERR(0, 4167, __pyx_L1_error));

  /* "cuda/cudart.pyx":4168
 *     @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, 4168, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4167
 *         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":4170
 *         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, 4170, __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], 4170, 0, __PYX_ERR(0, 4170, __pyx_L1_error));

  /* "cuda/cudart.pyx":4172
 *     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":4170
 *         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":4174
 *         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], 4174, 0, __PYX_ERR(0, 4174, __pyx_L1_error));

  /* "cuda/cudart.pyx":4175
 *     @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, 4175, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4174
 *         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":4177
 *         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, 4177, __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], 4177, 0, __PYX_ERR(0, 4177, __pyx_L1_error));

  /* "cuda/cudart.pyx":4179
 *     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":4177
 *         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":4181
 *         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], 4181, 0, __PYX_ERR(0, 4181, __pyx_L1_error));

  /* "cuda/cudart.pyx":4182
 *     @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, 4182, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4181
 *         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":4184
 *         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, 4184, __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], 4184, 0, __PYX_ERR(0, 4184, __pyx_L1_error));

  /* "cuda/cudart.pyx":4186
 *     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":4184
 *         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":4188
 *         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], 4188, 0, __PYX_ERR(0, 4188, __pyx_L1_error));

  /* "cuda/cudart.pyx":4189
 *     @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, 4189, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4188
 *         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":4191
 *         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, 4191, __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], 4191, 0, __PYX_ERR(0, 4191, __pyx_L1_error));

  /* "cuda/cudart.pyx":4193
 *     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":4191
 *         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":4195
 *         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], 4195, 0, __PYX_ERR(0, 4195, __pyx_L1_error));

  /* "cuda/cudart.pyx":4196
 *     @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, 4196, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4195
 *         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":4198
 *         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, 4198, __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], 4198, 0, __PYX_ERR(0, 4198, __pyx_L1_error));

  /* "cuda/cudart.pyx":4200
 *     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":4198
 *         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":4202
 *         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], 4202, 0, __PYX_ERR(0, 4202, __pyx_L1_error));

  /* "cuda/cudart.pyx":4203
 *     @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, 4203, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4202
 *         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":4205
 *         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, 4205, __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], 4205, 0, __PYX_ERR(0, 4205, __pyx_L1_error));

  /* "cuda/cudart.pyx":4207
 *     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":4205
 *         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":4209
 *         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], 4209, 0, __PYX_ERR(0, 4209, __pyx_L1_error));

  /* "cuda/cudart.pyx":4210
 *     @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, 4210, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4209
 *         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":4212
 *         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, 4212, __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], 4212, 0, __PYX_ERR(0, 4212, __pyx_L1_error));

  /* "cuda/cudart.pyx":4214
 *     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":4212
 *         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":4216
 *         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], 4216, 0, __PYX_ERR(0, 4216, __pyx_L1_error));

  /* "cuda/cudart.pyx":4217
 *     @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, 4217, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4216
 *         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":4219
 *         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, 4219, __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], 4219, 0, __PYX_ERR(0, 4219, __pyx_L1_error));

  /* "cuda/cudart.pyx":4221
 *     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":4219
 *         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":4223
 *         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], 4223, 0, __PYX_ERR(0, 4223, __pyx_L1_error));

  /* "cuda/cudart.pyx":4224
 *     @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, 4224, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4223
 *         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":4226
 *         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, 4226, __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], 4226, 0, __PYX_ERR(0, 4226, __pyx_L1_error));

  /* "cuda/cudart.pyx":4228
 *     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":4226
 *         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":4230
 *         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], 4230, 0, __PYX_ERR(0, 4230, __pyx_L1_error));

  /* "cuda/cudart.pyx":4231
 *     @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, 4231, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4230
 *         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":4233
 *         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, 4233, __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], 4233, 0, __PYX_ERR(0, 4233, __pyx_L1_error));

  /* "cuda/cudart.pyx":4235
 *     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":4233
 *         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":4237
 *         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], 4237, 0, __PYX_ERR(0, 4237, __pyx_L1_error));

  /* "cuda/cudart.pyx":4238
 *     @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, 4238, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4237
 *         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":4240
 *         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, 4240, __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], 4240, 0, __PYX_ERR(0, 4240, __pyx_L1_error));

  /* "cuda/cudart.pyx":4242
 *     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":4240
 *         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":4244
 *         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], 4244, 0, __PYX_ERR(0, 4244, __pyx_L1_error));

  /* "cuda/cudart.pyx":4245
 *     @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, 4245, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4244
 *         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":4247
 *         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, 4247, __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], 4247, 0, __PYX_ERR(0, 4247, __pyx_L1_error));

  /* "cuda/cudart.pyx":4249
 *     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":4247
 *         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":4251
 *         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], 4251, 0, __PYX_ERR(0, 4251, __pyx_L1_error));

  /* "cuda/cudart.pyx":4252
 *     @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, 4252, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4251
 *         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":4254
 *         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, 4254, __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], 4254, 0, __PYX_ERR(0, 4254, __pyx_L1_error));

  /* "cuda/cudart.pyx":4256
 *     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":4254
 *         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__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.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__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.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":4273
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

/* 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, 4273, __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, 4273, __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, 4273, __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;
  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("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 4273, 0, __PYX_ERR(0, 4273, __pyx_L1_error));

  /* "cuda/cudart.pyx":4274
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaIpcEventHandle_st *>calloc(1, sizeof(ccudart.cudaIpcEventHandle_st))
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":4275
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr_owner = True             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaIpcEventHandle_st *>calloc(1, sizeof(ccudart.cudaIpcEventHandle_st))
 *             if self._ptr is NULL:
 */
    __pyx_v_self->_ptr_owner = 1;

    /* "cuda/cudart.pyx":4276
 *         if _ptr == 0:
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaIpcEventHandle_st *>calloc(1, sizeof(ccudart.cudaIpcEventHandle_st))             # <<<<<<<<<<<<<<
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaIpcEventHandle_st)))
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaIpcEventHandle_st *)calloc(1, (sizeof(struct __pyx_t_4cuda_7ccudart_cudaIpcEventHandle_st))));

    /* "cuda/cudart.pyx":4277
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaIpcEventHandle_st *>calloc(1, sizeof(ccudart.cudaIpcEventHandle_st))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaIpcEventHandle_st)))
 *         else:
 */
    __pyx_t_1 = ((__pyx_v_self->_ptr == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":4278
 *             self._ptr = <ccudart.cudaIpcEventHandle_st *>calloc(1, sizeof(ccudart.cudaIpcEventHandle_st))
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaIpcEventHandle_st)))             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr_owner = False
 */
      __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(struct __pyx_t_4cuda_7ccudart_cudaIpcEventHandle_st))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4278, __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, 4278, __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_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4278, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4278, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 4278, __pyx_L1_error)

      /* "cuda/cudart.pyx":4277
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaIpcEventHandle_st *>calloc(1, sizeof(ccudart.cudaIpcEventHandle_st))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaIpcEventHandle_st)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":4274
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaIpcEventHandle_st *>calloc(1, sizeof(ccudart.cudaIpcEventHandle_st))
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":4280
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaIpcEventHandle_st)))
 *         else:
 *             self._ptr_owner = False             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaIpcEventHandle_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 */
  /*else*/ {
    __pyx_v_self->_ptr_owner = 0;

    /* "cuda/cudart.pyx":4281
 *         else:
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaIpcEventHandle_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaIpcEventHandle_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":4273
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.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":4282
 *             self._ptr_owner = False
 *             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, 4282, __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, 4282, __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, 4282, __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], 4282, 0, __PYX_ERR(0, 4282, __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":4284
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

/* 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__(struct __pyx_obj_4cuda_6cudart_cudaIpcEventHandle_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 4284, 0, __PYX_ERR(0, 4284, __pyx_L1_error));

  /* "cuda/cudart.pyx":4285
 *         pass
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  __pyx_t_2 = ((__pyx_v_self->_ptr_owner == 1) != 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = ((__pyx_v_self->_ptr != NULL) != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":4286
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */
    free(__pyx_v_self->_ptr);

    /* "cuda/cudart.pyx":4285
 *         pass
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  }

  /* "cuda/cudart.pyx":4284
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

  /* 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":4288
 *             free(self._ptr)
 *         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__201)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 4288, 0, __PYX_ERR(0, 4288, __pyx_L1_error));

  /* "cuda/cudart.pyx":4289
 *         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, 4289, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4288
 *             free(self._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.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":4290
 *     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], 4290, 0, __PYX_ERR(0, 4290, __pyx_L1_error));

  /* "cuda/cudart.pyx":4291
 *         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":4292
 *     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, 4292, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4293
 *         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, 4293, __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, 4293, __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, 4293, __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, 4293, __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, 4293, __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":4294
 *             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__48, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4294, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":4291
 *         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":4296
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__49);
    __pyx_r = __pyx_kp_u__49;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":4290
 *     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":4299
 * 
 *     @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], 4299, 0, __PYX_ERR(0, 4299, __pyx_L1_error));

  /* "cuda/cudart.pyx":4300
 *     @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, 4300, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4299
 * 
 *     @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":4302
 *         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], 4302, 0, __PYX_ERR(0, 4302, __pyx_L1_error));

  /* "cuda/cudart.pyx":4303
 *     @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, 4303, __pyx_L1_error)
  __pyx_t_2 = ((__pyx_t_1 != 64) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":4304
 *     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):
 *             if b > 127 and b < 256:
 */
    __pyx_t_1 = PyObject_Length(__pyx_v_reserved); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 4304, __pyx_L1_error)
    __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4304, __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, 4304, __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, 4304, __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, 4304, __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, 4304, __pyx_L1_error)

    /* "cuda/cudart.pyx":4303
 *     @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":4305
 *         if len(reserved) != 64:
 *             raise ValueError("reserved length must be 64, is " + str(len(reserved)))
 *         for i, b in enumerate(reserved):             # <<<<<<<<<<<<<<
 *             if b > 127 and b < 256:
 *                 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, 4305, __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, 4305, __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, 4305, __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, 4305, __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, 4305, __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, 4305, __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, 4305, __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, 4305, __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":4306
 *             raise ValueError("reserved length must be 64, is " + str(len(reserved)))
 *         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, 4306, __pyx_L1_error)
    __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 4306, __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_L7_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, 4306, __pyx_L1_error)
    __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 4306, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_2 = __pyx_t_7;
    __pyx_L7_bool_binop_done:;
    if (__pyx_t_2) {

      /* "cuda/cudart.pyx":4307
 *         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, 4307, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF_SET(__pyx_v_b, __pyx_t_6);
      __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":4306
 *             raise ValueError("reserved length must be 64, is " + str(len(reserved)))
 *         for i, b in enumerate(reserved):
 *             if b > 127 and b < 256:             # <<<<<<<<<<<<<<
 *                 b = b - 256
 *             self._ptr[0].reserved[i] = b
 */
    }

    /* "cuda/cudart.pyx":4308
 *             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, 4308, __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, 4308, __pyx_L1_error)
    ((__pyx_v_self->_ptr[0]).reserved[__pyx_t_9]) = __pyx_t_8;

    /* "cuda/cudart.pyx":4305
 *         if len(reserved) != 64:
 *             raise ValueError("reserved length must be 64, is " + str(len(reserved)))
 *         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;

  /* "cuda/cudart.pyx":4302
 *         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__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.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__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.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":4325
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

/* 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, 4325, __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, 4325, __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, 4325, __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;
  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("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 4325, 0, __PYX_ERR(0, 4325, __pyx_L1_error));

  /* "cuda/cudart.pyx":4326
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaIpcMemHandle_st *>calloc(1, sizeof(ccudart.cudaIpcMemHandle_st))
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":4327
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr_owner = True             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaIpcMemHandle_st *>calloc(1, sizeof(ccudart.cudaIpcMemHandle_st))
 *             if self._ptr is NULL:
 */
    __pyx_v_self->_ptr_owner = 1;

    /* "cuda/cudart.pyx":4328
 *         if _ptr == 0:
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaIpcMemHandle_st *>calloc(1, sizeof(ccudart.cudaIpcMemHandle_st))             # <<<<<<<<<<<<<<
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaIpcMemHandle_st)))
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaIpcMemHandle_st *)calloc(1, (sizeof(struct __pyx_t_4cuda_7ccudart_cudaIpcMemHandle_st))));

    /* "cuda/cudart.pyx":4329
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaIpcMemHandle_st *>calloc(1, sizeof(ccudart.cudaIpcMemHandle_st))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaIpcMemHandle_st)))
 *         else:
 */
    __pyx_t_1 = ((__pyx_v_self->_ptr == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":4330
 *             self._ptr = <ccudart.cudaIpcMemHandle_st *>calloc(1, sizeof(ccudart.cudaIpcMemHandle_st))
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaIpcMemHandle_st)))             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr_owner = False
 */
      __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(struct __pyx_t_4cuda_7ccudart_cudaIpcMemHandle_st))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4330, __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, 4330, __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_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4330, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4330, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 4330, __pyx_L1_error)

      /* "cuda/cudart.pyx":4329
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaIpcMemHandle_st *>calloc(1, sizeof(ccudart.cudaIpcMemHandle_st))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaIpcMemHandle_st)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":4326
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaIpcMemHandle_st *>calloc(1, sizeof(ccudart.cudaIpcMemHandle_st))
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":4332
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaIpcMemHandle_st)))
 *         else:
 *             self._ptr_owner = False             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaIpcMemHandle_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 */
  /*else*/ {
    __pyx_v_self->_ptr_owner = 0;

    /* "cuda/cudart.pyx":4333
 *         else:
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaIpcMemHandle_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaIpcMemHandle_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":4325
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.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":4334
 *             self._ptr_owner = False
 *             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, 4334, __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, 4334, __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, 4334, __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], 4334, 0, __PYX_ERR(0, 4334, __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":4336
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

/* 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__(struct __pyx_obj_4cuda_6cudart_cudaIpcMemHandle_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 4336, 0, __PYX_ERR(0, 4336, __pyx_L1_error));

  /* "cuda/cudart.pyx":4337
 *         pass
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  __pyx_t_2 = ((__pyx_v_self->_ptr_owner == 1) != 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = ((__pyx_v_self->_ptr != NULL) != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":4338
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */
    free(__pyx_v_self->_ptr);

    /* "cuda/cudart.pyx":4337
 *         pass
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  }

  /* "cuda/cudart.pyx":4336
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

  /* 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":4340
 *             free(self._ptr)
 *         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__206)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 4340, 0, __PYX_ERR(0, 4340, __pyx_L1_error));

  /* "cuda/cudart.pyx":4341
 *         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, 4341, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4340
 *             free(self._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.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":4342
 *     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], 4342, 0, __PYX_ERR(0, 4342, __pyx_L1_error));

  /* "cuda/cudart.pyx":4343
 *         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":4344
 *     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, 4344, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4345
 *         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, 4345, __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, 4345, __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, 4345, __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, 4345, __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, 4345, __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":4346
 *             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__48, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4346, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":4343
 *         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":4348
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__49);
    __pyx_r = __pyx_kp_u__49;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":4342
 *     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":4351
 * 
 *     @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], 4351, 0, __PYX_ERR(0, 4351, __pyx_L1_error));

  /* "cuda/cudart.pyx":4352
 *     @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, 4352, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4351
 * 
 *     @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":4354
 *         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], 4354, 0, __PYX_ERR(0, 4354, __pyx_L1_error));

  /* "cuda/cudart.pyx":4355
 *     @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, 4355, __pyx_L1_error)
  __pyx_t_2 = ((__pyx_t_1 != 64) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":4356
 *     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):
 *             if b > 127 and b < 256:
 */
    __pyx_t_1 = PyObject_Length(__pyx_v_reserved); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 4356, __pyx_L1_error)
    __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4356, __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, 4356, __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, 4356, __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, 4356, __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, 4356, __pyx_L1_error)

    /* "cuda/cudart.pyx":4355
 *     @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":4357
 *         if len(reserved) != 64:
 *             raise ValueError("reserved length must be 64, is " + str(len(reserved)))
 *         for i, b in enumerate(reserved):             # <<<<<<<<<<<<<<
 *             if b > 127 and b < 256:
 *                 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, 4357, __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, 4357, __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, 4357, __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, 4357, __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, 4357, __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, 4357, __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, 4357, __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, 4357, __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":4358
 *             raise ValueError("reserved length must be 64, is " + str(len(reserved)))
 *         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, 4358, __pyx_L1_error)
    __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 4358, __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_L7_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, 4358, __pyx_L1_error)
    __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 4358, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_2 = __pyx_t_7;
    __pyx_L7_bool_binop_done:;
    if (__pyx_t_2) {

      /* "cuda/cudart.pyx":4359
 *         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, 4359, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF_SET(__pyx_v_b, __pyx_t_6);
      __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":4358
 *             raise ValueError("reserved length must be 64, is " + str(len(reserved)))
 *         for i, b in enumerate(reserved):
 *             if b > 127 and b < 256:             # <<<<<<<<<<<<<<
 *                 b = b - 256
 *             self._ptr[0].reserved[i] = b
 */
    }

    /* "cuda/cudart.pyx":4360
 *             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, 4360, __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, 4360, __pyx_L1_error)
    ((__pyx_v_self->_ptr[0]).reserved[__pyx_t_9]) = __pyx_t_8;

    /* "cuda/cudart.pyx":4357
 *         if len(reserved) != 64:
 *             raise ValueError("reserved length must be 64, is " + str(len(reserved)))
 *         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;

  /* "cuda/cudart.pyx":4354
 *         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__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.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__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.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":4378
 * 
 *     """
 *     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, 4378, __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, 4378, __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, 4378, __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], 4378, 0, __PYX_ERR(0, 4378, __pyx_L1_error));

  /* "cuda/cudart.pyx":4379
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaExternalMemoryHandleDesc *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr):
 *         pass
 */
  __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleDesc *)__pyx_v__ptr);

  /* "cuda/cudart.pyx":4378
 * 
 *     """
 *     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":4380
 *     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, 4380, __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, 4380, __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, 4380, __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], 4380, 0, __PYX_ERR(0, 4380, __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":4382
 *     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__211)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 4382, 0, __PYX_ERR(0, 4382, __pyx_L1_error));

  /* "cuda/cudart.pyx":4383
 *         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, 4383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4382
 *     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":4384
 *     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], 4384, 0, __PYX_ERR(0, 4384, __pyx_L1_error));

  /* "cuda/cudart.pyx":4385
 *         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":4386
 *     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, 4386, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4387
 *         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, 4387, __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, 4387, __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, 4387, __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, 4387, __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, 4387, __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":4388
 *             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, 4388, __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, 4388, __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, 4388, __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, 4388, __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, 4388, __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":4389
 *             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__48, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4389, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":4385
 *         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":4391
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__49);
    __pyx_r = __pyx_kp_u__49;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":4384
 *     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":4394
 * 
 *     @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], 4394, 0, __PYX_ERR(0, 4394, __pyx_L1_error));

  /* "cuda/cudart.pyx":4395
 *     @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, 4395, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4394
 * 
 *     @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":4397
 *         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], 4397, 0, __PYX_ERR(0, 4397, __pyx_L1_error));

  /* "cuda/cudart.pyx":4398
 *     @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, 4398, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__chandle = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":4399
 *     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, 4399, __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, 4399, __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":4397
 *         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":4401
 *         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], 4401, 0, __PYX_ERR(0, 4401, __pyx_L1_error));

  /* "cuda/cudart.pyx":4402
 *     @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, 4402, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4401
 *         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":4404
 *         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], 4404, 0, __PYX_ERR(0, 4404, __pyx_L1_error));

  /* "cuda/cudart.pyx":4405
 *     @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, 4405, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__cname = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":4406
 *     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, 4406, __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, 4406, __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":4404
 *         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__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._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__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._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":4426
 * 
 *     """
 *     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, 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._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], 4426, 0, __PYX_ERR(0, 4426, __pyx_L1_error));

  /* "cuda/cudart.pyx":4427
 *     """
 *     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 __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleDesc *)__pyx_v__ptr);

  /* "cuda/cudart.pyx":4426
 * 
 *     """
 *     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":4428
 *     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, 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._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], 4428, 0, __PYX_ERR(0, 4428, __pyx_L1_error));

  /* "cuda/cudart.pyx":4429
 *         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, 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)); 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__cudaExternalMemoryHandleDesc_handle_handle_win32_s), __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->_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":4428
 *     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":4430
 *     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__216)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 4430, 0, __PYX_ERR(0, 4430, __pyx_L1_error));

  /* "cuda/cudart.pyx":4431
 *         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, 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._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":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_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_9genexpr26__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], 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 += ['fd : ' + str(self.fd)]
 */
  __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 += ['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, 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 += ['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, 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_fd, __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 += ['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, 4436, __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, 4436, __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, 4436, __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, 4436, __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, 4436, __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, 4436, __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__65, __pyx_9genexpr26__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4436, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 4436, __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__48, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4436, __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, 4436, __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, 4436, __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, 4436, __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":4437
 *             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, 4437, __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, 4437, __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, 4437, __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, 4437, __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, 4437, __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":4438
 *             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__48, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4438, __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 += ['fd : ' + str(self.fd)]
 */
  }

  /* "cuda/cudart.pyx":4440
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__49);
    __pyx_r = __pyx_kp_u__49;
    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_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_9genexpr26__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4443
 * 
 *     @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], 4443, 0, __PYX_ERR(0, 4443, __pyx_L1_error));

  /* "cuda/cudart.pyx":4444
 *     @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, 4444, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4443
 * 
 *     @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":4446
 *         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, 4446, __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], 4446, 0, __PYX_ERR(0, 4446, __pyx_L1_error));

  /* "cuda/cudart.pyx":4448
 *     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":4446
 *         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":4450
 *         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], 4450, 0, __PYX_ERR(0, 4450, __pyx_L1_error));

  /* "cuda/cudart.pyx":4451
 *     @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":4450
 *         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":4453
 *         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, 4453, __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], 4453, 0, __PYX_ERR(0, 4453, __pyx_L1_error));

  /* "cuda/cudart.pyx":4455
 *     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, 4455, __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, 4455, __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, 4455, __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, 4455, __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, 4455, __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, 4455, __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, 4455, __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, 4455, __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":4456
 *         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, 4456, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":4457
 *         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":4456
 *         pass
 *         for _attr in dir(win32):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":4458
 *             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, 4458, __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__66) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__66);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4458, __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, 4458, __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":4459
 *                 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, 4459, __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, 4459, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":4458
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._win32, _attr, getattr(win32, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":4455
 *     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":4453
 *         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":4461
 *                 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], 4461, 0, __PYX_ERR(0, 4461, __pyx_L1_error));

  /* "cuda/cudart.pyx":4462
 *     @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, 4462, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4461
 *                 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":4464
 *         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], 4464, 0, __PYX_ERR(0, 4464, __pyx_L1_error));

  /* "cuda/cudart.pyx":4465
 *     @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, 4465, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__cnvSciBufObject = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":4466
 *     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, 4466, __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, 4466, __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":4464
 *         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__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._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__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._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":4489
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

/* 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, 4489, __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, 4489, __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, 4489, __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;
  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("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 4489, 0, __PYX_ERR(0, 4489, __pyx_L1_error));

  /* "cuda/cudart.pyx":4490
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaExternalMemoryHandleDesc *>calloc(1, sizeof(ccudart.cudaExternalMemoryHandleDesc))
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":4491
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr_owner = True             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaExternalMemoryHandleDesc *>calloc(1, sizeof(ccudart.cudaExternalMemoryHandleDesc))
 *             if self._ptr is NULL:
 */
    __pyx_v_self->_ptr_owner = 1;

    /* "cuda/cudart.pyx":4492
 *         if _ptr == 0:
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaExternalMemoryHandleDesc *>calloc(1, sizeof(ccudart.cudaExternalMemoryHandleDesc))             # <<<<<<<<<<<<<<
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaExternalMemoryHandleDesc)))
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleDesc *)calloc(1, (sizeof(struct __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleDesc))));

    /* "cuda/cudart.pyx":4493
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaExternalMemoryHandleDesc *>calloc(1, sizeof(ccudart.cudaExternalMemoryHandleDesc))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaExternalMemoryHandleDesc)))
 *         else:
 */
    __pyx_t_1 = ((__pyx_v_self->_ptr == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":4494
 *             self._ptr = <ccudart.cudaExternalMemoryHandleDesc *>calloc(1, sizeof(ccudart.cudaExternalMemoryHandleDesc))
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaExternalMemoryHandleDesc)))             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr_owner = False
 */
      __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(struct __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleDesc))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4494, __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, 4494, __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_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4494, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4494, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 4494, __pyx_L1_error)

      /* "cuda/cudart.pyx":4493
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaExternalMemoryHandleDesc *>calloc(1, sizeof(ccudart.cudaExternalMemoryHandleDesc))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaExternalMemoryHandleDesc)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":4490
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaExternalMemoryHandleDesc *>calloc(1, sizeof(ccudart.cudaExternalMemoryHandleDesc))
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":4496
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaExternalMemoryHandleDesc)))
 *         else:
 *             self._ptr_owner = False             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaExternalMemoryHandleDesc *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 */
  /*else*/ {
    __pyx_v_self->_ptr_owner = 0;

    /* "cuda/cudart.pyx":4497
 *         else:
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaExternalMemoryHandleDesc *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._handle = _cudaExternalMemoryHandleDesc_handle_u(_ptr=<void_ptr>self._ptr)
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleDesc *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":4489
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.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":4498
 *             self._ptr_owner = False
 *             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, 4498, __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, 4498, __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, 4498, __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], 4498, 0, __PYX_ERR(0, 4498, __pyx_L1_error));

  /* "cuda/cudart.pyx":4499
 *             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):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4499, __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, 4499, __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, 4499, __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, 4499, __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":4498
 *             self._ptr_owner = False
 *             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":4500
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._handle = _cudaExternalMemoryHandleDesc_handle_u(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

/* 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__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryHandleDesc *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 4500, 0, __PYX_ERR(0, 4500, __pyx_L1_error));

  /* "cuda/cudart.pyx":4501
 *         self._handle = _cudaExternalMemoryHandleDesc_handle_u(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  __pyx_t_2 = ((__pyx_v_self->_ptr_owner == 1) != 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = ((__pyx_v_self->_ptr != NULL) != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":4502
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */
    free(__pyx_v_self->_ptr);

    /* "cuda/cudart.pyx":4501
 *         self._handle = _cudaExternalMemoryHandleDesc_handle_u(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  }

  /* "cuda/cudart.pyx":4500
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._handle = _cudaExternalMemoryHandleDesc_handle_u(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

  /* 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":4504
 *             free(self._ptr)
 *         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__221)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 4504, 0, __PYX_ERR(0, 4504, __pyx_L1_error));

  /* "cuda/cudart.pyx":4505
 *         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, 4505, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4504
 *             free(self._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.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":4506
 *     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_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], 4506, 0, __PYX_ERR(0, 4506, __pyx_L1_error));

  /* "cuda/cudart.pyx":4507
 *         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":4508
 *     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, 4508, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4509
 *         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, 4509, __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, 4509, __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, 4509, __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, 4509, __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, 4509, __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":4510
 *             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, 4510, __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, 4510, __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, 4510, __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, 4510, __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, 4510, __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, 4510, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        #endif
        __Pyx_XDECREF_SET(__pyx_9genexpr27__pyx_v_line, __pyx_t_3);
        __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_kp_u__65, __pyx_9genexpr27__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4510, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 4510, __pyx_L6_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_9genexpr27__pyx_v_line); __pyx_9genexpr27__pyx_v_line = 0;
      goto __pyx_L9_exit_scope;
      __pyx_L6_error:;
      __Pyx_XDECREF(__pyx_9genexpr27__pyx_v_line); __pyx_9genexpr27__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L9_exit_scope:;
    } /* exit inner scope */
    __pyx_t_4 = PyUnicode_Join(__pyx_kp_u__48, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4510, __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, 4510, __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, 4510, __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, 4510, __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":4511
 *             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, 4511, __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, 4511, __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, 4511, __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, 4511, __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, 4511, __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":4512
 *             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, 4512, __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, 4512, __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, 4512, __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, 4512, __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, 4512, __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":4513
 *             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__48, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4513, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":4507
 *         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":4515
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__49);
    __pyx_r = __pyx_kp_u__49;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":4506
 *     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_9genexpr27__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4518
 * 
 *     @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], 4518, 0, __PYX_ERR(0, 4518, __pyx_L1_error));

  /* "cuda/cudart.pyx":4519
 *     @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, 4519, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType((__pyx_v_self->_ptr[0]).type); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4519, __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, 4519, __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":4518
 * 
 *     @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":4521
 *         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, 4521, __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 __pyx_t_4cuda_7ccudart_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], 4521, 0, __PYX_ERR(0, 4521, __pyx_L1_error));

  /* "cuda/cudart.pyx":4523
 *     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, 4523, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4523, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).type = __pyx_t_2;

  /* "cuda/cudart.pyx":4521
 *         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":4525
 *         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], 4525, 0, __PYX_ERR(0, 4525, __pyx_L1_error));

  /* "cuda/cudart.pyx":4526
 *     @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":4525
 *         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":4528
 *         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, 4528, __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], 4528, 0, __PYX_ERR(0, 4528, __pyx_L1_error));

  /* "cuda/cudart.pyx":4530
 *     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, 4530, __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, 4530, __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, 4530, __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, 4530, __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, 4530, __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, 4530, __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, 4530, __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, 4530, __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":4531
 *         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, 4531, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":4532
 *         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":4531
 *         pass
 *         for _attr in dir(handle):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":4533
 *             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, 4533, __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__66) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__66);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4533, __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, 4533, __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":4534
 *                 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, 4534, __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, 4534, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":4533
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._handle, _attr, getattr(handle, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":4530
 *     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":4528
 *         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":4536
 *                 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], 4536, 0, __PYX_ERR(0, 4536, __pyx_L1_error));

  /* "cuda/cudart.pyx":4537
 *     @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, 4537, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4536
 *                 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":4539
 *         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, 4539, __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], 4539, 0, __PYX_ERR(0, 4539, __pyx_L1_error));

  /* "cuda/cudart.pyx":4541
 *     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":4539
 *         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":4543
 *         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], 4543, 0, __PYX_ERR(0, 4543, __pyx_L1_error));

  /* "cuda/cudart.pyx":4544
 *     @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, 4544, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4543
 *         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":4546
 *         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, 4546, __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], 4546, 0, __PYX_ERR(0, 4546, __pyx_L1_error));

  /* "cuda/cudart.pyx":4548
 *     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":4546
 *         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__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.__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__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.__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":4569
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

/* 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, 4569, __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, 4569, __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, 4569, __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;
  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("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 4569, 0, __PYX_ERR(0, 4569, __pyx_L1_error));

  /* "cuda/cudart.pyx":4570
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaExternalMemoryBufferDesc *>calloc(1, sizeof(ccudart.cudaExternalMemoryBufferDesc))
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":4571
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr_owner = True             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaExternalMemoryBufferDesc *>calloc(1, sizeof(ccudart.cudaExternalMemoryBufferDesc))
 *             if self._ptr is NULL:
 */
    __pyx_v_self->_ptr_owner = 1;

    /* "cuda/cudart.pyx":4572
 *         if _ptr == 0:
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaExternalMemoryBufferDesc *>calloc(1, sizeof(ccudart.cudaExternalMemoryBufferDesc))             # <<<<<<<<<<<<<<
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaExternalMemoryBufferDesc)))
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaExternalMemoryBufferDesc *)calloc(1, (sizeof(struct __pyx_t_4cuda_7ccudart_cudaExternalMemoryBufferDesc))));

    /* "cuda/cudart.pyx":4573
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaExternalMemoryBufferDesc *>calloc(1, sizeof(ccudart.cudaExternalMemoryBufferDesc))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaExternalMemoryBufferDesc)))
 *         else:
 */
    __pyx_t_1 = ((__pyx_v_self->_ptr == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":4574
 *             self._ptr = <ccudart.cudaExternalMemoryBufferDesc *>calloc(1, sizeof(ccudart.cudaExternalMemoryBufferDesc))
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaExternalMemoryBufferDesc)))             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr_owner = False
 */
      __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(struct __pyx_t_4cuda_7ccudart_cudaExternalMemoryBufferDesc))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4574, __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, 4574, __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_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4574, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4574, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 4574, __pyx_L1_error)

      /* "cuda/cudart.pyx":4573
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaExternalMemoryBufferDesc *>calloc(1, sizeof(ccudart.cudaExternalMemoryBufferDesc))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaExternalMemoryBufferDesc)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":4570
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaExternalMemoryBufferDesc *>calloc(1, sizeof(ccudart.cudaExternalMemoryBufferDesc))
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":4576
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaExternalMemoryBufferDesc)))
 *         else:
 *             self._ptr_owner = False             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaExternalMemoryBufferDesc *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 */
  /*else*/ {
    __pyx_v_self->_ptr_owner = 0;

    /* "cuda/cudart.pyx":4577
 *         else:
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaExternalMemoryBufferDesc *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaExternalMemoryBufferDesc *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":4569
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.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":4578
 *             self._ptr_owner = False
 *             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, 4578, __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, 4578, __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, 4578, __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], 4578, 0, __PYX_ERR(0, 4578, __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":4580
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

/* 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__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryBufferDesc *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 4580, 0, __PYX_ERR(0, 4580, __pyx_L1_error));

  /* "cuda/cudart.pyx":4581
 *         pass
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  __pyx_t_2 = ((__pyx_v_self->_ptr_owner == 1) != 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = ((__pyx_v_self->_ptr != NULL) != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":4582
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */
    free(__pyx_v_self->_ptr);

    /* "cuda/cudart.pyx":4581
 *         pass
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  }

  /* "cuda/cudart.pyx":4580
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

  /* 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":4584
 *             free(self._ptr)
 *         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__226)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 4584, 0, __PYX_ERR(0, 4584, __pyx_L1_error));

  /* "cuda/cudart.pyx":4585
 *         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, 4585, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4584
 *             free(self._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.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":4586
 *     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], 4586, 0, __PYX_ERR(0, 4586, __pyx_L1_error));

  /* "cuda/cudart.pyx":4587
 *         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":4588
 *     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, 4588, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4589
 *         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, 4589, __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, 4589, __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, 4589, __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, 4589, __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, 4589, __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":4590
 *             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, 4590, __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, 4590, __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, 4590, __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, 4590, __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, 4590, __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":4591
 *             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, 4591, __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, 4591, __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, 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 += ['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__48, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4592, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":4587
 *         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":4594
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__49);
    __pyx_r = __pyx_kp_u__49;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":4586
 *     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":4597
 * 
 *     @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], 4597, 0, __PYX_ERR(0, 4597, __pyx_L1_error));

  /* "cuda/cudart.pyx":4598
 *     @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, 4598, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4597
 * 
 *     @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":4600
 *         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, 4600, __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], 4600, 0, __PYX_ERR(0, 4600, __pyx_L1_error));

  /* "cuda/cudart.pyx":4602
 *     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":4600
 *         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":4604
 *         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], 4604, 0, __PYX_ERR(0, 4604, __pyx_L1_error));

  /* "cuda/cudart.pyx":4605
 *     @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, 4605, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4604
 *         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":4607
 *         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, 4607, __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], 4607, 0, __PYX_ERR(0, 4607, __pyx_L1_error));

  /* "cuda/cudart.pyx":4609
 *     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":4607
 *         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":4611
 *         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], 4611, 0, __PYX_ERR(0, 4611, __pyx_L1_error));

  /* "cuda/cudart.pyx":4612
 *     @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, 4612, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4611
 *         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":4614
 *         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, 4614, __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], 4614, 0, __PYX_ERR(0, 4614, __pyx_L1_error));

  /* "cuda/cudart.pyx":4616
 *     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":4614
 *         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__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.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__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.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":4643
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

/* 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, 4643, __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, 4643, __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, 4643, __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;
  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("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 4643, 0, __PYX_ERR(0, 4643, __pyx_L1_error));

  /* "cuda/cudart.pyx":4644
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaExternalMemoryMipmappedArrayDesc *>calloc(1, sizeof(ccudart.cudaExternalMemoryMipmappedArrayDesc))
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":4645
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr_owner = True             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaExternalMemoryMipmappedArrayDesc *>calloc(1, sizeof(ccudart.cudaExternalMemoryMipmappedArrayDesc))
 *             if self._ptr is NULL:
 */
    __pyx_v_self->_ptr_owner = 1;

    /* "cuda/cudart.pyx":4646
 *         if _ptr == 0:
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaExternalMemoryMipmappedArrayDesc *>calloc(1, sizeof(ccudart.cudaExternalMemoryMipmappedArrayDesc))             # <<<<<<<<<<<<<<
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaExternalMemoryMipmappedArrayDesc)))
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaExternalMemoryMipmappedArrayDesc *)calloc(1, (sizeof(struct __pyx_t_4cuda_7ccudart_cudaExternalMemoryMipmappedArrayDesc))));

    /* "cuda/cudart.pyx":4647
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaExternalMemoryMipmappedArrayDesc *>calloc(1, sizeof(ccudart.cudaExternalMemoryMipmappedArrayDesc))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaExternalMemoryMipmappedArrayDesc)))
 *         else:
 */
    __pyx_t_1 = ((__pyx_v_self->_ptr == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":4648
 *             self._ptr = <ccudart.cudaExternalMemoryMipmappedArrayDesc *>calloc(1, sizeof(ccudart.cudaExternalMemoryMipmappedArrayDesc))
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaExternalMemoryMipmappedArrayDesc)))             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr_owner = False
 */
      __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(struct __pyx_t_4cuda_7ccudart_cudaExternalMemoryMipmappedArrayDesc))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4648, __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, 4648, __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_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4648, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4648, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 4648, __pyx_L1_error)

      /* "cuda/cudart.pyx":4647
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaExternalMemoryMipmappedArrayDesc *>calloc(1, sizeof(ccudart.cudaExternalMemoryMipmappedArrayDesc))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaExternalMemoryMipmappedArrayDesc)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":4644
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaExternalMemoryMipmappedArrayDesc *>calloc(1, sizeof(ccudart.cudaExternalMemoryMipmappedArrayDesc))
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":4650
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaExternalMemoryMipmappedArrayDesc)))
 *         else:
 *             self._ptr_owner = False             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaExternalMemoryMipmappedArrayDesc *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 */
  /*else*/ {
    __pyx_v_self->_ptr_owner = 0;

    /* "cuda/cudart.pyx":4651
 *         else:
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaExternalMemoryMipmappedArrayDesc *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._formatDesc = cudaChannelFormatDesc(_ptr=<void_ptr>&self._ptr[0].formatDesc)
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaExternalMemoryMipmappedArrayDesc *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":4643
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.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":4652
 *             self._ptr_owner = False
 *             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, 4652, __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, 4652, __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, 4652, __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], 4652, 0, __PYX_ERR(0, 4652, __pyx_L1_error));

  /* "cuda/cudart.pyx":4653
 *             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, 4653, __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, 4653, __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, 4653, __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, 4653, __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":4654
 *     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):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4654, __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, 4654, __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, 4654, __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, 4654, __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":4652
 *             self._ptr_owner = False
 *             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":4655
 *         self._formatDesc = cudaChannelFormatDesc(_ptr=<void_ptr>&self._ptr[0].formatDesc)
 *         self._extent = cudaExtent(_ptr=<void_ptr>&self._ptr[0].extent)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

/* 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__(struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 4655, 0, __PYX_ERR(0, 4655, __pyx_L1_error));

  /* "cuda/cudart.pyx":4656
 *         self._extent = cudaExtent(_ptr=<void_ptr>&self._ptr[0].extent)
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  __pyx_t_2 = ((__pyx_v_self->_ptr_owner == 1) != 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = ((__pyx_v_self->_ptr != NULL) != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":4657
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */
    free(__pyx_v_self->_ptr);

    /* "cuda/cudart.pyx":4656
 *         self._extent = cudaExtent(_ptr=<void_ptr>&self._ptr[0].extent)
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  }

  /* "cuda/cudart.pyx":4655
 *         self._formatDesc = cudaChannelFormatDesc(_ptr=<void_ptr>&self._ptr[0].formatDesc)
 *         self._extent = cudaExtent(_ptr=<void_ptr>&self._ptr[0].extent)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

  /* 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":4659
 *             free(self._ptr)
 *         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__231)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 4659, 0, __PYX_ERR(0, 4659, __pyx_L1_error));

  /* "cuda/cudart.pyx":4660
 *         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, 4660, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4659
 *             free(self._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.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":4661
 *     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_9genexpr28__pyx_v_line = 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], 4661, 0, __PYX_ERR(0, 4661, __pyx_L1_error));

  /* "cuda/cudart.pyx":4662
 *         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":4663
 *     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, 4663, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4664
 *         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, 4664, __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, 4664, __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, 4664, __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, 4664, __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, 4664, __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":4665
 *             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, 4665, __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, 4665, __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, 4665, __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, 4665, __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, 4665, __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, 4665, __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__65, __pyx_9genexpr28__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4665, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 4665, __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__48, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4665, __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, 4665, __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, 4665, __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, 4665, __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":4666
 *             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, 4666, __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, 4666, __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, 4666, __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, 4666, __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, 4666, __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, 4666, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
        __Pyx_XDECREF_SET(__pyx_9genexpr29__pyx_v_line, __pyx_t_4);
        __pyx_t_4 = 0;
        __pyx_t_4 = PyNumber_Add(__pyx_kp_u__65, __pyx_9genexpr29__pyx_v_line); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4666, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_4);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_4))) __PYX_ERR(0, 4666, __pyx_L12_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_9genexpr29__pyx_v_line); __pyx_9genexpr29__pyx_v_line = 0;
      goto __pyx_L15_exit_scope;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_9genexpr29__pyx_v_line); __pyx_9genexpr29__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L15_exit_scope:;
    } /* exit inner scope */
    __pyx_t_3 = PyUnicode_Join(__pyx_kp_u__48, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4666, __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, 4666, __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, 4666, __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, 4666, __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":4667
 *             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, 4667, __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, 4667, __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, 4667, __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, 4667, __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, 4667, __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":4668
 *             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, 4668, __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, 4668, __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, 4668, __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, 4668, __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, 4668, __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":4669
 *             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__48, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4669, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":4662
 *         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":4671
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__49);
    __pyx_r = __pyx_kp_u__49;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":4661
 *     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_9genexpr28__pyx_v_line);
  __Pyx_XDECREF(__pyx_9genexpr29__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4674
 * 
 *     @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], 4674, 0, __PYX_ERR(0, 4674, __pyx_L1_error));

  /* "cuda/cudart.pyx":4675
 *     @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, 4675, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4674
 * 
 *     @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":4677
 *         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, 4677, __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], 4677, 0, __PYX_ERR(0, 4677, __pyx_L1_error));

  /* "cuda/cudart.pyx":4679
 *     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":4677
 *         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":4681
 *         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], 4681, 0, __PYX_ERR(0, 4681, __pyx_L1_error));

  /* "cuda/cudart.pyx":4682
 *     @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":4681
 *         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":4684
 *         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, 4684, __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], 4684, 0, __PYX_ERR(0, 4684, __pyx_L1_error));

  /* "cuda/cudart.pyx":4686
 *     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, 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(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, 4687, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":4688
 *         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":4687
 *         pass
 *         for _attr in dir(formatDesc):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":4689
 *             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, 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__66) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__66);
    __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._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, 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._formatDesc, _attr, getattr(formatDesc, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":4686
 *     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":4684
 *         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":4692
 *                 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], 4692, 0, __PYX_ERR(0, 4692, __pyx_L1_error));

  /* "cuda/cudart.pyx":4693
 *     @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":4692
 *                 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":4695
 *         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, 4695, __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], 4695, 0, __PYX_ERR(0, 4695, __pyx_L1_error));

  /* "cuda/cudart.pyx":4697
 *     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, 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(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, 4698, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":4699
 *         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":4698
 *         pass
 *         for _attr in dir(extent):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":4700
 *             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, 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__66) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__66);
    __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._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, 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._extent, _attr, getattr(extent, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":4697
 *     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":4695
 *         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":4703
 *                 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], 4703, 0, __PYX_ERR(0, 4703, __pyx_L1_error));

  /* "cuda/cudart.pyx":4704
 *     @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, 4704, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4703
 *                 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":4706
 *         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, 4706, __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], 4706, 0, __PYX_ERR(0, 4706, __pyx_L1_error));

  /* "cuda/cudart.pyx":4708
 *     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":4706
 *         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":4710
 *         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], 4710, 0, __PYX_ERR(0, 4710, __pyx_L1_error));

  /* "cuda/cudart.pyx":4711
 *     @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, 4711, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4710
 *         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":4713
 *         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, 4713, __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], 4713, 0, __PYX_ERR(0, 4713, __pyx_L1_error));

  /* "cuda/cudart.pyx":4715
 *     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":4713
 *         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__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.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__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.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":4733
 * 
 *     """
 *     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, 4733, __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, 4733, __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, 4733, __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], 4733, 0, __PYX_ERR(0, 4733, __pyx_L1_error));

  /* "cuda/cudart.pyx":4734
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaExternalSemaphoreHandleDesc *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr):
 *         pass
 */
  __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleDesc *)__pyx_v__ptr);

  /* "cuda/cudart.pyx":4733
 * 
 *     """
 *     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":4735
 *     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, 4735, __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, 4735, __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, 4735, __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], 4735, 0, __PYX_ERR(0, 4735, __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":4737
 *     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__236)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 4737, 0, __PYX_ERR(0, 4737, __pyx_L1_error));

  /* "cuda/cudart.pyx":4738
 *         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, 4738, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4737
 *     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":4739
 *     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], 4739, 0, __PYX_ERR(0, 4739, __pyx_L1_error));

  /* "cuda/cudart.pyx":4740
 *         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":4741
 *     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, 4741, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4742
 *         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, 4742, __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, 4742, __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, 4742, __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, 4742, __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, 4742, __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":4743
 *             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, 4743, __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, 4743, __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, 4743, __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, 4743, __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, 4743, __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":4744
 *             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__48, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4744, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":4740
 *         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":4746
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__49);
    __pyx_r = __pyx_kp_u__49;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":4739
 *     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":4749
 * 
 *     @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], 4749, 0, __PYX_ERR(0, 4749, __pyx_L1_error));

  /* "cuda/cudart.pyx":4750
 *     @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, 4750, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4749
 * 
 *     @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":4752
 *         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], 4752, 0, __PYX_ERR(0, 4752, __pyx_L1_error));

  /* "cuda/cudart.pyx":4753
 *     @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, 4753, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__chandle = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":4754
 *     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, 4754, __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, 4754, __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":4752
 *         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":4756
 *         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], 4756, 0, __PYX_ERR(0, 4756, __pyx_L1_error));

  /* "cuda/cudart.pyx":4757
 *     @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, 4757, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4756
 *         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":4759
 *         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], 4759, 0, __PYX_ERR(0, 4759, __pyx_L1_error));

  /* "cuda/cudart.pyx":4760
 *     @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, 4760, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__cname = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":4761
 *     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, 4761, __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, 4761, __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":4759
 *         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__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._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__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._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":4781
 * 
 *     """
 *     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, 4781, __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, 4781, __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, 4781, __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], 4781, 0, __PYX_ERR(0, 4781, __pyx_L1_error));

  /* "cuda/cudart.pyx":4782
 *     """
 *     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 __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleDesc *)__pyx_v__ptr);

  /* "cuda/cudart.pyx":4781
 * 
 *     """
 *     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":4783
 *     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, 4783, __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, 4783, __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, 4783, __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], 4783, 0, __PYX_ERR(0, 4783, __pyx_L1_error));

  /* "cuda/cudart.pyx":4784
 *         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, 4784, __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, 4784, __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, 4784, __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, 4784, __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":4783
 *     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":4785
 *     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__241)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 4785, 0, __PYX_ERR(0, 4785, __pyx_L1_error));

  /* "cuda/cudart.pyx":4786
 *         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, 4786, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4785
 *     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":4787
 *     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_9genexpr30__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  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], 4787, 0, __PYX_ERR(0, 4787, __pyx_L1_error));

  /* "cuda/cudart.pyx":4788
 *         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":4789
 *     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, 4789, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4790
 *         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, 4790, __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, 4790, __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, 4790, __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, 4790, __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, 4790, __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":4791
 *             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, 4791, __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, 4791, __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, 4791, __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, 4791, __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, 4791, __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, 4791, __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__65, __pyx_9genexpr30__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4791, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 4791, __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__48, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4791, __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, 4791, __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, 4791, __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, 4791, __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":4792
 *             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, 4792, __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, 4792, __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, 4792, __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, 4792, __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, 4792, __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":4793
 *             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__48, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4793, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":4788
 *         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":4795
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__49);
    __pyx_r = __pyx_kp_u__49;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":4787
 *     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_9genexpr30__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4798
 * 
 *     @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], 4798, 0, __PYX_ERR(0, 4798, __pyx_L1_error));

  /* "cuda/cudart.pyx":4799
 *     @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, 4799, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4798
 * 
 *     @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":4801
 *         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, 4801, __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], 4801, 0, __PYX_ERR(0, 4801, __pyx_L1_error));

  /* "cuda/cudart.pyx":4803
 *     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":4801
 *         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":4805
 *         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], 4805, 0, __PYX_ERR(0, 4805, __pyx_L1_error));

  /* "cuda/cudart.pyx":4806
 *     @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":4805
 *         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":4808
 *         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, 4808, __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], 4808, 0, __PYX_ERR(0, 4808, __pyx_L1_error));

  /* "cuda/cudart.pyx":4810
 *     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, 4810, __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, 4810, __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, 4810, __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, 4810, __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, 4810, __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, 4810, __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, 4810, __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, 4810, __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":4811
 *         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, 4811, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":4812
 *         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":4811
 *         pass
 *         for _attr in dir(win32):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":4813
 *             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, 4813, __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__66) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__66);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4813, __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, 4813, __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":4814
 *                 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, 4814, __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, 4814, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":4813
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._win32, _attr, getattr(win32, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":4810
 *     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":4808
 *         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":4816
 *                 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], 4816, 0, __PYX_ERR(0, 4816, __pyx_L1_error));

  /* "cuda/cudart.pyx":4817
 *     @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, 4817, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4816
 *                 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":4819
 *         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], 4819, 0, __PYX_ERR(0, 4819, __pyx_L1_error));

  /* "cuda/cudart.pyx":4820
 *     @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, 4820, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__cnvSciSyncObj = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":4821
 *     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, 4821, __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, 4821, __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":4819
 *         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__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._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__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._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":4842
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

/* 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, 4842, __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, 4842, __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, 4842, __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;
  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("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 4842, 0, __PYX_ERR(0, 4842, __pyx_L1_error));

  /* "cuda/cudart.pyx":4843
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaExternalSemaphoreHandleDesc *>calloc(1, sizeof(ccudart.cudaExternalSemaphoreHandleDesc))
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":4844
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr_owner = True             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaExternalSemaphoreHandleDesc *>calloc(1, sizeof(ccudart.cudaExternalSemaphoreHandleDesc))
 *             if self._ptr is NULL:
 */
    __pyx_v_self->_ptr_owner = 1;

    /* "cuda/cudart.pyx":4845
 *         if _ptr == 0:
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaExternalSemaphoreHandleDesc *>calloc(1, sizeof(ccudart.cudaExternalSemaphoreHandleDesc))             # <<<<<<<<<<<<<<
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaExternalSemaphoreHandleDesc)))
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleDesc *)calloc(1, (sizeof(struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleDesc))));

    /* "cuda/cudart.pyx":4846
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaExternalSemaphoreHandleDesc *>calloc(1, sizeof(ccudart.cudaExternalSemaphoreHandleDesc))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaExternalSemaphoreHandleDesc)))
 *         else:
 */
    __pyx_t_1 = ((__pyx_v_self->_ptr == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":4847
 *             self._ptr = <ccudart.cudaExternalSemaphoreHandleDesc *>calloc(1, sizeof(ccudart.cudaExternalSemaphoreHandleDesc))
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaExternalSemaphoreHandleDesc)))             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr_owner = False
 */
      __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleDesc))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4847, __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, 4847, __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_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4847, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4847, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 4847, __pyx_L1_error)

      /* "cuda/cudart.pyx":4846
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaExternalSemaphoreHandleDesc *>calloc(1, sizeof(ccudart.cudaExternalSemaphoreHandleDesc))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaExternalSemaphoreHandleDesc)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":4843
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaExternalSemaphoreHandleDesc *>calloc(1, sizeof(ccudart.cudaExternalSemaphoreHandleDesc))
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":4849
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaExternalSemaphoreHandleDesc)))
 *         else:
 *             self._ptr_owner = False             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaExternalSemaphoreHandleDesc *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 */
  /*else*/ {
    __pyx_v_self->_ptr_owner = 0;

    /* "cuda/cudart.pyx":4850
 *         else:
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaExternalSemaphoreHandleDesc *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._handle = _cudaExternalSemaphoreHandleDesc_handle_u(_ptr=<void_ptr>self._ptr)
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleDesc *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":4842
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.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":4851
 *             self._ptr_owner = False
 *             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, 4851, __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, 4851, __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, 4851, __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], 4851, 0, __PYX_ERR(0, 4851, __pyx_L1_error));

  /* "cuda/cudart.pyx":4852
 *             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):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4852, __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, 4852, __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, 4852, __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, 4852, __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":4851
 *             self._ptr_owner = False
 *             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":4853
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._handle = _cudaExternalSemaphoreHandleDesc_handle_u(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

/* 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__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreHandleDesc *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 4853, 0, __PYX_ERR(0, 4853, __pyx_L1_error));

  /* "cuda/cudart.pyx":4854
 *         self._handle = _cudaExternalSemaphoreHandleDesc_handle_u(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  __pyx_t_2 = ((__pyx_v_self->_ptr_owner == 1) != 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = ((__pyx_v_self->_ptr != NULL) != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":4855
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */
    free(__pyx_v_self->_ptr);

    /* "cuda/cudart.pyx":4854
 *         self._handle = _cudaExternalSemaphoreHandleDesc_handle_u(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  }

  /* "cuda/cudart.pyx":4853
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._handle = _cudaExternalSemaphoreHandleDesc_handle_u(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

  /* 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":4857
 *             free(self._ptr)
 *         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__246)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 4857, 0, __PYX_ERR(0, 4857, __pyx_L1_error));

  /* "cuda/cudart.pyx":4858
 *         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, 4858, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4857
 *             free(self._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.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":4859
 *     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_9genexpr31__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  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], 4859, 0, __PYX_ERR(0, 4859, __pyx_L1_error));

  /* "cuda/cudart.pyx":4860
 *         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":4861
 *     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, 4861, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4862
 *         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, 4862, __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, 4862, __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, 4862, __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, 4862, __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, 4862, __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":4863
 *             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, 4863, __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, 4863, __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, 4863, __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, 4863, __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, 4863, __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, 4863, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        #endif
        __Pyx_XDECREF_SET(__pyx_9genexpr31__pyx_v_line, __pyx_t_3);
        __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_kp_u__65, __pyx_9genexpr31__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4863, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 4863, __pyx_L6_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_9genexpr31__pyx_v_line); __pyx_9genexpr31__pyx_v_line = 0;
      goto __pyx_L9_exit_scope;
      __pyx_L6_error:;
      __Pyx_XDECREF(__pyx_9genexpr31__pyx_v_line); __pyx_9genexpr31__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L9_exit_scope:;
    } /* exit inner scope */
    __pyx_t_4 = PyUnicode_Join(__pyx_kp_u__48, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4863, __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, 4863, __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, 4863, __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, 4863, __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":4864
 *             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, 4864, __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, 4864, __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, 4864, __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, 4864, __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, 4864, __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":4865
 *             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__48, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4865, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":4860
 *         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":4867
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__49);
    __pyx_r = __pyx_kp_u__49;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":4859
 *     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_9genexpr31__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":4870
 * 
 *     @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], 4870, 0, __PYX_ERR(0, 4870, __pyx_L1_error));

  /* "cuda/cudart.pyx":4871
 *     @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, 4871, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType((__pyx_v_self->_ptr[0]).type); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4871, __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, 4871, __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":4870
 * 
 *     @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":4873
 *         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, 4873, __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 __pyx_t_4cuda_7ccudart_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], 4873, 0, __PYX_ERR(0, 4873, __pyx_L1_error));

  /* "cuda/cudart.pyx":4875
 *     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, 4875, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 4875, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).type = __pyx_t_2;

  /* "cuda/cudart.pyx":4873
 *         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":4877
 *         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], 4877, 0, __PYX_ERR(0, 4877, __pyx_L1_error));

  /* "cuda/cudart.pyx":4878
 *     @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":4877
 *         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":4880
 *         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, 4880, __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], 4880, 0, __PYX_ERR(0, 4880, __pyx_L1_error));

  /* "cuda/cudart.pyx":4882
 *     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, 4882, __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, 4882, __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, 4882, __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, 4882, __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, 4882, __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, 4882, __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, 4882, __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, 4882, __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":4883
 *         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, 4883, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":4884
 *         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":4883
 *         pass
 *         for _attr in dir(handle):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":4885
 *             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, 4885, __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__66) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__66);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4885, __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, 4885, __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":4886
 *                 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, 4886, __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, 4886, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":4885
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._handle, _attr, getattr(handle, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":4882
 *     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":4880
 *         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":4888
 *                 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], 4888, 0, __PYX_ERR(0, 4888, __pyx_L1_error));

  /* "cuda/cudart.pyx":4889
 *     @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, 4889, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4888
 *                 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":4891
 *         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, 4891, __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], 4891, 0, __PYX_ERR(0, 4891, __pyx_L1_error));

  /* "cuda/cudart.pyx":4893
 *     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":4891
 *         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__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.__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__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.__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":4909
 * 
 *     """
 *     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, 4909, __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, 4909, __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, 4909, __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], 4909, 0, __PYX_ERR(0, 4909, __pyx_L1_error));

  /* "cuda/cudart.pyx":4910
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaExternalSemaphoreSignalParams *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr):
 *         pass
 */
  __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreSignalParams *)__pyx_v__ptr);

  /* "cuda/cudart.pyx":4909
 * 
 *     """
 *     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":4911
 *     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, 4911, __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, 4911, __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, 4911, __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], 4911, 0, __PYX_ERR(0, 4911, __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":4913
 *     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__251)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 4913, 0, __PYX_ERR(0, 4913, __pyx_L1_error));

  /* "cuda/cudart.pyx":4914
 *         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, 4914, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4913
 *     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":4915
 *     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], 4915, 0, __PYX_ERR(0, 4915, __pyx_L1_error));

  /* "cuda/cudart.pyx":4916
 *         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":4917
 *     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, 4917, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4918
 *         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, 4918, __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, 4918, __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, 4918, __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, 4918, __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, 4918, __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":4919
 *             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__48, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4919, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":4916
 *         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":4921
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__49);
    __pyx_r = __pyx_kp_u__49;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":4915
 *     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":4924
 * 
 *     @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], 4924, 0, __PYX_ERR(0, 4924, __pyx_L1_error));

  /* "cuda/cudart.pyx":4925
 *     @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, 4925, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4924
 * 
 *     @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":4927
 *         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, 4927, __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], 4927, 0, __PYX_ERR(0, 4927, __pyx_L1_error));

  /* "cuda/cudart.pyx":4929
 *     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":4927
 *         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__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._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__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._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":4947
 * 
 *     """
 *     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, 4947, __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, 4947, __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, 4947, __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], 4947, 0, __PYX_ERR(0, 4947, __pyx_L1_error));

  /* "cuda/cudart.pyx":4948
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaExternalSemaphoreSignalParams *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr):
 *         pass
 */
  __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreSignalParams *)__pyx_v__ptr);

  /* "cuda/cudart.pyx":4947
 * 
 *     """
 *     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":4949
 *     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, 4949, __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, 4949, __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, 4949, __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], 4949, 0, __PYX_ERR(0, 4949, __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":4951
 *     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__256)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 4951, 0, __PYX_ERR(0, 4951, __pyx_L1_error));

  /* "cuda/cudart.pyx":4952
 *         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, 4952, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4951
 *     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":4953
 *     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], 4953, 0, __PYX_ERR(0, 4953, __pyx_L1_error));

  /* "cuda/cudart.pyx":4954
 *         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":4955
 *     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, 4955, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":4956
 *         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, 4956, __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, 4956, __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, 4956, __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, 4956, __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, 4956, __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":4957
 *             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, 4957, __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, 4957, __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, 4957, __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, 4957, __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, 4957, __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":4958
 *             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__48, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4958, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":4954
 *         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":4960
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__49);
    __pyx_r = __pyx_kp_u__49;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":4953
 *     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":4963
 * 
 *     @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], 4963, 0, __PYX_ERR(0, 4963, __pyx_L1_error));

  /* "cuda/cudart.pyx":4964
 *     @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, 4964, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4963
 * 
 *     @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":4966
 *         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], 4966, 0, __PYX_ERR(0, 4966, __pyx_L1_error));

  /* "cuda/cudart.pyx":4967
 *     @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, 4967, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__cfence = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":4968
 *     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, 4968, __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, 4968, __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":4966
 *         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":4970
 *         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], 4970, 0, __PYX_ERR(0, 4970, __pyx_L1_error));

  /* "cuda/cudart.pyx":4971
 *     @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, 4971, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4970
 *         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":4973
 *         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, 4973, __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], 4973, 0, __PYX_ERR(0, 4973, __pyx_L1_error));

  /* "cuda/cudart.pyx":4975
 *     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":4973
 *         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__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._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__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._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":4991
 * 
 *     """
 *     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, 4991, __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, 4991, __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, 4991, __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], 4991, 0, __PYX_ERR(0, 4991, __pyx_L1_error));

  /* "cuda/cudart.pyx":4992
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaExternalSemaphoreSignalParams *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr):
 *         pass
 */
  __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreSignalParams *)__pyx_v__ptr);

  /* "cuda/cudart.pyx":4991
 * 
 *     """
 *     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":4993
 *     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, 4993, __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, 4993, __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, 4993, __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], 4993, 0, __PYX_ERR(0, 4993, __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":4995
 *     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__261)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 4995, 0, __PYX_ERR(0, 4995, __pyx_L1_error));

  /* "cuda/cudart.pyx":4996
 *         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, 4996, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":4995
 *     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":4997
 *     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], 4997, 0, __PYX_ERR(0, 4997, __pyx_L1_error));

  /* "cuda/cudart.pyx":4998
 *         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":4999
 *     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, 4999, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5000
 *         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, 5000, __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, 5000, __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, 5000, __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, 5000, __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, 5000, __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":5001
 *             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__48, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5001, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":4998
 *         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":5003
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__49);
    __pyx_r = __pyx_kp_u__49;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":4997
 *     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":5006
 * 
 *     @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], 5006, 0, __PYX_ERR(0, 5006, __pyx_L1_error));

  /* "cuda/cudart.pyx":5007
 *     @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, 5007, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5006
 * 
 *     @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":5009
 *         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, 5009, __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], 5009, 0, __PYX_ERR(0, 5009, __pyx_L1_error));

  /* "cuda/cudart.pyx":5011
 *     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":5009
 *         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__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_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__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_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":5033
 * 
 *     """
 *     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, 5033, __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, 5033, __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, 5033, __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], 5033, 0, __PYX_ERR(0, 5033, __pyx_L1_error));

  /* "cuda/cudart.pyx":5034
 *     """
 *     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 __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreSignalParams *)__pyx_v__ptr);

  /* "cuda/cudart.pyx":5033
 * 
 *     """
 *     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":5035
 *     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, 5035, __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, 5035, __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, 5035, __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], 5035, 0, __PYX_ERR(0, 5035, __pyx_L1_error));

  /* "cuda/cudart.pyx":5036
 *         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, 5036, __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, 5036, __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, 5036, __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, 5036, __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":5037
 *     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, 5037, __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, 5037, __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, 5037, __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, 5037, __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":5038
 *         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, 5038, __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, 5038, __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, 5038, __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, 5038, __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":5035
 *     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":5039
 *         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__266)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 5039, 0, __PYX_ERR(0, 5039, __pyx_L1_error));

  /* "cuda/cudart.pyx":5040
 *         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, 5040, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5039
 *         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":5041
 *     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_9genexpr32__pyx_v_line = NULL;
  PyObject *__pyx_9genexpr33__pyx_v_line = NULL;
  PyObject *__pyx_9genexpr34__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], 5041, 0, __PYX_ERR(0, 5041, __pyx_L1_error));

  /* "cuda/cudart.pyx":5042
 *         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":5043
 *     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, 5043, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5044
 *         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, 5044, __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, 5044, __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, 5044, __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, 5044, __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, 5044, __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, 5044, __pyx_L6_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__65, __pyx_9genexpr32__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5044, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 5044, __pyx_L6_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_L9_exit_scope;
      __pyx_L6_error:;
      __Pyx_XDECREF(__pyx_9genexpr32__pyx_v_line); __pyx_9genexpr32__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L9_exit_scope:;
    } /* exit inner scope */
    __pyx_t_4 = PyUnicode_Join(__pyx_kp_u__48, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5044, __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, 5044, __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, 5044, __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, 5044, __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":5045
 *             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, 5045, __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, 5045, __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, 5045, __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, 5045, __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, 5045, __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, 5045, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
        __Pyx_XDECREF_SET(__pyx_9genexpr33__pyx_v_line, __pyx_t_4);
        __pyx_t_4 = 0;
        __pyx_t_4 = PyNumber_Add(__pyx_kp_u__65, __pyx_9genexpr33__pyx_v_line); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5045, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_4);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_4))) __PYX_ERR(0, 5045, __pyx_L12_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_9genexpr33__pyx_v_line); __pyx_9genexpr33__pyx_v_line = 0;
      goto __pyx_L15_exit_scope;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_9genexpr33__pyx_v_line); __pyx_9genexpr33__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L15_exit_scope:;
    } /* exit inner scope */
    __pyx_t_3 = PyUnicode_Join(__pyx_kp_u__48, __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_nvSciSync, __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 += ['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, 5046, __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, 5046, __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, 5046, __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, 5046, __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, 5046, __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, 5046, __pyx_L18_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__65, __pyx_9genexpr34__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5046, __pyx_L18_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 5046, __pyx_L18_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_L21_exit_scope;
      __pyx_L18_error:;
      __Pyx_XDECREF(__pyx_9genexpr34__pyx_v_line); __pyx_9genexpr34__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L21_exit_scope:;
    } /* exit inner scope */
    __pyx_t_4 = PyUnicode_Join(__pyx_kp_u__48, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5046, __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, 5046, __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, 5046, __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, 5046, __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":5047
 *             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, 5047, __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, 5047, __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, 5047, __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, 5047, __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, 5047, __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":5048
 *             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__48, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5048, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":5042
 *         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":5050
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__49);
    __pyx_r = __pyx_kp_u__49;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":5041
 *     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_9genexpr32__pyx_v_line);
  __Pyx_XDECREF(__pyx_9genexpr33__pyx_v_line);
  __Pyx_XDECREF(__pyx_9genexpr34__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5053
 * 
 *     @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], 5053, 0, __PYX_ERR(0, 5053, __pyx_L1_error));

  /* "cuda/cudart.pyx":5054
 *     @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":5053
 * 
 *     @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":5056
 *         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, 5056, __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], 5056, 0, __PYX_ERR(0, 5056, __pyx_L1_error));

  /* "cuda/cudart.pyx":5058
 *     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, 5058, __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, 5058, __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, 5058, __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, 5058, __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, 5058, __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, 5058, __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, 5058, __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, 5058, __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":5059
 *         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, 5059, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":5060
 *         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":5059
 *         pass
 *         for _attr in dir(fence):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":5061
 *             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, 5061, __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__66) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__66);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5061, __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, 5061, __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":5062
 *                 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, 5062, __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, 5062, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":5061
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._fence, _attr, getattr(fence, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":5058
 *     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":5056
 *         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":5064
 *                 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], 5064, 0, __PYX_ERR(0, 5064, __pyx_L1_error));

  /* "cuda/cudart.pyx":5065
 *     @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":5064
 *                 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":5067
 *         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, 5067, __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], 5067, 0, __PYX_ERR(0, 5067, __pyx_L1_error));

  /* "cuda/cudart.pyx":5069
 *     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, 5069, __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, 5069, __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, 5069, __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, 5069, __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, 5069, __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, 5069, __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, 5069, __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, 5069, __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":5070
 *         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, 5070, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":5071
 *         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":5070
 *         pass
 *         for _attr in dir(nvSciSync):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":5072
 *             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, 5072, __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__66) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__66);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5072, __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, 5072, __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":5073
 *                 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, 5073, __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, 5073, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":5072
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._nvSciSync, _attr, getattr(nvSciSync, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":5069
 *     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":5067
 *         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":5075
 *                 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], 5075, 0, __PYX_ERR(0, 5075, __pyx_L1_error));

  /* "cuda/cudart.pyx":5076
 *     @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":5075
 *                 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":5078
 *         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, 5078, __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], 5078, 0, __PYX_ERR(0, 5078, __pyx_L1_error));

  /* "cuda/cudart.pyx":5080
 *     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, 5080, __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, 5080, __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, 5080, __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, 5080, __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, 5080, __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, 5080, __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, 5080, __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, 5080, __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":5081
 *         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, 5081, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":5082
 *         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":5081
 *         pass
 *         for _attr in dir(keyedMutex):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":5083
 *             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, 5083, __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__66) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__66);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5083, __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, 5083, __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":5084
 *                 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, 5084, __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, 5084, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":5083
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._keyedMutex, _attr, getattr(keyedMutex, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":5080
 *     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":5078
 *         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":5086
 *                 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], 5086, 0, __PYX_ERR(0, 5086, __pyx_L1_error));

  /* "cuda/cudart.pyx":5087
 *     @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, 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
 *                 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":5089
 *         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], 5089, 0, __PYX_ERR(0, 5089, __pyx_L1_error));

  /* "cuda/cudart.pyx":5091
 *     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, 5091, __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":5089
 *         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__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_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__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_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":5119
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

/* 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, 5119, __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, 5119, __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, 5119, __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;
  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("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 5119, 0, __PYX_ERR(0, 5119, __pyx_L1_error));

  /* "cuda/cudart.pyx":5120
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaExternalSemaphoreSignalParams *>calloc(1, sizeof(ccudart.cudaExternalSemaphoreSignalParams))
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":5121
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr_owner = True             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaExternalSemaphoreSignalParams *>calloc(1, sizeof(ccudart.cudaExternalSemaphoreSignalParams))
 *             if self._ptr is NULL:
 */
    __pyx_v_self->_ptr_owner = 1;

    /* "cuda/cudart.pyx":5122
 *         if _ptr == 0:
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaExternalSemaphoreSignalParams *>calloc(1, sizeof(ccudart.cudaExternalSemaphoreSignalParams))             # <<<<<<<<<<<<<<
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaExternalSemaphoreSignalParams)))
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreSignalParams *)calloc(1, (sizeof(struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreSignalParams))));

    /* "cuda/cudart.pyx":5123
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaExternalSemaphoreSignalParams *>calloc(1, sizeof(ccudart.cudaExternalSemaphoreSignalParams))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaExternalSemaphoreSignalParams)))
 *         else:
 */
    __pyx_t_1 = ((__pyx_v_self->_ptr == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":5124
 *             self._ptr = <ccudart.cudaExternalSemaphoreSignalParams *>calloc(1, sizeof(ccudart.cudaExternalSemaphoreSignalParams))
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaExternalSemaphoreSignalParams)))             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr_owner = False
 */
      __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreSignalParams))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5124, __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, 5124, __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_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5124, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5124, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 5124, __pyx_L1_error)

      /* "cuda/cudart.pyx":5123
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaExternalSemaphoreSignalParams *>calloc(1, sizeof(ccudart.cudaExternalSemaphoreSignalParams))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaExternalSemaphoreSignalParams)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":5120
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaExternalSemaphoreSignalParams *>calloc(1, sizeof(ccudart.cudaExternalSemaphoreSignalParams))
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":5126
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaExternalSemaphoreSignalParams)))
 *         else:
 *             self._ptr_owner = False             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaExternalSemaphoreSignalParams *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 */
  /*else*/ {
    __pyx_v_self->_ptr_owner = 0;

    /* "cuda/cudart.pyx":5127
 *         else:
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaExternalSemaphoreSignalParams *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._params = _cudaExternalSemaphoreSignalParams_params_s(_ptr=<void_ptr>self._ptr)
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreSignalParams *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":5119
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.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":5128
 *             self._ptr_owner = False
 *             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, 5128, __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, 5128, __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, 5128, __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], 5128, 0, __PYX_ERR(0, 5128, __pyx_L1_error));

  /* "cuda/cudart.pyx":5129
 *             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):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5129, __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, 5129, __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, 5129, __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, 5129, __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":5128
 *             self._ptr_owner = False
 *             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":5130
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._params = _cudaExternalSemaphoreSignalParams_params_s(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

/* 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__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalParams *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 5130, 0, __PYX_ERR(0, 5130, __pyx_L1_error));

  /* "cuda/cudart.pyx":5131
 *         self._params = _cudaExternalSemaphoreSignalParams_params_s(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  __pyx_t_2 = ((__pyx_v_self->_ptr_owner == 1) != 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = ((__pyx_v_self->_ptr != NULL) != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":5132
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */
    free(__pyx_v_self->_ptr);

    /* "cuda/cudart.pyx":5131
 *         self._params = _cudaExternalSemaphoreSignalParams_params_s(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  }

  /* "cuda/cudart.pyx":5130
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._params = _cudaExternalSemaphoreSignalParams_params_s(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

  /* 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":5134
 *             free(self._ptr)
 *         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__271)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 5134, 0, __PYX_ERR(0, 5134, __pyx_L1_error));

  /* "cuda/cudart.pyx":5135
 *         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, 5135, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5134
 *             free(self._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.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":5136
 *     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_9genexpr35__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  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], 5136, 0, __PYX_ERR(0, 5136, __pyx_L1_error));

  /* "cuda/cudart.pyx":5137
 *         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":5138
 *     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, 5138, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5139
 *         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, 5139, __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, 5139, __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, 5139, __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, 5139, __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, 5139, __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, 5139, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        #endif
        __Pyx_XDECREF_SET(__pyx_9genexpr35__pyx_v_line, __pyx_t_3);
        __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_kp_u__65, __pyx_9genexpr35__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5139, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 5139, __pyx_L6_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_9genexpr35__pyx_v_line); __pyx_9genexpr35__pyx_v_line = 0;
      goto __pyx_L9_exit_scope;
      __pyx_L6_error:;
      __Pyx_XDECREF(__pyx_9genexpr35__pyx_v_line); __pyx_9genexpr35__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L9_exit_scope:;
    } /* exit inner scope */
    __pyx_t_4 = PyUnicode_Join(__pyx_kp_u__48, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5139, __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, 5139, __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, 5139, __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, 5139, __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":5140
 *             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, 5140, __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, 5140, __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, 5140, __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, 5140, __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, 5140, __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":5141
 *             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, 5141, __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, 5141, __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, 5141, __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, 5141, __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, 5141, __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":5142
 *             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__48, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5142, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":5137
 *         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":5144
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__49);
    __pyx_r = __pyx_kp_u__49;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":5136
 *     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_9genexpr35__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5147
 * 
 *     @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], 5147, 0, __PYX_ERR(0, 5147, __pyx_L1_error));

  /* "cuda/cudart.pyx":5148
 *     @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":5147
 * 
 *     @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":5150
 *         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, 5150, __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], 5150, 0, __PYX_ERR(0, 5150, __pyx_L1_error));

  /* "cuda/cudart.pyx":5152
 *     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, 5152, __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, 5152, __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, 5152, __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, 5152, __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, 5152, __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, 5152, __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, 5152, __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, 5152, __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":5153
 *         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, 5153, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":5154
 *         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":5153
 *         pass
 *         for _attr in dir(params):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":5155
 *             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, 5155, __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__66) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__66);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5155, __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, 5155, __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":5156
 *                 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, 5156, __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, 5156, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":5155
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._params, _attr, getattr(params, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":5152
 *     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":5150
 *         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":5158
 *                 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], 5158, 0, __PYX_ERR(0, 5158, __pyx_L1_error));

  /* "cuda/cudart.pyx":5159
 *     @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, 5159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5158
 *                 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":5161
 *         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, 5161, __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], 5161, 0, __PYX_ERR(0, 5161, __pyx_L1_error));

  /* "cuda/cudart.pyx":5163
 *     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":5161
 *         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":5165
 *         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], 5165, 0, __PYX_ERR(0, 5165, __pyx_L1_error));

  /* "cuda/cudart.pyx":5166
 *     @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, 5166, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5165
 *         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":5168
 *         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], 5168, 0, __PYX_ERR(0, 5168, __pyx_L1_error));

  /* "cuda/cudart.pyx":5170
 *     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, 5170, __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":5168
 *         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__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.__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__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.__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):             # <<<<<<<<<<<<<<
 *         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, 5186, __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, 5186, __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, 5186, __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], 5186, 0, __PYX_ERR(0, 5186, __pyx_L1_error));

  /* "cuda/cudart.pyx":5187
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaExternalSemaphoreWaitParams *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr):
 *         pass
 */
  __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreWaitParams *)__pyx_v__ptr);

  /* "cuda/cudart.pyx":5186
 * 
 *     """
 *     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":5188
 *     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, 5188, __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, 5188, __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, 5188, __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], 5188, 0, __PYX_ERR(0, 5188, __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":5190
 *     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__276)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 5190, 0, __PYX_ERR(0, 5190, __pyx_L1_error));

  /* "cuda/cudart.pyx":5191
 *         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, 5191, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5190
 *     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":5192
 *     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], 5192, 0, __PYX_ERR(0, 5192, __pyx_L1_error));

  /* "cuda/cudart.pyx":5193
 *         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":5194
 *     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, 5194, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5195
 *         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, 5195, __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, 5195, __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, 5195, __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, 5195, __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, 5195, __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":5196
 *             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__48, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5196, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":5193
 *         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":5198
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__49);
    __pyx_r = __pyx_kp_u__49;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":5192
 *     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":5201
 * 
 *     @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], 5201, 0, __PYX_ERR(0, 5201, __pyx_L1_error));

  /* "cuda/cudart.pyx":5202
 *     @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, 5202, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5201
 * 
 *     @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":5204
 *         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, 5204, __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], 5204, 0, __PYX_ERR(0, 5204, __pyx_L1_error));

  /* "cuda/cudart.pyx":5206
 *     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":5204
 *         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__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._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__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._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":5224
 * 
 *     """
 *     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, 5224, __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, 5224, __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, 5224, __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], 5224, 0, __PYX_ERR(0, 5224, __pyx_L1_error));

  /* "cuda/cudart.pyx":5225
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaExternalSemaphoreWaitParams *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr):
 *         pass
 */
  __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreWaitParams *)__pyx_v__ptr);

  /* "cuda/cudart.pyx":5224
 * 
 *     """
 *     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":5226
 *     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, 5226, __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, 5226, __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, 5226, __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], 5226, 0, __PYX_ERR(0, 5226, __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":5228
 *     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__281)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 5228, 0, __PYX_ERR(0, 5228, __pyx_L1_error));

  /* "cuda/cudart.pyx":5229
 *         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, 5229, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5228
 *     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":5230
 *     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], 5230, 0, __PYX_ERR(0, 5230, __pyx_L1_error));

  /* "cuda/cudart.pyx":5231
 *         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":5232
 *     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, 5232, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5233
 *         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, 5233, __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, 5233, __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, 5233, __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, 5233, __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, 5233, __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":5234
 *             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, 5234, __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, 5234, __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, 5234, __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, 5234, __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, 5234, __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":5235
 *             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__48, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5235, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":5231
 *         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":5237
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__49);
    __pyx_r = __pyx_kp_u__49;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":5230
 *     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":5240
 * 
 *     @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], 5240, 0, __PYX_ERR(0, 5240, __pyx_L1_error));

  /* "cuda/cudart.pyx":5241
 *     @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, 5241, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5240
 * 
 *     @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":5243
 *         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], 5243, 0, __PYX_ERR(0, 5243, __pyx_L1_error));

  /* "cuda/cudart.pyx":5244
 *     @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, 5244, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__cfence = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":5245
 *     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, 5245, __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, 5245, __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":5243
 *         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":5247
 *         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], 5247, 0, __PYX_ERR(0, 5247, __pyx_L1_error));

  /* "cuda/cudart.pyx":5248
 *     @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, 5248, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5247
 *         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":5250
 *         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, 5250, __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], 5250, 0, __PYX_ERR(0, 5250, __pyx_L1_error));

  /* "cuda/cudart.pyx":5252
 *     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":5250
 *         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__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._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__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._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":5270
 * 
 *     """
 *     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, 5270, __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, 5270, __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, 5270, __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], 5270, 0, __PYX_ERR(0, 5270, __pyx_L1_error));

  /* "cuda/cudart.pyx":5271
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccudart.cudaExternalSemaphoreWaitParams *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr):
 *         pass
 */
  __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreWaitParams *)__pyx_v__ptr);

  /* "cuda/cudart.pyx":5270
 * 
 *     """
 *     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":5272
 *     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, 5272, __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, 5272, __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, 5272, __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], 5272, 0, __PYX_ERR(0, 5272, __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":5274
 *     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__286)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 5274, 0, __PYX_ERR(0, 5274, __pyx_L1_error));

  /* "cuda/cudart.pyx":5275
 *         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, 5275, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5274
 *     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":5276
 *     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], 5276, 0, __PYX_ERR(0, 5276, __pyx_L1_error));

  /* "cuda/cudart.pyx":5277
 *         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":5278
 *     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, 5278, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5279
 *         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, 5279, __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, 5279, __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, 5279, __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, 5279, __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, 5279, __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":5280
 *             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, 5280, __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, 5280, __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, 5280, __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, 5280, __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, 5280, __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":5281
 *             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__48, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5281, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":5277
 *         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":5283
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__49);
    __pyx_r = __pyx_kp_u__49;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":5276
 *     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":5286
 * 
 *     @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], 5286, 0, __PYX_ERR(0, 5286, __pyx_L1_error));

  /* "cuda/cudart.pyx":5287
 *     @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, 5287, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5286
 * 
 *     @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":5289
 *         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, 5289, __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], 5289, 0, __PYX_ERR(0, 5289, __pyx_L1_error));

  /* "cuda/cudart.pyx":5291
 *     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":5289
 *         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":5293
 *         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], 5293, 0, __PYX_ERR(0, 5293, __pyx_L1_error));

  /* "cuda/cudart.pyx":5294
 *     @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, 5294, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5293
 *         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":5296
 *         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, 5296, __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], 5296, 0, __PYX_ERR(0, 5296, __pyx_L1_error));

  /* "cuda/cudart.pyx":5298
 *     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":5296
 *         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__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_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__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_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":5320
 * 
 *     """
 *     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, 5320, __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, 5320, __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, 5320, __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], 5320, 0, __PYX_ERR(0, 5320, __pyx_L1_error));

  /* "cuda/cudart.pyx":5321
 *     """
 *     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 __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreWaitParams *)__pyx_v__ptr);

  /* "cuda/cudart.pyx":5320
 * 
 *     """
 *     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":5322
 *     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, 5322, __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, 5322, __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, 5322, __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], 5322, 0, __PYX_ERR(0, 5322, __pyx_L1_error));

  /* "cuda/cudart.pyx":5323
 *         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, 5323, __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, 5323, __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, 5323, __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, 5323, __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":5324
 *     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, 5324, __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, 5324, __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, 5324, __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, 5324, __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":5325
 *         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, 5325, __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, 5325, __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, 5325, __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, 5325, __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":5322
 *     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":5326
 *         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__291)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 5326, 0, __PYX_ERR(0, 5326, __pyx_L1_error));

  /* "cuda/cudart.pyx":5327
 *         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, 5327, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5326
 *         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":5328
 *     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_9genexpr36__pyx_v_line = NULL;
  PyObject *__pyx_9genexpr37__pyx_v_line = NULL;
  PyObject *__pyx_9genexpr38__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  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], 5328, 0, __PYX_ERR(0, 5328, __pyx_L1_error));

  /* "cuda/cudart.pyx":5329
 *         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":5330
 *     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, 5330, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5331
 *         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, 5331, __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, 5331, __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, 5331, __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, 5331, __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, 5331, __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, 5331, __pyx_L6_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__65, __pyx_9genexpr36__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5331, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 5331, __pyx_L6_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_L9_exit_scope;
      __pyx_L6_error:;
      __Pyx_XDECREF(__pyx_9genexpr36__pyx_v_line); __pyx_9genexpr36__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L9_exit_scope:;
    } /* exit inner scope */
    __pyx_t_4 = PyUnicode_Join(__pyx_kp_u__48, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5331, __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, 5331, __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, 5331, __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, 5331, __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":5332
 *             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, 5332, __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, 5332, __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, 5332, __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, 5332, __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, 5332, __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, 5332, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
        __Pyx_XDECREF_SET(__pyx_9genexpr37__pyx_v_line, __pyx_t_4);
        __pyx_t_4 = 0;
        __pyx_t_4 = PyNumber_Add(__pyx_kp_u__65, __pyx_9genexpr37__pyx_v_line); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5332, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_4);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_4))) __PYX_ERR(0, 5332, __pyx_L12_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_9genexpr37__pyx_v_line); __pyx_9genexpr37__pyx_v_line = 0;
      goto __pyx_L15_exit_scope;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_9genexpr37__pyx_v_line); __pyx_9genexpr37__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L15_exit_scope:;
    } /* exit inner scope */
    __pyx_t_3 = PyUnicode_Join(__pyx_kp_u__48, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5332, __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, 5332, __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, 5332, __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, 5332, __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":5333
 *             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, 5333, __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, 5333, __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, 5333, __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, 5333, __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, 5333, __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, 5333, __pyx_L18_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__65, __pyx_9genexpr38__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5333, __pyx_L18_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 5333, __pyx_L18_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_L21_exit_scope;
      __pyx_L18_error:;
      __Pyx_XDECREF(__pyx_9genexpr38__pyx_v_line); __pyx_9genexpr38__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L21_exit_scope:;
    } /* exit inner scope */
    __pyx_t_4 = PyUnicode_Join(__pyx_kp_u__48, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5333, __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, 5333, __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, 5333, __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, 5333, __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":5334
 *             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, 5334, __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, 5334, __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, 5334, __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, 5334, __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, 5334, __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":5335
 *             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__48, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5335, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":5329
 *         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":5337
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__49);
    __pyx_r = __pyx_kp_u__49;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":5328
 *     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_9genexpr36__pyx_v_line);
  __Pyx_XDECREF(__pyx_9genexpr37__pyx_v_line);
  __Pyx_XDECREF(__pyx_9genexpr38__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5340
 * 
 *     @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], 5340, 0, __PYX_ERR(0, 5340, __pyx_L1_error));

  /* "cuda/cudart.pyx":5341
 *     @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":5340
 * 
 *     @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":5343
 *         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, 5343, __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], 5343, 0, __PYX_ERR(0, 5343, __pyx_L1_error));

  /* "cuda/cudart.pyx":5345
 *     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, 5345, __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, 5345, __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, 5345, __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, 5345, __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, 5345, __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, 5345, __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, 5345, __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, 5345, __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":5346
 *         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, 5346, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":5347
 *         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":5346
 *         pass
 *         for _attr in dir(fence):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":5348
 *             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, 5348, __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__66) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__66);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5348, __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, 5348, __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":5349
 *                 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, 5349, __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, 5349, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":5348
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._fence, _attr, getattr(fence, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":5345
 *     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":5343
 *         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":5351
 *                 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], 5351, 0, __PYX_ERR(0, 5351, __pyx_L1_error));

  /* "cuda/cudart.pyx":5352
 *     @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":5351
 *                 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":5354
 *         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, 5354, __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], 5354, 0, __PYX_ERR(0, 5354, __pyx_L1_error));

  /* "cuda/cudart.pyx":5356
 *     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, 5356, __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, 5356, __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, 5356, __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, 5356, __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, 5356, __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, 5356, __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, 5356, __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, 5356, __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":5357
 *         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, 5357, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":5358
 *         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":5357
 *         pass
 *         for _attr in dir(nvSciSync):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":5359
 *             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, 5359, __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__66) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__66);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5359, __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, 5359, __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":5360
 *                 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, 5360, __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, 5360, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":5359
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._nvSciSync, _attr, getattr(nvSciSync, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":5356
 *     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":5354
 *         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":5362
 *                 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], 5362, 0, __PYX_ERR(0, 5362, __pyx_L1_error));

  /* "cuda/cudart.pyx":5363
 *     @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":5362
 *                 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":5365
 *         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, 5365, __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], 5365, 0, __PYX_ERR(0, 5365, __pyx_L1_error));

  /* "cuda/cudart.pyx":5367
 *     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, 5367, __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, 5367, __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, 5367, __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, 5367, __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, 5367, __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, 5367, __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, 5367, __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, 5367, __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":5368
 *         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, 5368, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":5369
 *         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":5368
 *         pass
 *         for _attr in dir(keyedMutex):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":5370
 *             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, 5370, __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__66) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__66);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5370, __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, 5370, __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":5371
 *                 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, 5371, __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, 5371, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":5370
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._keyedMutex, _attr, getattr(keyedMutex, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":5367
 *     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":5365
 *         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":5373
 *                 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], 5373, 0, __PYX_ERR(0, 5373, __pyx_L1_error));

  /* "cuda/cudart.pyx":5374
 *     @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, 5374, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5373
 *                 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":5376
 *         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], 5376, 0, __PYX_ERR(0, 5376, __pyx_L1_error));

  /* "cuda/cudart.pyx":5378
 *     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, 5378, __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":5376
 *         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__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_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__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_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":5406
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

/* 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, 5406, __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, 5406, __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, 5406, __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;
  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("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 5406, 0, __PYX_ERR(0, 5406, __pyx_L1_error));

  /* "cuda/cudart.pyx":5407
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaExternalSemaphoreWaitParams *>calloc(1, sizeof(ccudart.cudaExternalSemaphoreWaitParams))
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":5408
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr_owner = True             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaExternalSemaphoreWaitParams *>calloc(1, sizeof(ccudart.cudaExternalSemaphoreWaitParams))
 *             if self._ptr is NULL:
 */
    __pyx_v_self->_ptr_owner = 1;

    /* "cuda/cudart.pyx":5409
 *         if _ptr == 0:
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaExternalSemaphoreWaitParams *>calloc(1, sizeof(ccudart.cudaExternalSemaphoreWaitParams))             # <<<<<<<<<<<<<<
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaExternalSemaphoreWaitParams)))
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreWaitParams *)calloc(1, (sizeof(struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreWaitParams))));

    /* "cuda/cudart.pyx":5410
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaExternalSemaphoreWaitParams *>calloc(1, sizeof(ccudart.cudaExternalSemaphoreWaitParams))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaExternalSemaphoreWaitParams)))
 *         else:
 */
    __pyx_t_1 = ((__pyx_v_self->_ptr == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":5411
 *             self._ptr = <ccudart.cudaExternalSemaphoreWaitParams *>calloc(1, sizeof(ccudart.cudaExternalSemaphoreWaitParams))
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaExternalSemaphoreWaitParams)))             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr_owner = False
 */
      __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreWaitParams))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5411, __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, 5411, __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_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5411, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5411, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 5411, __pyx_L1_error)

      /* "cuda/cudart.pyx":5410
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaExternalSemaphoreWaitParams *>calloc(1, sizeof(ccudart.cudaExternalSemaphoreWaitParams))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaExternalSemaphoreWaitParams)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":5407
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaExternalSemaphoreWaitParams *>calloc(1, sizeof(ccudart.cudaExternalSemaphoreWaitParams))
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":5413
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaExternalSemaphoreWaitParams)))
 *         else:
 *             self._ptr_owner = False             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaExternalSemaphoreWaitParams *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 */
  /*else*/ {
    __pyx_v_self->_ptr_owner = 0;

    /* "cuda/cudart.pyx":5414
 *         else:
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaExternalSemaphoreWaitParams *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._params = _cudaExternalSemaphoreWaitParams_params_s(_ptr=<void_ptr>self._ptr)
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreWaitParams *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":5406
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.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":5415
 *             self._ptr_owner = False
 *             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, 5415, __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, 5415, __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, 5415, __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], 5415, 0, __PYX_ERR(0, 5415, __pyx_L1_error));

  /* "cuda/cudart.pyx":5416
 *             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):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5416, __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, 5416, __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, 5416, __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, 5416, __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":5415
 *             self._ptr_owner = False
 *             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":5417
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._params = _cudaExternalSemaphoreWaitParams_params_s(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

/* 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__(struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitParams *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 5417, 0, __PYX_ERR(0, 5417, __pyx_L1_error));

  /* "cuda/cudart.pyx":5418
 *         self._params = _cudaExternalSemaphoreWaitParams_params_s(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  __pyx_t_2 = ((__pyx_v_self->_ptr_owner == 1) != 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = ((__pyx_v_self->_ptr != NULL) != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":5419
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */
    free(__pyx_v_self->_ptr);

    /* "cuda/cudart.pyx":5418
 *         self._params = _cudaExternalSemaphoreWaitParams_params_s(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  }

  /* "cuda/cudart.pyx":5417
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._params = _cudaExternalSemaphoreWaitParams_params_s(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

  /* 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":5421
 *             free(self._ptr)
 *         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__296)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 5421, 0, __PYX_ERR(0, 5421, __pyx_L1_error));

  /* "cuda/cudart.pyx":5422
 *         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, 5422, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5421
 *             free(self._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.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":5423
 *     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_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], 5423, 0, __PYX_ERR(0, 5423, __pyx_L1_error));

  /* "cuda/cudart.pyx":5424
 *         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":5425
 *     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, 5425, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5426
 *         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, 5426, __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, 5426, __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, 5426, __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, 5426, __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, 5426, __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, 5426, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        #endif
        __Pyx_XDECREF_SET(__pyx_9genexpr39__pyx_v_line, __pyx_t_3);
        __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_kp_u__65, __pyx_9genexpr39__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5426, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 5426, __pyx_L6_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_9genexpr39__pyx_v_line); __pyx_9genexpr39__pyx_v_line = 0;
      goto __pyx_L9_exit_scope;
      __pyx_L6_error:;
      __Pyx_XDECREF(__pyx_9genexpr39__pyx_v_line); __pyx_9genexpr39__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L9_exit_scope:;
    } /* exit inner scope */
    __pyx_t_4 = PyUnicode_Join(__pyx_kp_u__48, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5426, __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, 5426, __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, 5426, __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, 5426, __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":5427
 *             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, 5427, __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, 5427, __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, 5427, __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, 5427, __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, 5427, __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":5428
 *             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, 5428, __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, 5428, __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, 5428, __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, 5428, __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, 5428, __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":5429
 *             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__48, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5429, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":5424
 *         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":5431
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__49);
    __pyx_r = __pyx_kp_u__49;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":5423
 *     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_9genexpr39__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5434
 * 
 *     @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], 5434, 0, __PYX_ERR(0, 5434, __pyx_L1_error));

  /* "cuda/cudart.pyx":5435
 *     @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":5434
 * 
 *     @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":5437
 *         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, 5437, __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], 5437, 0, __PYX_ERR(0, 5437, __pyx_L1_error));

  /* "cuda/cudart.pyx":5439
 *     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, 5439, __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, 5439, __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, 5439, __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, 5439, __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, 5439, __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, 5439, __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, 5439, __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, 5439, __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":5440
 *         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, 5440, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":5441
 *         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":5440
 *         pass
 *         for _attr in dir(params):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":5442
 *             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, 5442, __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__66) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__66);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5442, __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, 5442, __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":5443
 *                 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, 5443, __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, 5443, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":5442
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._params, _attr, getattr(params, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":5439
 *     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":5437
 *         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":5445
 *                 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], 5445, 0, __PYX_ERR(0, 5445, __pyx_L1_error));

  /* "cuda/cudart.pyx":5446
 *     @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, 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
 *                 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":5448
 *         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, 5448, __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], 5448, 0, __PYX_ERR(0, 5448, __pyx_L1_error));

  /* "cuda/cudart.pyx":5450
 *     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":5448
 *         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":5452
 *         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], 5452, 0, __PYX_ERR(0, 5452, __pyx_L1_error));

  /* "cuda/cudart.pyx":5453
 *     @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, 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].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":5455
 *         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], 5455, 0, __PYX_ERR(0, 5455, __pyx_L1_error));

  /* "cuda/cudart.pyx":5457
 *     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, 5457, __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":5455
 *         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__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.__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__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.__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":5484
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

/* 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, 5484, __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, 5484, __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, 5484, __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;
  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("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 5484, 0, __PYX_ERR(0, 5484, __pyx_L1_error));

  /* "cuda/cudart.pyx":5485
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaKernelNodeParams *>calloc(1, sizeof(ccudart.cudaKernelNodeParams))
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":5486
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr_owner = True             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaKernelNodeParams *>calloc(1, sizeof(ccudart.cudaKernelNodeParams))
 *             if self._ptr is NULL:
 */
    __pyx_v_self->_ptr_owner = 1;

    /* "cuda/cudart.pyx":5487
 *         if _ptr == 0:
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaKernelNodeParams *>calloc(1, sizeof(ccudart.cudaKernelNodeParams))             # <<<<<<<<<<<<<<
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaKernelNodeParams)))
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaKernelNodeParams *)calloc(1, (sizeof(struct __pyx_t_4cuda_7ccudart_cudaKernelNodeParams))));

    /* "cuda/cudart.pyx":5488
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaKernelNodeParams *>calloc(1, sizeof(ccudart.cudaKernelNodeParams))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaKernelNodeParams)))
 *         else:
 */
    __pyx_t_1 = ((__pyx_v_self->_ptr == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":5489
 *             self._ptr = <ccudart.cudaKernelNodeParams *>calloc(1, sizeof(ccudart.cudaKernelNodeParams))
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaKernelNodeParams)))             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr_owner = False
 */
      __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(struct __pyx_t_4cuda_7ccudart_cudaKernelNodeParams))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5489, __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, 5489, __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_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5489, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5489, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 5489, __pyx_L1_error)

      /* "cuda/cudart.pyx":5488
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaKernelNodeParams *>calloc(1, sizeof(ccudart.cudaKernelNodeParams))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaKernelNodeParams)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":5485
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaKernelNodeParams *>calloc(1, sizeof(ccudart.cudaKernelNodeParams))
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":5491
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaKernelNodeParams)))
 *         else:
 *             self._ptr_owner = False             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaKernelNodeParams *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 */
  /*else*/ {
    __pyx_v_self->_ptr_owner = 0;

    /* "cuda/cudart.pyx":5492
 *         else:
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaKernelNodeParams *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._gridDim = dim3(_ptr=<void_ptr>&self._ptr[0].gridDim)
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaKernelNodeParams *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":5484
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.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":5493
 *             self._ptr_owner = False
 *             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, 5493, __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, 5493, __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, 5493, __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], 5493, 0, __PYX_ERR(0, 5493, __pyx_L1_error));

  /* "cuda/cudart.pyx":5494
 *             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, 5494, __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, 5494, __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, 5494, __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, 5494, __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":5495
 *     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):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5495, __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, 5495, __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, 5495, __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, 5495, __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":5493
 *             self._ptr_owner = False
 *             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":5496
 *         self._gridDim = dim3(_ptr=<void_ptr>&self._ptr[0].gridDim)
 *         self._blockDim = dim3(_ptr=<void_ptr>&self._ptr[0].blockDim)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

/* 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__(struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 5496, 0, __PYX_ERR(0, 5496, __pyx_L1_error));

  /* "cuda/cudart.pyx":5497
 *         self._blockDim = dim3(_ptr=<void_ptr>&self._ptr[0].blockDim)
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  __pyx_t_2 = ((__pyx_v_self->_ptr_owner == 1) != 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = ((__pyx_v_self->_ptr != NULL) != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":5498
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */
    free(__pyx_v_self->_ptr);

    /* "cuda/cudart.pyx":5497
 *         self._blockDim = dim3(_ptr=<void_ptr>&self._ptr[0].blockDim)
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  }

  /* "cuda/cudart.pyx":5496
 *         self._gridDim = dim3(_ptr=<void_ptr>&self._ptr[0].gridDim)
 *         self._blockDim = dim3(_ptr=<void_ptr>&self._ptr[0].blockDim)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

  /* 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":5500
 *             free(self._ptr)
 *         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__301)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 5500, 0, __PYX_ERR(0, 5500, __pyx_L1_error));

  /* "cuda/cudart.pyx":5501
 *         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, 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
 *             free(self._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.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":5502
 *     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_9genexpr40__pyx_v_line = NULL;
  PyObject *__pyx_9genexpr41__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], 5502, 0, __PYX_ERR(0, 5502, __pyx_L1_error));

  /* "cuda/cudart.pyx":5503
 *         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":5504
 *     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, 5504, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5505
 *         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, 5505, __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, 5505, __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, 5505, __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, 5505, __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, 5505, __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":5506
 *             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, 5506, __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, 5506, __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, 5506, __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, 5506, __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, 5506, __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, 5506, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        #endif
        __Pyx_XDECREF_SET(__pyx_9genexpr40__pyx_v_line, __pyx_t_3);
        __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_kp_u__65, __pyx_9genexpr40__pyx_v_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5506, __pyx_L6_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 5506, __pyx_L6_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_9genexpr40__pyx_v_line); __pyx_9genexpr40__pyx_v_line = 0;
      goto __pyx_L9_exit_scope;
      __pyx_L6_error:;
      __Pyx_XDECREF(__pyx_9genexpr40__pyx_v_line); __pyx_9genexpr40__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L9_exit_scope:;
    } /* exit inner scope */
    __pyx_t_4 = PyUnicode_Join(__pyx_kp_u__48, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5506, __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, 5506, __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, 5506, __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, 5506, __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":5507
 *             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, 5507, __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, 5507, __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, 5507, __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, 5507, __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, 5507, __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, 5507, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
        __Pyx_XDECREF_SET(__pyx_9genexpr41__pyx_v_line, __pyx_t_4);
        __pyx_t_4 = 0;
        __pyx_t_4 = PyNumber_Add(__pyx_kp_u__65, __pyx_9genexpr41__pyx_v_line); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5507, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_4);
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_4))) __PYX_ERR(0, 5507, __pyx_L12_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_9genexpr41__pyx_v_line); __pyx_9genexpr41__pyx_v_line = 0;
      goto __pyx_L15_exit_scope;
      __pyx_L12_error:;
      __Pyx_XDECREF(__pyx_9genexpr41__pyx_v_line); __pyx_9genexpr41__pyx_v_line = 0;
      goto __pyx_L1_error;
      __pyx_L15_exit_scope:;
    } /* exit inner scope */
    __pyx_t_3 = PyUnicode_Join(__pyx_kp_u__48, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5507, __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, 5507, __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, 5507, __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, 5507, __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":5508
 *             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, 5508, __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, 5508, __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, 5508, __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, 5508, __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, 5508, __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":5509
 *             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, 5509, __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, 5509, __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, 5509, __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, 5509, __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, 5509, __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":5510
 *             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, 5510, __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, 5510, __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, 5510, __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, 5510, __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, 5510, __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":5511
 *             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__48, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5511, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":5503
 *         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":5513
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__49);
    __pyx_r = __pyx_kp_u__49;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":5502
 *     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_9genexpr40__pyx_v_line);
  __Pyx_XDECREF(__pyx_9genexpr41__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5516
 * 
 *     @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], 5516, 0, __PYX_ERR(0, 5516, __pyx_L1_error));

  /* "cuda/cudart.pyx":5517
 *     @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, 5517, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5516
 * 
 *     @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":5519
 *         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], 5519, 0, __PYX_ERR(0, 5519, __pyx_L1_error));

  /* "cuda/cudart.pyx":5520
 *     @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, 5520, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__cfunc = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":5521
 *     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, 5521, __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, 5521, __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":5519
 *         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":5523
 *         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], 5523, 0, __PYX_ERR(0, 5523, __pyx_L1_error));

  /* "cuda/cudart.pyx":5524
 *     @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":5523
 *         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":5526
 *         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, 5526, __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], 5526, 0, __PYX_ERR(0, 5526, __pyx_L1_error));

  /* "cuda/cudart.pyx":5528
 *     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, 5528, __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, 5528, __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, 5528, __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, 5528, __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, 5528, __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, 5528, __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, 5528, __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, 5528, __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":5529
 *         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, 5529, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":5530
 *         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":5529
 *         pass
 *         for _attr in dir(gridDim):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":5531
 *             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, 5531, __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__66) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__66);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5531, __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, 5531, __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":5532
 *                 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, 5532, __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, 5532, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":5531
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._gridDim, _attr, getattr(gridDim, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":5528
 *     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":5526
 *         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":5534
 *                 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], 5534, 0, __PYX_ERR(0, 5534, __pyx_L1_error));

  /* "cuda/cudart.pyx":5535
 *     @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":5534
 *                 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":5537
 *         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, 5537, __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], 5537, 0, __PYX_ERR(0, 5537, __pyx_L1_error));

  /* "cuda/cudart.pyx":5539
 *     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, 5539, __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, 5539, __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, 5539, __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, 5539, __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, 5539, __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, 5539, __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, 5539, __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, 5539, __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":5540
 *         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, 5540, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "cuda/cudart.pyx":5541
 *         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":5540
 *         pass
 *         for _attr in dir(blockDim):
 *             if _attr == 'getPtr':             # <<<<<<<<<<<<<<
 *                 continue
 *             if not _attr.startswith('_'):
 */
    }

    /* "cuda/cudart.pyx":5542
 *             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, 5542, __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__66) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_u__66);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5542, __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, 5542, __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":5543
 *                 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, 5543, __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, 5543, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "cuda/cudart.pyx":5542
 *             if _attr == 'getPtr':
 *                 continue
 *             if not _attr.startswith('_'):             # <<<<<<<<<<<<<<
 *                 setattr(self._blockDim, _attr, getattr(blockDim, _attr))
 *     @property
 */
    }

    /* "cuda/cudart.pyx":5539
 *     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":5537
 *         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":5545
 *                 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], 5545, 0, __PYX_ERR(0, 5545, __pyx_L1_error));

  /* "cuda/cudart.pyx":5546
 *     @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, 5546, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5545
 *                 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":5548
 *         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, 5548, __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], 5548, 0, __PYX_ERR(0, 5548, __pyx_L1_error));

  /* "cuda/cudart.pyx":5550
 *     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":5548
 *         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":5552
 *         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], 5552, 0, __PYX_ERR(0, 5552, __pyx_L1_error));

  /* "cuda/cudart.pyx":5553
 *     @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, 5553, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5552
 *         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":5555
 *         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], 5555, 0, __PYX_ERR(0, 5555, __pyx_L1_error));

  /* "cuda/cudart.pyx":5556
 *     @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, 5556, __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":5557
 *     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, 5557, __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, 5557, __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":5555
 *         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":5559
 *         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], 5559, 0, __PYX_ERR(0, 5559, __pyx_L1_error));

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

  /* "cuda/cudart.pyx":5559
 *         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":5562
 *         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, 5562, __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], 5562, 0, __PYX_ERR(0, 5562, __pyx_L1_error));

  /* "cuda/cudart.pyx":5563
 *     @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":5562
 *         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__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.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__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.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":5585
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

/* 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, 5585, __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, 5585, __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, 5585, __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;
  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("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 5585, 0, __PYX_ERR(0, 5585, __pyx_L1_error));

  /* "cuda/cudart.pyx":5586
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaExternalSemaphoreSignalNodeParams *>calloc(1, sizeof(ccudart.cudaExternalSemaphoreSignalNodeParams))
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":5587
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr_owner = True             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaExternalSemaphoreSignalNodeParams *>calloc(1, sizeof(ccudart.cudaExternalSemaphoreSignalNodeParams))
 *             if self._ptr is NULL:
 */
    __pyx_v_self->_ptr_owner = 1;

    /* "cuda/cudart.pyx":5588
 *         if _ptr == 0:
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaExternalSemaphoreSignalNodeParams *>calloc(1, sizeof(ccudart.cudaExternalSemaphoreSignalNodeParams))             # <<<<<<<<<<<<<<
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaExternalSemaphoreSignalNodeParams)))
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreSignalNodeParams *)calloc(1, (sizeof(struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreSignalNodeParams))));

    /* "cuda/cudart.pyx":5589
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaExternalSemaphoreSignalNodeParams *>calloc(1, sizeof(ccudart.cudaExternalSemaphoreSignalNodeParams))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaExternalSemaphoreSignalNodeParams)))
 *         else:
 */
    __pyx_t_1 = ((__pyx_v_self->_ptr == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":5590
 *             self._ptr = <ccudart.cudaExternalSemaphoreSignalNodeParams *>calloc(1, sizeof(ccudart.cudaExternalSemaphoreSignalNodeParams))
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaExternalSemaphoreSignalNodeParams)))             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr_owner = False
 */
      __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreSignalNodeParams))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5590, __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, 5590, __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_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5590, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5590, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 5590, __pyx_L1_error)

      /* "cuda/cudart.pyx":5589
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaExternalSemaphoreSignalNodeParams *>calloc(1, sizeof(ccudart.cudaExternalSemaphoreSignalNodeParams))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaExternalSemaphoreSignalNodeParams)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":5586
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaExternalSemaphoreSignalNodeParams *>calloc(1, sizeof(ccudart.cudaExternalSemaphoreSignalNodeParams))
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":5592
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaExternalSemaphoreSignalNodeParams)))
 *         else:
 *             self._ptr_owner = False             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaExternalSemaphoreSignalNodeParams *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 */
  /*else*/ {
    __pyx_v_self->_ptr_owner = 0;

    /* "cuda/cudart.pyx":5593
 *         else:
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaExternalSemaphoreSignalNodeParams *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreSignalNodeParams *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":5585
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.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":5594
 *             self._ptr_owner = False
 *             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, 5594, __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, 5594, __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, 5594, __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], 5594, 0, __PYX_ERR(0, 5594, __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":5596
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

/* 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_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 5596, 0, __PYX_ERR(0, 5596, __pyx_L1_error));

  /* "cuda/cudart.pyx":5597
 *         pass
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         if self._extSemArray is not NULL:
 */
  __pyx_t_2 = ((__pyx_v_self->_ptr_owner == 1) != 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = ((__pyx_v_self->_ptr != NULL) != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":5598
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)             # <<<<<<<<<<<<<<
 *         if self._extSemArray is not NULL:
 *             free(self._extSemArray)
 */
    free(__pyx_v_self->_ptr);

    /* "cuda/cudart.pyx":5597
 *         pass
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         if self._extSemArray is not NULL:
 */
  }

  /* "cuda/cudart.pyx":5599
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 *         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":5600
 *             free(self._ptr)
 *         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":5599
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 *         if self._extSemArray is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._extSemArray)
 *         if self._paramsArray is not NULL:
 */
  }

  /* "cuda/cudart.pyx":5601
 *         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":5602
 *             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":5601
 *         if self._extSemArray is not NULL:
 *             free(self._extSemArray)
 *         if self._paramsArray is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._paramsArray)
 *     def getPtr(self):
 */
  }

  /* "cuda/cudart.pyx":5596
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

  /* 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":5603
 *         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__306)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 5603, 0, __PYX_ERR(0, 5603, __pyx_L1_error));

  /* "cuda/cudart.pyx":5604
 *             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, 5604, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5603
 *         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":5605
 *     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], 5605, 0, __PYX_ERR(0, 5605, __pyx_L1_error));

  /* "cuda/cudart.pyx":5606
 *         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":5607
 *     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, 5607, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5608
 *         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, 5608, __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, 5608, __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, 5608, __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, 5608, __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, 5608, __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":5609
 *             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, 5609, __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, 5609, __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, 5609, __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, 5609, __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, 5609, __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":5610
 *             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, 5610, __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, 5610, __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, 5610, __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, 5610, __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, 5610, __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":5611
 *             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__48, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5611, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":5606
 *         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":5613
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__49);
    __pyx_r = __pyx_kp_u__49;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":5605
 *     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":5616
 * 
 *     @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_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], 5616, 0, __PYX_ERR(0, 5616, __pyx_L1_error));

  /* "cuda/cudart.pyx":5617
 *     @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, 5617, __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_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]).extSemArray) + (__pyx_9genexpr42__pyx_v_x * (sizeof(__pyx_t_4cuda_7ccudart_cudaExternalSemaphore_t))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5617, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 5617, __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":5618
 *     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, 5618, __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, 5618, __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, 5618, __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, 5618, __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, 5618, __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, 5618, __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, 5618, __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":5616
 * 
 *     @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_9genexpr43__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5620
 *         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;
  __pyx_t_4cuda_7ccudart_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], 5620, 0, __PYX_ERR(0, 5620, __pyx_L1_error));

  /* "cuda/cudart.pyx":5621
 *     @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, 5621, __pyx_L1_error)
  __pyx_t_2 = ((__pyx_t_1 == 0) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":5622
 *     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":5623
 *         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":5624
 *             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":5621
 *     @extSemArray.setter
 *     def extSemArray(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._extSemArray)
 *             self._extSemArray_length = 0
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":5626
 *             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, 5626, __pyx_L1_error)
    __pyx_t_2 = ((__pyx_v_self->_extSemArray_length != ((size_t)__pyx_t_1)) != 0);
    if (__pyx_t_2) {

      /* "cuda/cudart.pyx":5627
 *         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":5628
 *             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, 5628, __pyx_L1_error)
      __pyx_v_self->_extSemArray = ((__pyx_t_4cuda_7ccudart_cudaExternalSemaphore_t *)calloc(__pyx_t_1, (sizeof(__pyx_t_4cuda_7ccudart_cudaExternalSemaphore_t))));

      /* "cuda/cudart.pyx":5629
 *                 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":5630
 *                 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, 5630, __pyx_L1_error)
        __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5630, __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, 5630, __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_2, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5630, __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, 5630, __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(__pyx_t_4cuda_7ccudart_cudaExternalSemaphore_t))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5630, __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, 5630, __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, 5630, __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, 5630, __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, 5630, __pyx_L1_error)

        /* "cuda/cudart.pyx":5629
 *                 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":5631
 *                 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, 5631, __pyx_L1_error)
      __pyx_v_self->_extSemArray_length = ((size_t)__pyx_t_1);

      /* "cuda/cudart.pyx":5632
 *                     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":5626
 *             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":5633
 *                 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, 5633, __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":5634
 *                 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, 5634, __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":5620
 *         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":5636
 *                 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_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], 5636, 0, __PYX_ERR(0, 5636, __pyx_L1_error));

  /* "cuda/cudart.pyx":5637
 *     @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, 5637, __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_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]).paramsArray) + (__pyx_9genexpr44__pyx_v_x * (sizeof(struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreSignalParams))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5637, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 5637, __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":5638
 *     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, 5638, __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, 5638, __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, 5638, __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, 5638, __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, 5638, __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, 5638, __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, 5638, __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":5636
 *                 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_9genexpr45__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5640
 *         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 __pyx_t_4cuda_7ccudart_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], 5640, 0, __PYX_ERR(0, 5640, __pyx_L1_error));

  /* "cuda/cudart.pyx":5641
 *     @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, 5641, __pyx_L1_error)
  __pyx_t_2 = ((__pyx_t_1 == 0) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":5642
 *     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":5643
 *         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":5644
 *             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":5641
 *     @paramsArray.setter
 *     def paramsArray(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._paramsArray)
 *             self._paramsArray_length = 0
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":5646
 *             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, 5646, __pyx_L1_error)
    __pyx_t_2 = ((__pyx_v_self->_paramsArray_length != ((size_t)__pyx_t_1)) != 0);
    if (__pyx_t_2) {

      /* "cuda/cudart.pyx":5647
 *         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":5648
 *             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, 5648, __pyx_L1_error)
      __pyx_v_self->_paramsArray = ((struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreSignalParams *)calloc(__pyx_t_1, (sizeof(struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreSignalParams))));

      /* "cuda/cudart.pyx":5649
 *                 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":5650
 *                 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, 5650, __pyx_L1_error)
        __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5650, __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, 5650, __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_2, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5650, __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, 5650, __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 __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreSignalParams))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5650, __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, 5650, __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, 5650, __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, 5650, __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, 5650, __pyx_L1_error)

        /* "cuda/cudart.pyx":5649
 *                 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":5651
 *                 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, 5651, __pyx_L1_error)
      __pyx_v_self->_paramsArray_length = ((size_t)__pyx_t_1);

      /* "cuda/cudart.pyx":5652
 *                     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":5646
 *             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":5653
 *                 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, 5653, __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":5654
 *                 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, 5654, __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 __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreSignalParams))));
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":5640
 *         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":5656
 *                 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], 5656, 0, __PYX_ERR(0, 5656, __pyx_L1_error));

  /* "cuda/cudart.pyx":5657
 *     @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, 5657, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5656
 *                 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":5659
 *         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, 5659, __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], 5659, 0, __PYX_ERR(0, 5659, __pyx_L1_error));

  /* "cuda/cudart.pyx":5661
 *     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":5659
 *         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__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.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__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.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":5683
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

/* 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, 5683, __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, 5683, __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, 5683, __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;
  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("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 5683, 0, __PYX_ERR(0, 5683, __pyx_L1_error));

  /* "cuda/cudart.pyx":5684
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaExternalSemaphoreWaitNodeParams *>calloc(1, sizeof(ccudart.cudaExternalSemaphoreWaitNodeParams))
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":5685
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr_owner = True             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaExternalSemaphoreWaitNodeParams *>calloc(1, sizeof(ccudart.cudaExternalSemaphoreWaitNodeParams))
 *             if self._ptr is NULL:
 */
    __pyx_v_self->_ptr_owner = 1;

    /* "cuda/cudart.pyx":5686
 *         if _ptr == 0:
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaExternalSemaphoreWaitNodeParams *>calloc(1, sizeof(ccudart.cudaExternalSemaphoreWaitNodeParams))             # <<<<<<<<<<<<<<
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaExternalSemaphoreWaitNodeParams)))
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreWaitNodeParams *)calloc(1, (sizeof(struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreWaitNodeParams))));

    /* "cuda/cudart.pyx":5687
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaExternalSemaphoreWaitNodeParams *>calloc(1, sizeof(ccudart.cudaExternalSemaphoreWaitNodeParams))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaExternalSemaphoreWaitNodeParams)))
 *         else:
 */
    __pyx_t_1 = ((__pyx_v_self->_ptr == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":5688
 *             self._ptr = <ccudart.cudaExternalSemaphoreWaitNodeParams *>calloc(1, sizeof(ccudart.cudaExternalSemaphoreWaitNodeParams))
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaExternalSemaphoreWaitNodeParams)))             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr_owner = False
 */
      __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreWaitNodeParams))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5688, __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, 5688, __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_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5688, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5688, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 5688, __pyx_L1_error)

      /* "cuda/cudart.pyx":5687
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaExternalSemaphoreWaitNodeParams *>calloc(1, sizeof(ccudart.cudaExternalSemaphoreWaitNodeParams))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaExternalSemaphoreWaitNodeParams)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":5684
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaExternalSemaphoreWaitNodeParams *>calloc(1, sizeof(ccudart.cudaExternalSemaphoreWaitNodeParams))
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":5690
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaExternalSemaphoreWaitNodeParams)))
 *         else:
 *             self._ptr_owner = False             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaExternalSemaphoreWaitNodeParams *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 */
  /*else*/ {
    __pyx_v_self->_ptr_owner = 0;

    /* "cuda/cudart.pyx":5691
 *         else:
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaExternalSemaphoreWaitNodeParams *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreWaitNodeParams *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":5683
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.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":5692
 *             self._ptr_owner = False
 *             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, 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("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5692, __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], 5692, 0, __PYX_ERR(0, 5692, __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":5694
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

/* 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_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 5694, 0, __PYX_ERR(0, 5694, __pyx_L1_error));

  /* "cuda/cudart.pyx":5695
 *         pass
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         if self._extSemArray is not NULL:
 */
  __pyx_t_2 = ((__pyx_v_self->_ptr_owner == 1) != 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = ((__pyx_v_self->_ptr != NULL) != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":5696
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)             # <<<<<<<<<<<<<<
 *         if self._extSemArray is not NULL:
 *             free(self._extSemArray)
 */
    free(__pyx_v_self->_ptr);

    /* "cuda/cudart.pyx":5695
 *         pass
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         if self._extSemArray is not NULL:
 */
  }

  /* "cuda/cudart.pyx":5697
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 *         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":5698
 *             free(self._ptr)
 *         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":5697
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 *         if self._extSemArray is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._extSemArray)
 *         if self._paramsArray is not NULL:
 */
  }

  /* "cuda/cudart.pyx":5699
 *         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":5700
 *             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":5699
 *         if self._extSemArray is not NULL:
 *             free(self._extSemArray)
 *         if self._paramsArray is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._paramsArray)
 *     def getPtr(self):
 */
  }

  /* "cuda/cudart.pyx":5694
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

  /* 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":5701
 *         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__311)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 5701, 0, __PYX_ERR(0, 5701, __pyx_L1_error));

  /* "cuda/cudart.pyx":5702
 *             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, 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
 *         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":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_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], 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 += ['extSemArray : ' + str(self.extSemArray)]
 */
  __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 += ['extSemArray : ' + str(self.extSemArray)]
 *             str_list += ['paramsArray : ' + str(self.paramsArray)]
 */
    __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 += ['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, 5706, __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, 5706, __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, 5706, __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, 5706, __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, 5706, __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":5707
 *             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, 5707, __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, 5707, __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, 5707, __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, 5707, __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, 5707, __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":5708
 *             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, 5708, __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, 5708, __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, 5708, __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, 5708, __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, 5708, __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":5709
 *             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__48, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5709, __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 += ['extSemArray : ' + str(self.extSemArray)]
 */
  }

  /* "cuda/cudart.pyx":5711
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__49);
    __pyx_r = __pyx_kp_u__49;
    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_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":5714
 * 
 *     @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_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], 5714, 0, __PYX_ERR(0, 5714, __pyx_L1_error));

  /* "cuda/cudart.pyx":5715
 *     @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, 5715, __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_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]).extSemArray) + (__pyx_9genexpr46__pyx_v_x * (sizeof(__pyx_t_4cuda_7ccudart_cudaExternalSemaphore_t))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5715, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 5715, __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":5716
 *     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, 5716, __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, 5716, __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, 5716, __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, 5716, __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, 5716, __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, 5716, __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, 5716, __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":5714
 * 
 *     @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_9genexpr47__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5718
 *         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;
  __pyx_t_4cuda_7ccudart_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], 5718, 0, __PYX_ERR(0, 5718, __pyx_L1_error));

  /* "cuda/cudart.pyx":5719
 *     @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, 5719, __pyx_L1_error)
  __pyx_t_2 = ((__pyx_t_1 == 0) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":5720
 *     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":5721
 *         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":5722
 *             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":5719
 *     @extSemArray.setter
 *     def extSemArray(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._extSemArray)
 *             self._extSemArray_length = 0
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":5724
 *             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, 5724, __pyx_L1_error)
    __pyx_t_2 = ((__pyx_v_self->_extSemArray_length != ((size_t)__pyx_t_1)) != 0);
    if (__pyx_t_2) {

      /* "cuda/cudart.pyx":5725
 *         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":5726
 *             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, 5726, __pyx_L1_error)
      __pyx_v_self->_extSemArray = ((__pyx_t_4cuda_7ccudart_cudaExternalSemaphore_t *)calloc(__pyx_t_1, (sizeof(__pyx_t_4cuda_7ccudart_cudaExternalSemaphore_t))));

      /* "cuda/cudart.pyx":5727
 *                 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":5728
 *                 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, 5728, __pyx_L1_error)
        __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5728, __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, 5728, __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_2, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5728, __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, 5728, __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(__pyx_t_4cuda_7ccudart_cudaExternalSemaphore_t))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5728, __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, 5728, __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, 5728, __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, 5728, __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, 5728, __pyx_L1_error)

        /* "cuda/cudart.pyx":5727
 *                 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":5729
 *                 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, 5729, __pyx_L1_error)
      __pyx_v_self->_extSemArray_length = ((size_t)__pyx_t_1);

      /* "cuda/cudart.pyx":5730
 *                     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":5724
 *             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":5731
 *                 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, 5731, __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":5732
 *                 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, 5732, __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":5718
 *         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":5734
 *                 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_9genexpr48__pyx_v_x;
  PyObject *__pyx_9genexpr49__pyx_v_arr = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 5734, 0, __PYX_ERR(0, 5734, __pyx_L1_error));

  /* "cuda/cudart.pyx":5735
 *     @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, 5735, __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_9genexpr48__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_9genexpr48__pyx_v_x * (sizeof(struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreWaitParams))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5735, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 5735, __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":5736
 *     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, 5736, __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, 5736, __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, 5736, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      #endif
      __Pyx_XDECREF_SET(__pyx_9genexpr49__pyx_v_arr, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5736, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_ptr, __pyx_9genexpr49__pyx_v_arr) < 0) __PYX_ERR(0, 5736, __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, 5736, __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, 5736, __pyx_L7_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_9genexpr49__pyx_v_arr); __pyx_9genexpr49__pyx_v_arr = 0;
    goto __pyx_L10_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_9genexpr49__pyx_v_arr); __pyx_9genexpr49__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":5734
 *                 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_9genexpr49__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5738
 *         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 __pyx_t_4cuda_7ccudart_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], 5738, 0, __PYX_ERR(0, 5738, __pyx_L1_error));

  /* "cuda/cudart.pyx":5739
 *     @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, 5739, __pyx_L1_error)
  __pyx_t_2 = ((__pyx_t_1 == 0) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":5740
 *     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":5741
 *         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":5742
 *             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":5739
 *     @paramsArray.setter
 *     def paramsArray(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._paramsArray)
 *             self._paramsArray_length = 0
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":5744
 *             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, 5744, __pyx_L1_error)
    __pyx_t_2 = ((__pyx_v_self->_paramsArray_length != ((size_t)__pyx_t_1)) != 0);
    if (__pyx_t_2) {

      /* "cuda/cudart.pyx":5745
 *         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":5746
 *             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, 5746, __pyx_L1_error)
      __pyx_v_self->_paramsArray = ((struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreWaitParams *)calloc(__pyx_t_1, (sizeof(struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreWaitParams))));

      /* "cuda/cudart.pyx":5747
 *                 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":5748
 *                 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, 5748, __pyx_L1_error)
        __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5748, __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, 5748, __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_2, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5748, __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, 5748, __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 __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreWaitParams))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5748, __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, 5748, __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, 5748, __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, 5748, __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, 5748, __pyx_L1_error)

        /* "cuda/cudart.pyx":5747
 *                 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":5749
 *                 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, 5749, __pyx_L1_error)
      __pyx_v_self->_paramsArray_length = ((size_t)__pyx_t_1);

      /* "cuda/cudart.pyx":5750
 *                     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":5744
 *             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":5751
 *                 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, 5751, __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":5752
 *                 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, 5752, __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 __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreWaitParams))));
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":5738
 *         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":5754
 *                 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], 5754, 0, __PYX_ERR(0, 5754, __pyx_L1_error));

  /* "cuda/cudart.pyx":5755
 *     @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, 5755, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5754
 *                 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":5757
 *         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, 5757, __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], 5757, 0, __PYX_ERR(0, 5757, __pyx_L1_error));

  /* "cuda/cudart.pyx":5759
 *     def numExtSems(self, unsigned int numExtSems):
 *         pass
 *         self._ptr[0].numExtSems = numExtSems             # <<<<<<<<<<<<<<
 * 
 * cdef class cudaTextureDesc:
 */
  (__pyx_v_self->_ptr[0]).numExtSems = __pyx_v_numExtSems;

  /* "cuda/cudart.pyx":5757
 *         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__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.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__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.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":5798
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

/* 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, 5798, __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, 5798, __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, 5798, __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;
  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("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 5798, 0, __PYX_ERR(0, 5798, __pyx_L1_error));

  /* "cuda/cudart.pyx":5799
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaTextureDesc *>calloc(1, sizeof(ccudart.cudaTextureDesc))
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":5800
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr_owner = True             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaTextureDesc *>calloc(1, sizeof(ccudart.cudaTextureDesc))
 *             if self._ptr is NULL:
 */
    __pyx_v_self->_ptr_owner = 1;

    /* "cuda/cudart.pyx":5801
 *         if _ptr == 0:
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaTextureDesc *>calloc(1, sizeof(ccudart.cudaTextureDesc))             # <<<<<<<<<<<<<<
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaTextureDesc)))
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaTextureDesc *)calloc(1, (sizeof(struct __pyx_t_4cuda_7ccudart_cudaTextureDesc))));

    /* "cuda/cudart.pyx":5802
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaTextureDesc *>calloc(1, sizeof(ccudart.cudaTextureDesc))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaTextureDesc)))
 *         else:
 */
    __pyx_t_1 = ((__pyx_v_self->_ptr == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":5803
 *             self._ptr = <ccudart.cudaTextureDesc *>calloc(1, sizeof(ccudart.cudaTextureDesc))
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaTextureDesc)))             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr_owner = False
 */
      __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(struct __pyx_t_4cuda_7ccudart_cudaTextureDesc))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5803, __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, 5803, __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_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5803, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5803, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 5803, __pyx_L1_error)

      /* "cuda/cudart.pyx":5802
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaTextureDesc *>calloc(1, sizeof(ccudart.cudaTextureDesc))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaTextureDesc)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":5799
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaTextureDesc *>calloc(1, sizeof(ccudart.cudaTextureDesc))
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":5805
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaTextureDesc)))
 *         else:
 *             self._ptr_owner = False             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaTextureDesc *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 */
  /*else*/ {
    __pyx_v_self->_ptr_owner = 0;

    /* "cuda/cudart.pyx":5806
 *         else:
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaTextureDesc *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_7ccudart_cudaTextureDesc *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":5798
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.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":5807
 *             self._ptr_owner = False
 *             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, 5807, __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, 5807, __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, 5807, __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], 5807, 0, __PYX_ERR(0, 5807, __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":5809
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

/* 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__(struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 5809, 0, __PYX_ERR(0, 5809, __pyx_L1_error));

  /* "cuda/cudart.pyx":5810
 *         pass
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  __pyx_t_2 = ((__pyx_v_self->_ptr_owner == 1) != 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = ((__pyx_v_self->_ptr != NULL) != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":5811
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */
    free(__pyx_v_self->_ptr);

    /* "cuda/cudart.pyx":5810
 *         pass
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *         pass
 */
  }

  /* "cuda/cudart.pyx":5809
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

  /* 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":5813
 *             free(self._ptr)
 *         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__316)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 5813, 0, __PYX_ERR(0, 5813, __pyx_L1_error));

  /* "cuda/cudart.pyx":5814
 *         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, 5814, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5813
 *             free(self._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.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":5815
 *     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], 5815, 0, __PYX_ERR(0, 5815, __pyx_L1_error));

  /* "cuda/cudart.pyx":5816
 *         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":5817
 *     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, 5817, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cudart.pyx":5818
 *         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, 5818, __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, 5818, __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, 5818, __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, 5818, __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, 5818, __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":5819
 *             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, 5819, __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, 5819, __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, 5819, __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, 5819, __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, 5819, __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":5820
 *             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, 5820, __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, 5820, __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, 5820, __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, 5820, __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, 5820, __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":5821
 *             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, 5821, __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, 5821, __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, 5821, __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, 5821, __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, 5821, __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":5822
 *             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, 5822, __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, 5822, __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, 5822, __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, 5822, __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, 5822, __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":5823
 *             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, 5823, __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, 5823, __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, 5823, __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, 5823, __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, 5823, __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":5824
 *             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, 5824, __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, 5824, __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, 5824, __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, 5824, __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, 5824, __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":5825
 *             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, 5825, __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, 5825, __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, 5825, __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, 5825, __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, 5825, __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":5826
 *             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, 5826, __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, 5826, __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, 5826, __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, 5826, __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, 5826, __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":5827
 *             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, 5827, __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, 5827, __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, 5827, __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, 5827, __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, 5827, __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":5828
 *             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, 5828, __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, 5828, __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, 5828, __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, 5828, __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, 5828, __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":5829
 *             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, 5829, __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, 5829, __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, 5829, __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, 5829, __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, 5829, __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":5830
 *             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__48, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5830, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":5816
 *         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":5832
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__49);
    __pyx_r = __pyx_kp_u__49;
    goto __pyx_L0;
  }

  /* "cuda/cudart.pyx":5815
 *     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":5835
 * 
 *     @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_9genexpr50__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], 5835, 0, __PYX_ERR(0, 5835, __pyx_L1_error));

  /* "cuda/cudart.pyx":5836
 *     @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, 5836, __pyx_L5_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_carray_to_py_enum____pyx_t_4cuda_7ccudart_cudaTextureAddressMode((__pyx_v_self->_ptr[0]).addressMode, 3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5836, __pyx_L5_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = PySequence_List(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5836, __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, 5836, __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, 5836, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_3);
      #endif
      __Pyx_XDECREF_SET(__pyx_9genexpr50__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, 5836, __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_9genexpr50__pyx_v__x) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_9genexpr50__pyx_v__x);
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5836, __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, 5836, __pyx_L5_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_9genexpr50__pyx_v__x); __pyx_9genexpr50__pyx_v__x = 0;
    goto __pyx_L8_exit_scope;
    __pyx_L5_error:;
    __Pyx_XDECREF(__pyx_9genexpr50__pyx_v__x); __pyx_9genexpr50__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":5835
 * 
 *     @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_9genexpr50__pyx_v__x);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5838
 *         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_9genexpr51__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 __pyx_t_4cuda_7ccudart_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], 5838, 0, __PYX_ERR(0, 5838, __pyx_L1_error));

  /* "cuda/cudart.pyx":5839
 *     @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, 5839, __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, 5839, __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, 5839, __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, 5839, __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, 5839, __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, 5839, __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, 5839, __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, 5839, __pyx_L5_error)
          }
          break;
        }
        __Pyx_GOTREF(__pyx_t_5);
      }
      __Pyx_XDECREF_SET(__pyx_9genexpr51__pyx_v__x, __pyx_t_5);
      __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_9genexpr51__pyx_v__x, __pyx_n_s_value); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5839, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 5839, __pyx_L5_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_9genexpr51__pyx_v__x); __pyx_9genexpr51__pyx_v__x = 0;
    goto __pyx_L8_exit_scope;
    __pyx_L5_error:;
    __Pyx_XDECREF(__pyx_9genexpr51__pyx_v__x); __pyx_9genexpr51__pyx_v__x = 0;
    goto __pyx_L1_error;
    __pyx_L8_exit_scope:;
  } /* exit inner scope */
  if (unlikely(__Pyx_carray_from_py_enum____pyx_t_4cuda_7ccudart_cudaTextureAddressMode(__pyx_t_1, __pyx_t_6, 3) < 0)) __PYX_ERR(0, 5839, __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":5838
 *         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_9genexpr51__pyx_v__x);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":5841
 *         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], 5841, 0, __PYX_ERR(0, 5841, __pyx_L1_error));

  /* "cuda/cudart.pyx":5842
 *     @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, 5842, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaTextureFilterMode((__pyx_v_self->_ptr[0]).filterMode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5842, __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, 5842, __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":5841
 *         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":5844
 *         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, 5844, __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 __pyx_t_4cuda_7ccudart_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], 5844, 0, __PYX_ERR(0, 5844, __pyx_L1_error));

  /* "cuda/cudart.pyx":5846
 *     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, 5846, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaTextureFilterMode(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 5846, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).filterMode = __pyx_t_2;

  /* "cuda/cudart.pyx":5844
 *         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":5848
 *         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], 5848, 0, __PYX_ERR(0, 5848, __pyx_L1_error));

  /* "cuda/cudart.pyx":5849
 *     @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, 5849, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaTextureReadMode((__pyx_v_self->_ptr[0]).readMode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5849, __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, 5849, __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":5848
 *         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":5851
 *         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, 5851, __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 __pyx_t_4cuda_7ccudart_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], 5851, 0, __PYX_ERR(0, 5851, __pyx_L1_error));

  /* "cuda/cudart.pyx":5853
 *     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, 5853, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaTextureReadMode(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 5853, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).readMode = __pyx_t_2;

  /* "cuda/cudart.pyx":5851
 *         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":5855
 *         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], 5855, 0, __PYX_ERR(0, 5855, __pyx_L1_error));

  /* "cuda/cudart.pyx":5856
 *     @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, 5856, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5855
 *         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":5858
 *         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, 5858, __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], 5858, 0, __PYX_ERR(0, 5858, __pyx_L1_error));

  /* "cuda/cudart.pyx":5860
 *     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":5858
 *         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":5862
 *         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], 5862, 0, __PYX_ERR(0, 5862, __pyx_L1_error));

  /* "cuda/cudart.pyx":5863
 *     @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, 5863, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5862
 *         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":5865
 *         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], 5865, 0, __PYX_ERR(0, 5865, __pyx_L1_error));

  /* "cuda/cudart.pyx":5867
 *     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, 5867, __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":5865
 *         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":5869
 *         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], 5869, 0, __PYX_ERR(0, 5869, __pyx_L1_error));

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

  /* "cuda/cudart.pyx":5869
 *         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":5872
 *         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, 5872, __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], 5872, 0, __PYX_ERR(0, 5872, __pyx_L1_error));

  /* "cuda/cudart.pyx":5874
 *     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":5872
 *         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":5876
 *         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], 5876, 0, __PYX_ERR(0, 5876, __pyx_L1_error));

  /* "cuda/cudart.pyx":5877
 *     @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, 5877, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5876
 *         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":5879
 *         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, 5879, __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], 5879, 0, __PYX_ERR(0, 5879, __pyx_L1_error));

  /* "cuda/cudart.pyx":5881
 *     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":5879
 *         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":5883
 *         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], 5883, 0, __PYX_ERR(0, 5883, __pyx_L1_error));

  /* "cuda/cudart.pyx":5884
 *     @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, 5884, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaTextureFilterMode((__pyx_v_self->_ptr[0]).mipmapFilterMode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5884, __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, 5884, __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":5883
 *         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":5886
 *         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, 5886, __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 __pyx_t_4cuda_7ccudart_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], 5886, 0, __PYX_ERR(0, 5886, __pyx_L1_error));

  /* "cuda/cudart.pyx":5888
 *     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, 5888, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaTextureFilterMode(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 5888, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).mipmapFilterMode = __pyx_t_2;

  /* "cuda/cudart.pyx":5886
 *         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":5890
 *         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], 5890, 0, __PYX_ERR(0, 5890, __pyx_L1_error));

  /* "cuda/cudart.pyx":5891
 *     @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, 5891, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5890
 *         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":5893
 *         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, 5893, __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], 5893, 0, __PYX_ERR(0, 5893, __pyx_L1_error));

  /* "cuda/cudart.pyx":5895
 *     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":5893
 *         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":5897
 *         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], 5897, 0, __PYX_ERR(0, 5897, __pyx_L1_error));

  /* "cuda/cudart.pyx":5898
 *     @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, 5898, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5897
 *         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":5900
 *         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, 5900, __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], 5900, 0, __PYX_ERR(0, 5900, __pyx_L1_error));

  /* "cuda/cudart.pyx":5902
 *     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":5900
 *         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":5904
 *         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], 5904, 0, __PYX_ERR(0, 5904, __pyx_L1_error));

  /* "cuda/cudart.pyx":5905
 *     @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, 5905, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5904
 *         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":5907
 *         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, 5907, __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], 5907, 0, __PYX_ERR(0, 5907, __pyx_L1_error));

  /* "cuda/cudart.pyx":5909
 *     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":5907
 *         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":5911
 *         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], 5911, 0, __PYX_ERR(0, 5911, __pyx_L1_error));

  /* "cuda/cudart.pyx":5912
 *     @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, 5912, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5911
 *         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":5914
 *         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, 5914, __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], 5914, 0, __PYX_ERR(0, 5914, __pyx_L1_error));

  /* "cuda/cudart.pyx":5916
 *     def disableTrilinearOptimization(self, int disableTrilinearOptimization):
 *         pass
 *         self._ptr[0].disableTrilinearOptimization = disableTrilinearOptimization             # <<<<<<<<<<<<<<
 * 
 * cdef class cudaSurfaceObject_t:
 */
  (__pyx_v_self->_ptr[0]).disableTrilinearOptimization = __pyx_v_disableTrilinearOptimization;

  /* "cuda/cudart.pyx":5914
 *         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__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.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__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.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":5928
 * 
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

/* 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, 5928, __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, 5928, __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, 5928, __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, 5928, __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;
  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("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 5928, 0, __PYX_ERR(0, 5928, __pyx_L1_error));

  /* "cuda/cudart.pyx":5929
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaSurfaceObject_t *>calloc(1, sizeof(ccudart.cudaSurfaceObject_t))
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":5930
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr_owner = True             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaSurfaceObject_t *>calloc(1, sizeof(ccudart.cudaSurfaceObject_t))
 *             if self._ptr is NULL:
 */
    __pyx_v_self->_ptr_owner = 1;

    /* "cuda/cudart.pyx":5931
 *         if _ptr == 0:
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaSurfaceObject_t *>calloc(1, sizeof(ccudart.cudaSurfaceObject_t))             # <<<<<<<<<<<<<<
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaSurfaceObject_t)))
 */
    __pyx_v_self->_ptr = ((__pyx_t_4cuda_7ccudart_cudaSurfaceObject_t *)calloc(1, (sizeof(__pyx_t_4cuda_7ccudart_cudaSurfaceObject_t))));

    /* "cuda/cudart.pyx":5932
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaSurfaceObject_t *>calloc(1, sizeof(ccudart.cudaSurfaceObject_t))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaSurfaceObject_t)))
 *         else:
 */
    __pyx_t_1 = ((__pyx_v_self->_ptr == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":5933
 *             self._ptr = <ccudart.cudaSurfaceObject_t *>calloc(1, sizeof(ccudart.cudaSurfaceObject_t))
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaSurfaceObject_t)))             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr_owner = False
 */
      __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_4cuda_7ccudart_cudaSurfaceObject_t))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5933, __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, 5933, __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_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5933, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5933, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 5933, __pyx_L1_error)

      /* "cuda/cudart.pyx":5932
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaSurfaceObject_t *>calloc(1, sizeof(ccudart.cudaSurfaceObject_t))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaSurfaceObject_t)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":5929
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaSurfaceObject_t *>calloc(1, sizeof(ccudart.cudaSurfaceObject_t))
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":5935
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaSurfaceObject_t)))
 *         else:
 *             self._ptr_owner = False             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaSurfaceObject_t *>_ptr
 *         if init_value:
 */
  /*else*/ {
    __pyx_v_self->_ptr_owner = 0;

    /* "cuda/cudart.pyx":5936
 *         else:
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaSurfaceObject_t *>_ptr             # <<<<<<<<<<<<<<
 *         if init_value:
 *             self._ptr[0] = init_value
 */
    __pyx_v_self->_ptr = ((__pyx_t_4cuda_7ccudart_cudaSurfaceObject_t *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":5937
 *             self._ptr_owner = False
 *             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":5938
 *             self._ptr = <ccudart.cudaSurfaceObject_t *>_ptr
 *         if init_value:
 *             self._ptr[0] = init_value             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 */
    (__pyx_v_self->_ptr[0]) = __pyx_v_init_value;

    /* "cuda/cudart.pyx":5937
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaSurfaceObject_t *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):
 */
  }

  /* "cuda/cudart.pyx":5928
 * 
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.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":5939
 *         if init_value:
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

/* 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__(struct __pyx_obj_4cuda_6cudart_cudaSurfaceObject_t *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 5939, 0, __PYX_ERR(0, 5939, __pyx_L1_error));

  /* "cuda/cudart.pyx":5940
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *     def __repr__(self):
 */
  __pyx_t_2 = ((__pyx_v_self->_ptr_owner == 1) != 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = ((__pyx_v_self->_ptr != NULL) != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":5941
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         return '<cudaSurfaceObject_t ' + str(self.__int__()) + '>'
 */
    free(__pyx_v_self->_ptr);

    /* "cuda/cudart.pyx":5940
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *     def __repr__(self):
 */
  }

  /* "cuda/cudart.pyx":5939
 *         if init_value:
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

  /* 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":5942
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 *     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], 5942, 0, __PYX_ERR(0, 5942, __pyx_L1_error));

  /* "cuda/cudart.pyx":5943
 *             free(self._ptr)
 *     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, 5943, __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, 5943, __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, 5943, __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, 5943, __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, 5943, __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":5942
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 *     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":5944
 *     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], 5944, 0, __PYX_ERR(0, 5944, __pyx_L1_error));

  /* "cuda/cudart.pyx":5945
 *         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, 5945, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5944
 *     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":5946
 *     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__321)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 5946, 0, __PYX_ERR(0, 5946, __pyx_L1_error));

  /* "cuda/cudart.pyx":5947
 *         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, 5947, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5946
 *     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__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.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__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.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":5959
 * 
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

/* 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, 5959, __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, 5959, __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, 5959, __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, 5959, __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;
  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("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 5959, 0, __PYX_ERR(0, 5959, __pyx_L1_error));

  /* "cuda/cudart.pyx":5960
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaTextureObject_t *>calloc(1, sizeof(ccudart.cudaTextureObject_t))
 */
  __pyx_t_1 = ((__pyx_v__ptr == 0) != 0);
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":5961
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr_owner = True             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaTextureObject_t *>calloc(1, sizeof(ccudart.cudaTextureObject_t))
 *             if self._ptr is NULL:
 */
    __pyx_v_self->_ptr_owner = 1;

    /* "cuda/cudart.pyx":5962
 *         if _ptr == 0:
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaTextureObject_t *>calloc(1, sizeof(ccudart.cudaTextureObject_t))             # <<<<<<<<<<<<<<
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaTextureObject_t)))
 */
    __pyx_v_self->_ptr = ((__pyx_t_4cuda_7ccudart_cudaTextureObject_t *)calloc(1, (sizeof(__pyx_t_4cuda_7ccudart_cudaTextureObject_t))));

    /* "cuda/cudart.pyx":5963
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaTextureObject_t *>calloc(1, sizeof(ccudart.cudaTextureObject_t))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaTextureObject_t)))
 *         else:
 */
    __pyx_t_1 = ((__pyx_v_self->_ptr == NULL) != 0);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cudart.pyx":5964
 *             self._ptr = <ccudart.cudaTextureObject_t *>calloc(1, sizeof(ccudart.cudaTextureObject_t))
 *             if self._ptr is NULL:
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaTextureObject_t)))             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr_owner = False
 */
      __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_4cuda_7ccudart_cudaTextureObject_t))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5964, __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, 5964, __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_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5964, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5964, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 5964, __pyx_L1_error)

      /* "cuda/cudart.pyx":5963
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaTextureObject_t *>calloc(1, sizeof(ccudart.cudaTextureObject_t))
 *             if self._ptr is NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaTextureObject_t)))
 *         else:
 */
    }

    /* "cuda/cudart.pyx":5960
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr_owner = True
 *             self._ptr = <ccudart.cudaTextureObject_t *>calloc(1, sizeof(ccudart.cudaTextureObject_t))
 */
    goto __pyx_L3;
  }

  /* "cuda/cudart.pyx":5966
 *                 raise MemoryError('Failed to allocate length x size memory: 1x' + str(sizeof(ccudart.cudaTextureObject_t)))
 *         else:
 *             self._ptr_owner = False             # <<<<<<<<<<<<<<
 *             self._ptr = <ccudart.cudaTextureObject_t *>_ptr
 *         if init_value:
 */
  /*else*/ {
    __pyx_v_self->_ptr_owner = 0;

    /* "cuda/cudart.pyx":5967
 *         else:
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaTextureObject_t *>_ptr             # <<<<<<<<<<<<<<
 *         if init_value:
 *             self._ptr[0] = init_value
 */
    __pyx_v_self->_ptr = ((__pyx_t_4cuda_7ccudart_cudaTextureObject_t *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cudart.pyx":5968
 *             self._ptr_owner = False
 *             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":5969
 *             self._ptr = <ccudart.cudaTextureObject_t *>_ptr
 *         if init_value:
 *             self._ptr[0] = init_value             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 */
    (__pyx_v_self->_ptr[0]) = __pyx_v_init_value;

    /* "cuda/cudart.pyx":5968
 *             self._ptr_owner = False
 *             self._ptr = <ccudart.cudaTextureObject_t *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):
 */
  }

  /* "cuda/cudart.pyx":5959
 * 
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr_owner = True
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.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":5970
 *         if init_value:
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

/* 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__(struct __pyx_obj_4cuda_6cudart_cudaTextureObject_t *__pyx_v_self) {
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);
  __Pyx_TraceCall("__dealloc__", __pyx_f[0], 5970, 0, __PYX_ERR(0, 5970, __pyx_L1_error));

  /* "cuda/cudart.pyx":5971
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *     def __repr__(self):
 */
  __pyx_t_2 = ((__pyx_v_self->_ptr_owner == 1) != 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = ((__pyx_v_self->_ptr != NULL) != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "cuda/cudart.pyx":5972
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         return '<cudaTextureObject_t ' + str(self.__int__()) + '>'
 */
    free(__pyx_v_self->_ptr);

    /* "cuda/cudart.pyx":5971
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):
 *         if self._ptr_owner is True and self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._ptr)
 *     def __repr__(self):
 */
  }

  /* "cuda/cudart.pyx":5970
 *         if init_value:
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 */

  /* 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":5973
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 *     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], 5973, 0, __PYX_ERR(0, 5973, __pyx_L1_error));

  /* "cuda/cudart.pyx":5974
 *             free(self._ptr)
 *     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, 5974, __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, 5974, __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, 5974, __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, 5974, __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, 5974, __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":5973
 *         if self._ptr_owner is True and self._ptr is not NULL:
 *             free(self._ptr)
 *     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":5975
 *     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], 5975, 0, __PYX_ERR(0, 5975, __pyx_L1_error));

  /* "cuda/cudart.pyx":5976
 *         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, 5976, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5975
 *     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":5977
 *     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__326)
  __Pyx_RefNannySetupContext("getPtr", 0);
  __Pyx_TraceCall("getPtr", __pyx_f[0], 5977, 0, __PYX_ERR(0, 5977, __pyx_L1_error));

  /* "cuda/cudart.pyx":5978
 *         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, 5978, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":5977
 *     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__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.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__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.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":5981
 * 
 * @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_1cudaDeviceReset(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_cudaDeviceReset[] = "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 cudaStream_t, cudaEvent_t,\n    cudaArray_t, cudaMipmappedArray_t, cudaTextureObject_t,\n    cudaSurfaceObject_t, textureReference, surfaceReference,\n    cudaExternalMemory_t, cudaExternalSemaphore_t and\n    cudaGraphicsResource_t. Any subsequent API call to this device will\n    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        cudaSuccess\n    None\n        None\n\n    See Also\n    --------\n    cudaDeviceSynchronize\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_1cudaDeviceReset = {"cudaDeviceReset", (PyCFunction)__pyx_pw_4cuda_6cudart_1cudaDeviceReset, METH_NOARGS, __pyx_doc_4cuda_6cudart_cudaDeviceReset};
static PyObject *__pyx_pw_4cuda_6cudart_1cudaDeviceReset(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaDeviceReset (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_cudaDeviceReset(__pyx_self);

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

static PyObject *__pyx_pf_4cuda_6cudart_cudaDeviceReset(CYTHON_UNUSED PyObject *__pyx_self) {
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __pyx_t_4cuda_7ccudart_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__331)
  __Pyx_RefNannySetupContext("cudaDeviceReset", 0);
  __Pyx_TraceCall("cudaDeviceReset", __pyx_f[0], 5981, 0, __PYX_ERR(0, 5981, __pyx_L1_error));

  /* "cuda/cudart.pyx":6011
 *     cudaDeviceSynchronize
 *     """
 *     err = ccudart.cudaDeviceReset()             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_7ccudart_cudaDeviceReset(); if (unlikely(__pyx_t_1 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 6011, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":6012
 *     """
 *     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, 6012, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6012, __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, 6012, __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, 6012, __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":5981
 * 
 * @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":6015
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceSynchronize():             # <<<<<<<<<<<<<<
 *     """ Wait for compute device to finish.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_3cudaDeviceSynchronize(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_2cudaDeviceSynchronize[] = "cudaDeviceSynchronize()\n Wait for compute device to finish.\n\n    Blocks until the device has completed all preceding requested tasks.\n    cudaDeviceSynchronize() returns an error if one of the preceding tasks\n    has failed. If the 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        cudaSuccess\n    None\n        None\n\n    See Also\n    --------\n    cudaDeviceReset\n    cuCtxSynchronize\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_3cudaDeviceSynchronize = {"cudaDeviceSynchronize", (PyCFunction)__pyx_pw_4cuda_6cudart_3cudaDeviceSynchronize, METH_NOARGS, __pyx_doc_4cuda_6cudart_2cudaDeviceSynchronize};
static PyObject *__pyx_pw_4cuda_6cudart_3cudaDeviceSynchronize(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaDeviceSynchronize (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_2cudaDeviceSynchronize(__pyx_self);

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

static PyObject *__pyx_pf_4cuda_6cudart_2cudaDeviceSynchronize(CYTHON_UNUSED PyObject *__pyx_self) {
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __pyx_t_4cuda_7ccudart_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__332)
  __Pyx_RefNannySetupContext("cudaDeviceSynchronize", 0);
  __Pyx_TraceCall("cudaDeviceSynchronize", __pyx_f[0], 6015, 0, __PYX_ERR(0, 6015, __pyx_L1_error));

  /* "cuda/cudart.pyx":6036
 *     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":6037
 *     """
 *     with nogil:
 *         err = ccudart.cudaDeviceSynchronize()             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
        __pyx_t_1 = __pyx_f_4cuda_7ccudart_cudaDeviceSynchronize(); if (unlikely(__pyx_t_1 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 6037, __pyx_L4_error)
        __pyx_v_err = __pyx_t_1;
      }

      /* "cuda/cudart.pyx":6036
 *     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":6038
 *     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, 6038, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6038, __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, 6038, __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, 6038, __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":6015
 * 
 * @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":6041
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceSetLimit(limit not None : cudaLimit, size_t value):             # <<<<<<<<<<<<<<
 *     """ Set resource limits.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_5cudaDeviceSetLimit(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_4cudaDeviceSetLimit[] = "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 cudaDeviceGetLimit() to find out\n    exactly what the limit has been set to.\n\n    Setting each cudaLimit has its own specific restrictions, so each is\n    discussed here.\n\n    ::cudaLimitStackSize controls the stack size in bytes of each GPU\n    thread. ::cudaLimitPrintfFifoSize controls the size in bytes of the\n    shared FIFO used by the printf() device system call. Setting\n    cudaLimitPrintfFifoSize must not be performed after launching any\n    kernel that uses the printf() device system call - in such case\n    cudaErrorInvalidValue will be returned. ::cudaLimitMallocHeapSize\n    controls the size in bytes of the heap used by the malloc() and free()\n    device system calls. Setting cudaLimitMallocHeapSize must not be\n    performed after launching any kernel that uses the malloc() or free()\n    device system calls - in such case cudaErrorInvalidValue will be\n    returned. ::cudaLimitDevRuntimeSyncDepth controls the maximum nesting\n    depth of a grid at which a thread can safely call\n    cudaDeviceSynchronize(). Setting this limit must be performed before\n    any launch of a kernel that uses the device runtime and calls\n    cudaDeviceSynchronize() above the default sync depth, two levels of\n    grids. Calls to cudaDeviceSynchronize() will fail with error code\n    cudaErrorSyncDepthExceeded if the limitation is violated. This limit\n    can be set smaller than the default or up the maximum launch depth of\n    24. When setting this limit, keep in mind that additional levels of\n    sync depth require the runtime to reserve large amounts of d""evice\n    memory which can no longer be used for user allocations. If these\n    reservations of device memory fail, cudaDeviceSetLimit will return\n    cudaErrorMemoryAllocation, and the limit can be reset to a lower value.\n    This limit is only applicable to devices of compute capability 3.5 and\n    higher. Attempting to set this limit on devices of compute capability\n    less than 3.5 will result in the error cudaErrorUnsupportedLimit being\n    returned. ::cudaLimitDevRuntimePendingLaunchCount controls the maximum\n    number of outstanding device runtime launches that can be made from the\n    current device. A grid is outstanding from the point of launch up until\n    the grid is known to have been completed. Device runtime launches which\n    violate this limitation fail and return\n    cudaErrorLaunchPendingCountExceeded when cudaGetLastError() is called\n    after launch. If more pending launches than the default (2048 launches)\n    are needed for a module using the device runtime, this limit can be\n    increased. Keep in mind that being able to sustain additional pending\n    launches will require the runtime to reserve larger amounts of device\n    memory upfront which can no longer be used for allocations. If these\n    reservations fail, cudaDeviceSetLimit will return\n    cudaErrorMemoryAllocation, and the limit can be reset to a lower value.\n    This limit is only applicable to devices of compute capability 3.5 and\n    higher. Attempting to set this limit on devices of compute capability\n    less than 3.5 will result in the error cudaErrorUnsupportedLimit being\n    returned. ::cudaLimitMaxL2FetchGranularity controls the L2 cache fetch\n    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. ::cudaLimitPersistingL2CacheSize controls size in bytes\n    available for persisting L2 cache. This is purely a performance hint\n    and it can be ignore""d or clamped depending on the platform.\n\n    Parameters\n    ----------\n    limit : cudaLimit\n        Limit to set\n    value : size_t\n        Size of limit\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorUnsupportedLimit\n        cudaErrorInvalidValue\n        cudaErrorMemoryAllocation\n    None\n        None\n\n    See Also\n    --------\n    cudaDeviceGetLimit\n    cuCtxSetLimit\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_5cudaDeviceSetLimit = {"cudaDeviceSetLimit", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_5cudaDeviceSetLimit, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_4cudaDeviceSetLimit};
static PyObject *__pyx_pw_4cuda_6cudart_5cudaDeviceSetLimit(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, 6041, __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, 6041, __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, 6041, __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, 6041, __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, 6041, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_4cudaDeviceSetLimit(__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_4cudaDeviceSetLimit(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_limit, size_t __pyx_v_value) {
  enum __pyx_t_4cuda_7ccudart_cudaLimit __pyx_v_climit;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum __pyx_t_4cuda_7ccudart_cudaLimit __pyx_t_2;
  __pyx_t_4cuda_7ccudart_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__333)
  __Pyx_RefNannySetupContext("cudaDeviceSetLimit", 0);
  __Pyx_TraceCall("cudaDeviceSetLimit", __pyx_f[0], 6041, 0, __PYX_ERR(0, 6041, __pyx_L1_error));

  /* "cuda/cudart.pyx":6125
 *     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, 6125, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum __pyx_t_4cuda_7ccudart_cudaLimit)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaLimit(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 6125, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_climit = __pyx_t_2;

  /* "cuda/cudart.pyx":6126
 *     """
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 6126, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cudart.pyx":6127
 *     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, 6127, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 6127, __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, 6127, __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, 6127, __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":6041
 * 
 * @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":6130
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetLimit(limit not None : cudaLimit):             # <<<<<<<<<<<<<<
 *     """ Returns resource limits.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_7cudaDeviceGetLimit(PyObject *__pyx_self, PyObject *__pyx_v_limit); /*proto*/
static char __pyx_doc_4cuda_6cudart_6cudaDeviceGetLimit[] = "cudaDeviceGetLimit(limit: cudaLimit)\n Returns resource limits.\n\n    Returns in `*pValue` the current size of `limit`. The supported\n    cudaLimit values are: ::cudaLimitStackSize: stack size in bytes of each\n    GPU thread; ::cudaLimitPrintfFifoSize: size in bytes of the shared FIFO\n    used by the printf() device system call. ::cudaLimitMallocHeapSize:\n    size in bytes of the heap used by the malloc() and free() device system\n    calls; ::cudaLimitDevRuntimeSyncDepth: maximum grid depth at which a\n    thread can isssue the device runtime call cudaDeviceSynchronize() to\n    wait on child grid launches to complete.\n    ::cudaLimitDevRuntimePendingLaunchCount: maximum number of outstanding\n    device runtime launches. ::cudaLimitMaxL2FetchGranularity: L2 cache\n    fetch granularity. ::cudaLimitPersistingL2CacheSize: Persisting L2\n    cache size in bytes\n\n    Parameters\n    ----------\n    limit : cudaLimit\n        Limit to query\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorUnsupportedLimit\n        cudaErrorInvalidValue\n    pValue : int\n        Returned size of the limit\n\n    See Also\n    --------\n    cudaDeviceSetLimit\n    cuCtxGetLimit\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_7cudaDeviceGetLimit = {"cudaDeviceGetLimit", (PyCFunction)__pyx_pw_4cuda_6cudart_7cudaDeviceGetLimit, METH_O, __pyx_doc_4cuda_6cudart_6cudaDeviceGetLimit};
static PyObject *__pyx_pw_4cuda_6cudart_7cudaDeviceGetLimit(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, 6130, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_6cudaDeviceGetLimit(__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_6cudaDeviceGetLimit(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_limit) {
  size_t __pyx_v_pValue;
  enum __pyx_t_4cuda_7ccudart_cudaLimit __pyx_v_climit;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum __pyx_t_4cuda_7ccudart_cudaLimit __pyx_t_2;
  __pyx_t_4cuda_7ccudart_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__334)
  __Pyx_RefNannySetupContext("cudaDeviceGetLimit", 0);
  __Pyx_TraceCall("cudaDeviceGetLimit", __pyx_f[0], 6130, 0, __PYX_ERR(0, 6130, __pyx_L1_error));

  /* "cuda/cudart.pyx":6165
 *     cuCtxGetLimit
 *     """
 *     cdef size_t pValue = 0             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaLimit climit = limit.value
 *     err = ccudart.cudaDeviceGetLimit(&pValue, climit)
 */
  __pyx_v_pValue = 0;

  /* "cuda/cudart.pyx":6166
 *     """
 *     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, 6166, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum __pyx_t_4cuda_7ccudart_cudaLimit)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaLimit(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 6166, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_climit = __pyx_t_2;

  /* "cuda/cudart.pyx":6167
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 6167, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cudart.pyx":6168
 *     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, 6168, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 6168, __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, 6168, __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, 6168, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 6168, __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":6130
 * 
 * @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":6171
 * 
 * @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_9cudaDeviceGetTexture1DLinearMaxWidth(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_8cudaDeviceGetTexture1DLinearMaxWidth[] = "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 : cudaChannelFormatDesc\n        Texture format description.\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorUnsupportedLimit\n        cudaErrorInvalidValue\n    maxWidthInElements : int\n        Returns maximum number of texture elements allocatable for given\n        `fmtDesc`.\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_9cudaDeviceGetTexture1DLinearMaxWidth = {"cudaDeviceGetTexture1DLinearMaxWidth", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_9cudaDeviceGetTexture1DLinearMaxWidth, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_8cudaDeviceGetTexture1DLinearMaxWidth};
static PyObject *__pyx_pw_4cuda_6cudart_9cudaDeviceGetTexture1DLinearMaxWidth(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, 6171, __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, 6171, __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, 6171, __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, 6171, __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, 6171, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_8cudaDeviceGetTexture1DLinearMaxWidth(__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_8cudaDeviceGetTexture1DLinearMaxWidth(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_fmtDesc, int __pyx_v_device) {
  size_t __pyx_v_maxWidthInElements;
  struct __pyx_t_4cuda_7ccudart_cudaChannelFormatDesc *__pyx_v_cfmtDesc_ptr;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  struct __pyx_t_4cuda_7ccudart_cudaChannelFormatDesc *__pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  __pyx_t_4cuda_7ccudart_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__335)
  __Pyx_RefNannySetupContext("cudaDeviceGetTexture1DLinearMaxWidth", 0);
  __Pyx_TraceCall("cudaDeviceGetTexture1DLinearMaxWidth", __pyx_f[0], 6171, 0, __PYX_ERR(0, 6171, __pyx_L1_error));

  /* "cuda/cudart.pyx":6193
 *         `fmtDesc`.
 *     """
 *     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":6194
 *     """
 *     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, 6194, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 6194, __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":6195
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 6195, __pyx_L1_error)
  __pyx_v_err = __pyx_t_4;

  /* "cuda/cudart.pyx":6196
 *     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, 6196, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6196, __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, 6196, __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, 6196, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6196, __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":6171
 * 
 * @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":6199
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetCacheConfig():             # <<<<<<<<<<<<<<
 *     """ Returns the preferred cache configuration for the current device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_11cudaDeviceGetCacheConfig(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_10cudaDeviceGetCacheConfig[] = "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 cudaFuncCachePreferNone on devices\n    where the size of the L1 cache and shared memory are fixed.\n\n    The supported cache configurations are: ::cudaFuncCachePreferNone: no\n    preference for shared memory or L1 (default)\n    ::cudaFuncCachePreferShared: prefer larger shared memory and smaller L1\n    cache ::cudaFuncCachePreferL1: prefer larger L1 cache and smaller\n    shared memory ::cudaFuncCachePreferEqual: prefer equal size L1 cache\n    and shared memory\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n    pCacheConfig : cudaFuncCache\n        Returned cache configuration\n\n    See Also\n    --------\n    cudaDeviceSetCacheConfig\n    cudaFuncSetCacheConfig\n    cuCtxGetCacheConfig\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_11cudaDeviceGetCacheConfig = {"cudaDeviceGetCacheConfig", (PyCFunction)__pyx_pw_4cuda_6cudart_11cudaDeviceGetCacheConfig, METH_NOARGS, __pyx_doc_4cuda_6cudart_10cudaDeviceGetCacheConfig};
static PyObject *__pyx_pw_4cuda_6cudart_11cudaDeviceGetCacheConfig(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaDeviceGetCacheConfig (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_10cudaDeviceGetCacheConfig(__pyx_self);

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

static PyObject *__pyx_pf_4cuda_6cudart_10cudaDeviceGetCacheConfig(CYTHON_UNUSED PyObject *__pyx_self) {
  enum __pyx_t_4cuda_7ccudart_cudaFuncCache __pyx_v_pCacheConfig;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __pyx_t_4cuda_7ccudart_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__336)
  __Pyx_RefNannySetupContext("cudaDeviceGetCacheConfig", 0);
  __Pyx_TraceCall("cudaDeviceGetCacheConfig", __pyx_f[0], 6199, 0, __PYX_ERR(0, 6199, __pyx_L1_error));

  /* "cuda/cudart.pyx":6233
 *     """
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 6233, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":6234
 *     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, 6234, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6234, __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, 6234, __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, 6234, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaFuncCache(__pyx_v_pCacheConfig); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 6234, __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, 6234, __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, 6234, __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":6199
 * 
 * @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":6237
 * 
 * @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_13cudaDeviceGetStreamPriorityRange(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_12cudaDeviceGetStreamPriorityRange[] = "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 cudaStreamCreateWithPriority for\n    details on creating a priority stream. A NULL may be passed in for\n    `*leastPriority` or `*greatestPriority` if the value is not desired.\n\n    This function will return '0' in both `*leastPriority` and\n    `*greatestPriority` if the current context's device does not support\n    stream priorities (see cudaDeviceGetAttribute).\n\n    Returns\n    -------\n    cudaError_t\n        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    cudaStreamCreateWithPriority\n    cudaStreamGetPriority\n    cuCtxGetStreamPriorityRange\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_13cudaDeviceGetStreamPriorityRange = {"cudaDeviceGetStreamPriorityRange", (PyCFunction)__pyx_pw_4cuda_6cudart_13cudaDeviceGetStreamPriorityRange, METH_NOARGS, __pyx_doc_4cuda_6cudart_12cudaDeviceGetStreamPriorityRange};
static PyObject *__pyx_pw_4cuda_6cudart_13cudaDeviceGetStreamPriorityRange(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaDeviceGetStreamPriorityRange (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_12cudaDeviceGetStreamPriorityRange(__pyx_self);

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

static PyObject *__pyx_pf_4cuda_6cudart_12cudaDeviceGetStreamPriorityRange(CYTHON_UNUSED PyObject *__pyx_self) {
  int __pyx_v_leastPriority;
  int __pyx_v_greatestPriority;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __pyx_t_4cuda_7ccudart_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__337)
  __Pyx_RefNannySetupContext("cudaDeviceGetStreamPriorityRange", 0);
  __Pyx_TraceCall("cudaDeviceGetStreamPriorityRange", __pyx_f[0], 6237, 0, __PYX_ERR(0, 6237, __pyx_L1_error));

  /* "cuda/cudart.pyx":6273
 *     cuCtxGetStreamPriorityRange
 *     """
 *     cdef int leastPriority = 0             # <<<<<<<<<<<<<<
 *     cdef int greatestPriority = 0
 *     err = ccudart.cudaDeviceGetStreamPriorityRange(&leastPriority, &greatestPriority)
 */
  __pyx_v_leastPriority = 0;

  /* "cuda/cudart.pyx":6274
 *     """
 *     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":6275
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 6275, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":6276
 *     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, 6276, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6276, __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, 6276, __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, 6276, __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, 6276, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 6276, __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":6237
 * 
 * @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":6279
 * 
 * @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_15cudaDeviceSetCacheConfig(PyObject *__pyx_self, PyObject *__pyx_v_cacheConfig); /*proto*/
static char __pyx_doc_4cuda_6cudart_14cudaDeviceSetCacheConfig[] = "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 cudaFuncSetCacheConfig (C\n    API) or cudaFuncSetCacheConfig (C++ API) will be preferred over this\n    device-wide setting. Setting the device-wide cache configuration to\n    cudaFuncCachePreferNone will cause subsequent kernel launches to prefer\n    to not change the cache configuration unless required to launch the\n    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: ::cudaFuncCachePreferNone: no\n    preference for shared memory or L1 (default)\n    ::cudaFuncCachePreferShared: prefer larger shared memory and smaller L1\n    cache ::cudaFuncCachePreferL1: prefer larger L1 cache and smaller\n    shared memory ::cudaFuncCachePreferEqual: prefer equal size L1 cache\n    and shared memory\n\n    Parameters\n    ----------\n    cacheConfig : cudaFuncCache\n        Requested cache configuration\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n    None\n        None\n\n    See Also\n    --------\n    cudaDeviceGetCacheConfig\n    cudaFuncSetCacheConfig\n    cuCtxSetCacheConfig\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_15cudaDeviceSetCacheConfig = {"cudaDeviceSetCacheConfig", (PyCFunction)__pyx_pw_4cuda_6cudart_15cudaDeviceSetCacheConfig, METH_O, __pyx_doc_4cuda_6cudart_14cudaDeviceSetCacheConfig};
static PyObject *__pyx_pw_4cuda_6cudart_15cudaDeviceSetCacheConfig(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, 6279, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_14cudaDeviceSetCacheConfig(__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_14cudaDeviceSetCacheConfig(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_cacheConfig) {
  enum __pyx_t_4cuda_7ccudart_cudaFuncCache __pyx_v_ccacheConfig;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum __pyx_t_4cuda_7ccudart_cudaFuncCache __pyx_t_2;
  __pyx_t_4cuda_7ccudart_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__338)
  __Pyx_RefNannySetupContext("cudaDeviceSetCacheConfig", 0);
  __Pyx_TraceCall("cudaDeviceSetCacheConfig", __pyx_f[0], 6279, 0, __PYX_ERR(0, 6279, __pyx_L1_error));

  /* "cuda/cudart.pyx":6325
 *     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, 6325, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum __pyx_t_4cuda_7ccudart_cudaFuncCache)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaFuncCache(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 6325, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_ccacheConfig = __pyx_t_2;

  /* "cuda/cudart.pyx":6326
 *     """
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 6326, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cudart.pyx":6327
 *     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, 6327, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 6327, __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, 6327, __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, 6327, __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":6279
 * 
 * @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":6330
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetSharedMemConfig():             # <<<<<<<<<<<<<<
 *     """ Returns the shared memory configuration for the current device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_17cudaDeviceGetSharedMemConfig(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_16cudaDeviceGetSharedMemConfig[] = "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, cudaDeviceSetSharedMemConfig can be used to change this\n    setting, so that all subsequent kernel launches will by default use the\n    new bank size. When cudaDeviceGetSharedMemConfig is called on devices\n    without configurable shared memory, it will return the fixed bank size\n    of the hardware.\n\n    The returned bank configurations can be either:\n    ::cudaSharedMemBankSizeFourByte - shared memory bank width is four\n    bytes. ::cudaSharedMemBankSizeEightByte - shared memory bank width is\n    eight bytes.\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    pConfig : cudaSharedMemConfig\n        Returned cache configuration\n\n    See Also\n    --------\n    cudaDeviceSetCacheConfig\n    cudaDeviceGetCacheConfig\n    cudaDeviceSetSharedMemConfig\n    cudaFuncSetCacheConfig\n    cuCtxGetSharedMemConfig\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_17cudaDeviceGetSharedMemConfig = {"cudaDeviceGetSharedMemConfig", (PyCFunction)__pyx_pw_4cuda_6cudart_17cudaDeviceGetSharedMemConfig, METH_NOARGS, __pyx_doc_4cuda_6cudart_16cudaDeviceGetSharedMemConfig};
static PyObject *__pyx_pw_4cuda_6cudart_17cudaDeviceGetSharedMemConfig(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaDeviceGetSharedMemConfig (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_16cudaDeviceGetSharedMemConfig(__pyx_self);

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

static PyObject *__pyx_pf_4cuda_6cudart_16cudaDeviceGetSharedMemConfig(CYTHON_UNUSED PyObject *__pyx_self) {
  enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig __pyx_v_pConfig;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __pyx_t_4cuda_7ccudart_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__339)
  __Pyx_RefNannySetupContext("cudaDeviceGetSharedMemConfig", 0);
  __Pyx_TraceCall("cudaDeviceGetSharedMemConfig", __pyx_f[0], 6330, 0, __PYX_ERR(0, 6330, __pyx_L1_error));

  /* "cuda/cudart.pyx":6363
 *     """
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 6363, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":6364
 *     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, 6364, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6364, __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, 6364, __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, 6364, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaSharedMemConfig(__pyx_v_pConfig); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 6364, __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, 6364, __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, 6364, __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":6330
 * 
 * @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":6367
 * 
 * @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_19cudaDeviceSetSharedMemConfig(PyObject *__pyx_self, PyObject *__pyx_v_config); /*proto*/
static char __pyx_doc_4cuda_6cudart_18cudaDeviceSetSharedMemConfig[] = "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    cudaFuncSetSharedMemConfig will override the device wide 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: ::cudaSharedMemBankSizeDefault:\n    set bank width the device default (currently, four bytes)\n    ::cudaSharedMemBankSizeFourByte: set shared memory bank width to be\n    four bytes natively. ::cudaSharedMemBankSizeEightByte: set shared\n    memory bank width to be eight bytes natively.\n\n    Parameters\n    ----------\n    config : cudaSharedMemConfig\n        Requested cache configuration\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    None\n        None\n\n    See Also\n    --------\n    cudaDeviceSetCacheConfig\n    cudaDeviceGetCacheConfig\n    cudaDeviceGetSharedMemConfig\n    cudaFuncSetCacheConfig\n    cuCtxSetSharedMemConfig\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_19cudaDeviceSetSharedMemConfig = {"cudaDeviceSetSharedMemConfig", (PyCFunction)__pyx_pw_4cuda_6cudart_19cudaDeviceSetSharedMemConfig, METH_O, __pyx_doc_4cuda_6cudart_18cudaDeviceSetSharedMemConfig};
static PyObject *__pyx_pw_4cuda_6cudart_19cudaDeviceSetSharedMemConfig(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, 6367, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_18cudaDeviceSetSharedMemConfig(__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_18cudaDeviceSetSharedMemConfig(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_config) {
  enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig __pyx_v_cconfig;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig __pyx_t_2;
  __pyx_t_4cuda_7ccudart_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__340)
  __Pyx_RefNannySetupContext("cudaDeviceSetSharedMemConfig", 0);
  __Pyx_TraceCall("cudaDeviceSetSharedMemConfig", __pyx_f[0], 6367, 0, __PYX_ERR(0, 6367, __pyx_L1_error));

  /* "cuda/cudart.pyx":6414
 *     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, 6414, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaSharedMemConfig(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 6414, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cconfig = __pyx_t_2;

  /* "cuda/cudart.pyx":6415
 *     """
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 6415, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cudart.pyx":6416
 *     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, 6416, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 6416, __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, 6416, __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, 6416, __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":6367
 * 
 * @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":6419
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetByPCIBusId(char* pciBusId):             # <<<<<<<<<<<<<<
 *     """ Returns a handle to a compute device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_21cudaDeviceGetByPCIBusId(PyObject *__pyx_self, PyObject *__pyx_arg_pciBusId); /*proto*/
static char __pyx_doc_4cuda_6cudart_20cudaDeviceGetByPCIBusId[] = "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    Parameters\n    ----------\n    pciBusId : bytes\n        String in one of the following forms:\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorInvalidDevice\n    device : int\n        Returned device ordinal\n\n    See Also\n    --------\n    cudaDeviceGetPCIBusId\n    cuDeviceGetByPCIBusId\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_21cudaDeviceGetByPCIBusId = {"cudaDeviceGetByPCIBusId", (PyCFunction)__pyx_pw_4cuda_6cudart_21cudaDeviceGetByPCIBusId, METH_O, __pyx_doc_4cuda_6cudart_20cudaDeviceGetByPCIBusId};
static PyObject *__pyx_pw_4cuda_6cudart_21cudaDeviceGetByPCIBusId(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, 6419, __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_20cudaDeviceGetByPCIBusId(__pyx_self, ((char *)__pyx_v_pciBusId));

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

static PyObject *__pyx_pf_4cuda_6cudart_20cudaDeviceGetByPCIBusId(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_pciBusId) {
  int __pyx_v_device;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __pyx_t_4cuda_7ccudart_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__341)
  __Pyx_RefNannySetupContext("cudaDeviceGetByPCIBusId", 0);
  __Pyx_TraceCall("cudaDeviceGetByPCIBusId", __pyx_f[0], 6419, 0, __PYX_ERR(0, 6419, __pyx_L1_error));

  /* "cuda/cudart.pyx":6443
 *     cuDeviceGetByPCIBusId
 *     """
 *     cdef int device = 0             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaDeviceGetByPCIBusId(&device, pciBusId)
 *     return (cudaError_t(err), device)
 */
  __pyx_v_device = 0;

  /* "cuda/cudart.pyx":6444
 *     """
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 6444, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":6445
 *     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, 6445, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6445, __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, 6445, __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, 6445, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6445, __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":6419
 * 
 * @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":6448
 * 
 * @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_23cudaDeviceGetPCIBusId(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_22cudaDeviceGetPCIBusId[] = "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    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        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorInvalidDevice\n    pciBusId : bytes\n        Returned identifier string for the device in the following format\n\n    See Also\n    --------\n    cudaDeviceGetByPCIBusId\n    cuDeviceGetPCIBusId\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_23cudaDeviceGetPCIBusId = {"cudaDeviceGetPCIBusId", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_23cudaDeviceGetPCIBusId, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_22cudaDeviceGetPCIBusId};
static PyObject *__pyx_pw_4cuda_6cudart_23cudaDeviceGetPCIBusId(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, 6448, __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, 6448, __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, 6448, __pyx_L3_error)
    __pyx_v_device = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_device == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 6448, __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, 6448, __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_22cudaDeviceGetPCIBusId(__pyx_self, __pyx_v_length, __pyx_v_device);

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

static PyObject *__pyx_pf_4cuda_6cudart_22cudaDeviceGetPCIBusId(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_length, int __pyx_v_device) {
  char *__pyx_v_pciBusId;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __pyx_t_4cuda_7ccudart_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__342)
  __Pyx_RefNannySetupContext("cudaDeviceGetPCIBusId", 0);
  __Pyx_TraceCall("cudaDeviceGetPCIBusId", __pyx_f[0], 6448, 0, __PYX_ERR(0, 6448, __pyx_L1_error));

  /* "cuda/cudart.pyx":6476
 *     cuDeviceGetPCIBusId
 *     """
 *     cdef char* pciBusId = <char*>calloc(1, length)             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaDeviceGetPCIBusId(pciBusId, length, device)
 *     return (cudaError_t(err), <bytes>pciBusId)
 */
  __pyx_v_pciBusId = ((char *)calloc(1, __pyx_v_length));

  /* "cuda/cudart.pyx":6477
 *     """
 *     cdef char* pciBusId = <char*>calloc(1, length)
 *     err = ccudart.cudaDeviceGetPCIBusId(pciBusId, length, device)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), <bytes>pciBusId)
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_7ccudart_cudaDeviceGetPCIBusId(__pyx_v_pciBusId, __pyx_v_length, __pyx_v_device); if (unlikely(__pyx_t_1 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 6477, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":6478
 *     cdef char* pciBusId = <char*>calloc(1, length)
 *     err = ccudart.cudaDeviceGetPCIBusId(pciBusId, length, device)
 *     return (cudaError_t(err), <bytes>pciBusId)             # <<<<<<<<<<<<<<
 * 
 * @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, 6478, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6478, __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, 6478, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyBytes_FromString(__pyx_v_pciBusId); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6478, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6478, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
  __Pyx_INCREF(((PyObject*)__pyx_t_3));
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3);
  __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6448
 * 
 * @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_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceGetPCIBusId", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6481
 * 
 * @cython.embedsignature(True)
 * def cudaIpcGetEventHandle(event):             # <<<<<<<<<<<<<<
 *     """ Gets an interprocess handle for a previously allocated event.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_25cudaIpcGetEventHandle(PyObject *__pyx_self, PyObject *__pyx_v_event); /*proto*/
static char __pyx_doc_4cuda_6cudart_24cudaIpcGetEventHandle[] = "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 cudaEventInterprocess and cudaEventDisableTiming flags\n    set. This opaque handle may be copied into other processes and opened\n    with cudaIpcOpenEventHandle to allow efficient hardware synchronization\n    between GPU work in different processes.\n\n    After the event has been been opened in the importing process,\n    cudaEventRecord, cudaEventSynchronize, cudaStreamWaitEvent and\n    cudaEventQuery may be used in either process. Performing operations on\n    the imported event after the exported event has been freed with\n    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 : CUevent or cudaEvent_t\n        Event allocated with cudaEventInterprocess and\n        cudaEventDisableTiming flags.\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidResourceHandle\n        cudaErrorMemoryAllocation\n        cudaErrorMapBufferObjectFailed\n        cudaErrorNotSupported\n        cudaErrorInvalidValue\n    handle : cudaIpcEventHandle_t\n        Pointer to a user allocated cudaIpcEventHandle in which to return\n        the opaque event handle\n\n    See Also\n    --------\n    cudaEventCreate\n    cudaEventDestroy\n    cudaEventSynchronize\n    cudaEventQuery\n    cudaStreamWaitEvent\n    cudaIpcOpenEventHandle\n    cudaIpcGetMemHandle\n    cudaIpcOpenMemHandle\n    cudaIpcCloseMemHandle\n    cuIpcGetEventHandle\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_25cudaIpcGetEventHandle = {"cudaIpcGetEventHandle", (PyCFunction)__pyx_pw_4cuda_6cudart_25cudaIpcGetEventHandle, METH_O, __pyx_doc_4cuda_6cudart_24cudaIpcGetEventHandle};
static PyObject *__pyx_pw_4cuda_6cudart_25cudaIpcGetEventHandle(PyObject *__pyx_self, PyObject *__pyx_v_event) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaIpcGetEventHandle (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_24cudaIpcGetEventHandle(__pyx_self, ((PyObject *)__pyx_v_event));

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

static PyObject *__pyx_pf_4cuda_6cudart_24cudaIpcGetEventHandle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_event) {
  struct __pyx_obj_4cuda_6cudart_cudaIpcEventHandle_t *__pyx_v_handle = 0;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__343)
  __Pyx_RefNannySetupContext("cudaIpcGetEventHandle", 0);
  __Pyx_TraceCall("cudaIpcGetEventHandle", __pyx_f[0], 6481, 0, __PYX_ERR(0, 6481, __pyx_L1_error));

  /* "cuda/cudart.pyx":6532
 *     cuIpcGetEventHandle
 *     """
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     cdef cudaIpcEventHandle_t handle = cudaIpcEventHandle_t()
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_6cudart_cudaEvent_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_4cuda_CUevent); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":6533
 *     """
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))             # <<<<<<<<<<<<<<
 *     cdef cudaIpcEventHandle_t handle = cudaIpcEventHandle_t()
 *     err = ccudart.cudaIpcGetEventHandle(handle._ptr, <ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0])
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_event))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6533, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_event_is_not_instance_o, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 6533, __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, 6533, __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, 6533, __pyx_L1_error)

    /* "cuda/cudart.pyx":6532
 *     cuIpcGetEventHandle
 *     """
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     cdef cudaIpcEventHandle_t handle = cudaIpcEventHandle_t()
 */
  }

  /* "cuda/cudart.pyx":6534
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     cdef cudaIpcEventHandle_t handle = cudaIpcEventHandle_t()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaIpcGetEventHandle(handle._ptr, <ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0])
 *     return (cudaError_t(err), handle)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaIpcEventHandle_t)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6534, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_handle = ((struct __pyx_obj_4cuda_6cudart_cudaIpcEventHandle_t *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":6535
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     cdef cudaIpcEventHandle_t handle = cudaIpcEventHandle_t()
 *     err = ccudart.cudaIpcGetEventHandle(handle._ptr, <ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), handle)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaIpcGetEventHandle(__pyx_v_handle->__pyx_base._ptr, ((__pyx_t_4cuda_7ccudart_cudaEvent_t)(((struct __pyx_obj_4cuda_6cudart_cudaEvent_t *)__pyx_v_event)->__pyx_base._ptr[0]))); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 6535, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":6536
 *     cdef cudaIpcEventHandle_t handle = cudaIpcEventHandle_t()
 *     err = ccudart.cudaIpcGetEventHandle(handle._ptr, <ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0])
 *     return (cudaError_t(err), handle)             # <<<<<<<<<<<<<<
 * 
 * @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, 6536, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 6536, __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_4 = (__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_4)) __PYX_ERR(0, 6536, __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, 6536, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
  __Pyx_INCREF(((PyObject *)__pyx_v_handle));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_handle));
  PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_handle));
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":6481
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaIpcGetEventHandle", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_handle);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6539
 * 
 * @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_27cudaIpcOpenEventHandle(PyObject *__pyx_self, PyObject *__pyx_v_handle); /*proto*/
static char __pyx_doc_4cuda_6cudart_26cudaIpcOpenEventHandle[] = "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    cudaIpcGetEventHandle. This function returns a cudaEvent_t that behaves\n    like a locally created event with the cudaEventDisableTiming flag\n    specified. This event must be freed with cudaEventDestroy.\n\n    Performing operations on the imported event after the exported event\n    has been freed with 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    handle : cudaIpcEventHandle_t\n        Interprocess handle to open\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorMapBufferObjectFailed\n        cudaErrorNotSupported\n        cudaErrorInvalidValue\n        cudaErrorDeviceUninitialized\n    event : cudaEvent_t\n        Returns the imported event\n\n    See Also\n    --------\n    cudaEventCreate\n    cudaEventDestroy\n    cudaEventSynchronize\n    cudaEventQuery\n    cudaStreamWaitEvent\n    cudaIpcGetEventHandle\n    cudaIpcGetMemHandle\n    cudaIpcOpenMemHandle\n    cudaIpcCloseMemHandle\n    cuIpcOpenEventHandle\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_27cudaIpcOpenEventHandle = {"cudaIpcOpenEventHandle", (PyCFunction)__pyx_pw_4cuda_6cudart_27cudaIpcOpenEventHandle, METH_O, __pyx_doc_4cuda_6cudart_26cudaIpcOpenEventHandle};
static PyObject *__pyx_pw_4cuda_6cudart_27cudaIpcOpenEventHandle(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, 6539, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_26cudaIpcOpenEventHandle(__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_26cudaIpcOpenEventHandle(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;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_7ccudart_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__344)
  __Pyx_RefNannySetupContext("cudaIpcOpenEventHandle", 0);
  __Pyx_TraceCall("cudaIpcOpenEventHandle", __pyx_f[0], 6539, 0, __PYX_ERR(0, 6539, __pyx_L1_error));

  /* "cuda/cudart.pyx":6583
 *     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, 6583, __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":6584
 *     """
 *     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(((__pyx_t_4cuda_7ccudart_cudaEvent_t *)__pyx_v_event->__pyx_base._ptr), (__pyx_v_handle->__pyx_base._ptr[0])); if (unlikely(__pyx_t_2 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 6584, __pyx_L1_error)
  __pyx_v_err = __pyx_t_2;

  /* "cuda/cudart.pyx":6585
 *     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, 6585, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6585, __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, 6585, __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, 6585, __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":6539
 * 
 * @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":6588
 * 
 * @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_29cudaIpcGetMemHandle(PyObject *__pyx_self, PyObject *__pyx_v_devPtr); /*proto*/
static char __pyx_doc_4cuda_6cudart_28cudaIpcGetMemHandle[] = "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 cudaMalloc and exports it for use in another process. This\n    is a lightweight operation and may be called multiple times on an\n    allocation without adverse effects.\n\n    If a region of memory is freed with cudaFree and a subsequent call to\n    cudaMalloc returns memory with the same device address,\n    cudaIpcGetMemHandle will return a unique 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        cudaSuccess\n        cudaErrorMemoryAllocation\n        cudaErrorMapBufferObjectFailed\n        cudaErrorNotSupported\n        cudaErrorInvalidValue\n    handle : cudaIpcMemHandle_t\n        Pointer to user allocated cudaIpcMemHandle to return the handle in.\n\n    See Also\n    --------\n    cudaMalloc\n    cudaFree\n    cudaIpcGetEventHandle\n    cudaIpcOpenEventHandle\n    cudaIpcOpenMemHandle\n    cudaIpcCloseMemHandle\n    cuIpcGetMemHandle\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_29cudaIpcGetMemHandle = {"cudaIpcGetMemHandle", (PyCFunction)__pyx_pw_4cuda_6cudart_29cudaIpcGetMemHandle, METH_O, __pyx_doc_4cuda_6cudart_28cudaIpcGetMemHandle};
static PyObject *__pyx_pw_4cuda_6cudart_29cudaIpcGetMemHandle(PyObject *__pyx_self, PyObject *__pyx_v_devPtr) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaIpcGetMemHandle (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_28cudaIpcGetMemHandle(__pyx_self, ((PyObject *)__pyx_v_devPtr));

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

static PyObject *__pyx_pf_4cuda_6cudart_28cudaIpcGetMemHandle(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;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__345)
  __Pyx_RefNannySetupContext("cudaIpcGetMemHandle", 0);
  __Pyx_TraceCall("cudaIpcGetMemHandle", __pyx_f[0], 6588, 0, __PYX_ERR(0, 6588, __pyx_L1_error));

  /* "cuda/cudart.pyx":6630
 *     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, 6630, __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":6631
 *     """
 *     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, 6631, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cdevPtr = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":6632
 *     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, 6632, __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, 6632, __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":6633
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 6633, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cudart.pyx":6634
 *     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, 6634, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 6634, __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, 6634, __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, 6634, __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":6588
 * 
 * @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":6637
 * 
 * @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_31cudaIpcOpenMemHandle(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_30cudaIpcOpenMemHandle[] = "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 cudaIpcGetMemHandle into\n    the current device address space. For contexts on different devices\n    cudaIpcOpenMemHandle can attempt to enable peer access between the\n    devices as if the user called cudaDeviceEnablePeerAccess. This behavior\n    is controlled by the cudaIpcMemLazyEnablePeerAccess flag.\n    cudaDeviceCanAccessPeer can determine if a mapping is possible.\n\n    cudaIpcOpenMemHandle can open handles to devices that may not be\n    visible in the process calling the API.\n\n    Contexts that may open cudaIpcMemHandles are restricted in the\n    following way. cudaIpcMemHandles from each device in a given process\n    may only be opened by one context per device per other process.\n\n    If the memory handle has already been opened by the current context,\n    the reference count on the handle is incremented by 1 and the existing\n    device pointer is returned.\n\n    Memory returned from cudaIpcOpenMemHandle must be freed with\n    cudaIpcCloseMemHandle.\n\n    Calling cudaFree on an exported memory region before calling\n    cudaIpcCloseMemHandle in the importing context will result in undefined\n    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 : cudaIpcMemHandle_t\n        ::cudaIpcMemHandle to open\n    flags : unsigned int\n        Flags for this operation. Must be specified as\n        cudaIpcMemLazyEnablePeerAccess\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorMapBufferObjectFailed\n        cudaErrorInvalidResourceHandle\n        cudaErrorDeviceUninitia""lized\n        cudaErrorTooManyPeers\n        cudaErrorNotSupported\n        cudaErrorInvalidValue\n    devPtr : int\n        Returned device pointer\n\n    See Also\n    --------\n    cudaMalloc\n    cudaFree\n    cudaIpcGetEventHandle\n    cudaIpcOpenEventHandle\n    cudaIpcGetMemHandle\n    cudaIpcCloseMemHandle\n    cudaDeviceEnablePeerAccess\n    cudaDeviceCanAccessPeer\n    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\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_31cudaIpcOpenMemHandle = {"cudaIpcOpenMemHandle", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_31cudaIpcOpenMemHandle, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_30cudaIpcOpenMemHandle};
static PyObject *__pyx_pw_4cuda_6cudart_31cudaIpcOpenMemHandle(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, 6637, __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, 6637, __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, 6637, __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, 6637, __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, 6637, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_30cudaIpcOpenMemHandle(__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_30cudaIpcOpenMemHandle(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;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __pyx_t_4cuda_7ccudart_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__346)
  __Pyx_RefNannySetupContext("cudaIpcOpenMemHandle", 0);
  __Pyx_TraceCall("cudaIpcOpenMemHandle", __pyx_f[0], 6637, 0, __PYX_ERR(0, 6637, __pyx_L1_error));

  /* "cuda/cudart.pyx":6708
 * 
 *     """
 *     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":6709
 *     """
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 6709, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":6710
 *     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, 6710, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6710, __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, 6710, __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, 6710, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6710, __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":6637
 * 
 * @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":6713
 * 
 * @cython.embedsignature(True)
 * def cudaIpcCloseMemHandle(devPtr):             # <<<<<<<<<<<<<<
 *     """ Attempts to close memory mapped with cudaIpcOpenMemHandle.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_33cudaIpcCloseMemHandle(PyObject *__pyx_self, PyObject *__pyx_v_devPtr); /*proto*/
static char __pyx_doc_4cuda_6cudart_32cudaIpcCloseMemHandle[] = "cudaIpcCloseMemHandle(devPtr)\n Attempts to close memory mapped with cudaIpcOpenMemHandle.\n\n    Decrements the reference count of the memory returnd by\n    cudaIpcOpenMemHandle by 1. When the reference count reaches 0, this API\n    unmaps the memory. The original allocation in the exporting process as\n    well as imported mappings in other processes will be 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 cudaIpcOpenMemHandle\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorMapBufferObjectFailed\n        cudaErrorNotSupported\n        cudaErrorInvalidValue\n    None\n        None\n\n    See Also\n    --------\n    cudaMalloc\n    cudaFree\n    cudaIpcGetEventHandle\n    cudaIpcOpenEventHandle\n    cudaIpcGetMemHandle\n    cudaIpcOpenMemHandle\n    cuIpcCloseMemHandle\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_33cudaIpcCloseMemHandle = {"cudaIpcCloseMemHandle", (PyCFunction)__pyx_pw_4cuda_6cudart_33cudaIpcCloseMemHandle, METH_O, __pyx_doc_4cuda_6cudart_32cudaIpcCloseMemHandle};
static PyObject *__pyx_pw_4cuda_6cudart_33cudaIpcCloseMemHandle(PyObject *__pyx_self, PyObject *__pyx_v_devPtr) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaIpcCloseMemHandle (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_32cudaIpcCloseMemHandle(__pyx_self, ((PyObject *)__pyx_v_devPtr));

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

static PyObject *__pyx_pf_4cuda_6cudart_32cudaIpcCloseMemHandle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_devPtr) {
  PyObject *__pyx_v_cdevPtr = NULL;
  void *__pyx_v_cdevPtr_ptr;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__347)
  __Pyx_RefNannySetupContext("cudaIpcCloseMemHandle", 0);
  __Pyx_TraceCall("cudaIpcCloseMemHandle", __pyx_f[0], 6713, 0, __PYX_ERR(0, 6713, __pyx_L1_error));

  /* "cuda/cudart.pyx":6753
 *     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, 6753, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cdevPtr = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":6754
 *     """
 *     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, 6754, __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, 6754, __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":6755
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 6755, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cudart.pyx":6756
 *     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, 6756, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 6756, __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, 6756, __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, 6756, __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":6713
 * 
 * @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":6759
 * 
 * @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_35cudaDeviceFlushGPUDirectRDMAWrites(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_34cudaDeviceFlushGPUDirectRDMAWrites[] = "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    cudaDevAttrGPUDirectRDMAWritesOrdering, the call will be a no-op and\n    can be safely omitted for performance. This can be determined by\n    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    cudaDevAttrGPUDirectRDMAFlushWritesOptions.\n\n    Parameters\n    ----------\n    target : cudaFlushGPUDirectRDMAWritesTarget\n        The target of the operation, see cudaFlushGPUDirectRDMAWritesTarget\n    scope : cudaFlushGPUDirectRDMAWritesScope\n        The scope of the operation, see cudaFlushGPUDirectRDMAWritesScope\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorNotSupported\n    None\n        None\n\n    See Also\n    --------\n    cuFlushGPUDirectRDMAWrites\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_35cudaDeviceFlushGPUDirectRDMAWrites = {"cudaDeviceFlushGPUDirectRDMAWrites", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_35cudaDeviceFlushGPUDirectRDMAWrites, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_34cudaDeviceFlushGPUDirectRDMAWrites};
static PyObject *__pyx_pw_4cuda_6cudart_35cudaDeviceFlushGPUDirectRDMAWrites(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, 6759, __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, 6759, __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, 6759, __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, 6759, __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, 6759, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_34cudaDeviceFlushGPUDirectRDMAWrites(__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_34cudaDeviceFlushGPUDirectRDMAWrites(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_target, PyObject *__pyx_v_scope) {
  enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget __pyx_v_ctarget;
  enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope __pyx_v_cscope;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget __pyx_t_2;
  enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope __pyx_t_3;
  __pyx_t_4cuda_7ccudart_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__348)
  __Pyx_RefNannySetupContext("cudaDeviceFlushGPUDirectRDMAWrites", 0);
  __Pyx_TraceCall("cudaDeviceFlushGPUDirectRDMAWrites", __pyx_f[0], 6759, 0, __PYX_ERR(0, 6759, __pyx_L1_error));

  /* "cuda/cudart.pyx":6795
 *     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, 6795, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 6795, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_ctarget = __pyx_t_2;

  /* "cuda/cudart.pyx":6796
 *     """
 *     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, 6796, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = ((enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 6796, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cscope = __pyx_t_3;

  /* "cuda/cudart.pyx":6797
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 6797, __pyx_L1_error)
  __pyx_v_err = __pyx_t_4;

  /* "cuda/cudart.pyx":6798
 *     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, 6798, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6798, __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, 6798, __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, 6798, __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":6759
 * 
 * @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":6801
 * 
 * @cython.embedsignature(True)
 * def cudaThreadExit():             # <<<<<<<<<<<<<<
 *     """ Exit and clean up from CUDA launches.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_37cudaThreadExit(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_36cudaThreadExit[] = "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 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        cudaSuccess\n    None\n        None\n\n    See Also\n    --------\n    cudaDeviceReset\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_37cudaThreadExit = {"cudaThreadExit", (PyCFunction)__pyx_pw_4cuda_6cudart_37cudaThreadExit, METH_NOARGS, __pyx_doc_4cuda_6cudart_36cudaThreadExit};
static PyObject *__pyx_pw_4cuda_6cudart_37cudaThreadExit(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaThreadExit (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_36cudaThreadExit(__pyx_self);

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

static PyObject *__pyx_pf_4cuda_6cudart_36cudaThreadExit(CYTHON_UNUSED PyObject *__pyx_self) {
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __pyx_t_4cuda_7ccudart_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__349)
  __Pyx_RefNannySetupContext("cudaThreadExit", 0);
  __Pyx_TraceCall("cudaThreadExit", __pyx_f[0], 6801, 0, __PYX_ERR(0, 6801, __pyx_L1_error));

  /* "cuda/cudart.pyx":6830
 *     cudaDeviceReset
 *     """
 *     err = ccudart.cudaThreadExit()             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_7ccudart_cudaThreadExit(); if (unlikely(__pyx_t_1 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 6830, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":6831
 *     """
 *     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, 6831, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6831, __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, 6831, __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, 6831, __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":6801
 * 
 * @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":6834
 * 
 * @cython.embedsignature(True)
 * def cudaThreadSynchronize():             # <<<<<<<<<<<<<<
 *     """ Wait for compute device to finish.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_39cudaThreadSynchronize(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_38cudaThreadSynchronize[] = "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 cudaDeviceSynchronize(), which should be used instead.\n\n    Blocks until the device has completed all preceding requested tasks.\n    cudaThreadSynchronize() returns an error if one of the preceding tasks\n    has failed. If the 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        cudaSuccess\n    None\n        None\n\n    See Also\n    --------\n    cudaDeviceSynchronize\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_39cudaThreadSynchronize = {"cudaThreadSynchronize", (PyCFunction)__pyx_pw_4cuda_6cudart_39cudaThreadSynchronize, METH_NOARGS, __pyx_doc_4cuda_6cudart_38cudaThreadSynchronize};
static PyObject *__pyx_pw_4cuda_6cudart_39cudaThreadSynchronize(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaThreadSynchronize (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_38cudaThreadSynchronize(__pyx_self);

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

static PyObject *__pyx_pf_4cuda_6cudart_38cudaThreadSynchronize(CYTHON_UNUSED PyObject *__pyx_self) {
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __pyx_t_4cuda_7ccudart_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__350)
  __Pyx_RefNannySetupContext("cudaThreadSynchronize", 0);
  __Pyx_TraceCall("cudaThreadSynchronize", __pyx_f[0], 6834, 0, __PYX_ERR(0, 6834, __pyx_L1_error));

  /* "cuda/cudart.pyx":6860
 *     cudaDeviceSynchronize
 *     """
 *     err = ccudart.cudaThreadSynchronize()             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_7ccudart_cudaThreadSynchronize(); if (unlikely(__pyx_t_1 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 6860, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":6861
 *     """
 *     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, 6861, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6861, __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, 6861, __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, 6861, __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":6834
 * 
 * @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":6864
 * 
 * @cython.embedsignature(True)
 * def cudaThreadSetLimit(limit not None : cudaLimit, size_t value):             # <<<<<<<<<<<<<<
 *     """ Set resource limits.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_41cudaThreadSetLimit(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_40cudaThreadSetLimit[] = "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 cudaDeviceSetLimit(), which should be used 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 cudaThreadGetLimit() to find out\n    exactly what the limit has been set to.\n\n    Setting each cudaLimit has its own specific restrictions, so each is\n    discussed here.\n\n    ::cudaLimitStackSize controls the stack size of each GPU thread.\n    ::cudaLimitPrintfFifoSize controls the size of the shared FIFO used by\n    the printf() device system call. Setting cudaLimitPrintfFifoSize must\n    be performed before launching any kernel that uses the printf() device\n    system call, otherwise cudaErrorInvalidValue will be returned.\n    ::cudaLimitMallocHeapSize controls the size of the heap used by the\n    malloc() and free() device system calls. Setting\n    cudaLimitMallocHeapSize must be performed before launching any kernel\n    that uses the malloc() or free() device system calls, otherwise\n    cudaErrorInvalidValue will be returned.\n\n    Parameters\n    ----------\n    limit : cudaLimit\n        Limit to set\n    value : size_t\n        Size in bytes of limit\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorUnsupportedLimit\n        cudaErrorInvalidValue\n    None\n        None\n\n    See Also\n    --------\n    cudaDeviceSetLimit\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_41cudaThreadSetLimit = {"cudaThreadSetLimit", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_41cudaThreadSetLimit, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_40cudaThreadSetLimit};
static PyObject *__pyx_pw_4cuda_6cudart_41cudaThreadSetLimit(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, 6864, __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, 6864, __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, 6864, __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, 6864, __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, 6864, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_40cudaThreadSetLimit(__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_40cudaThreadSetLimit(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_limit, size_t __pyx_v_value) {
  enum __pyx_t_4cuda_7ccudart_cudaLimit __pyx_v_climit;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum __pyx_t_4cuda_7ccudart_cudaLimit __pyx_t_2;
  __pyx_t_4cuda_7ccudart_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__351)
  __Pyx_RefNannySetupContext("cudaThreadSetLimit", 0);
  __Pyx_TraceCall("cudaThreadSetLimit", __pyx_f[0], 6864, 0, __PYX_ERR(0, 6864, __pyx_L1_error));

  /* "cuda/cudart.pyx":6914
 *     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, 6914, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum __pyx_t_4cuda_7ccudart_cudaLimit)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaLimit(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 6914, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_climit = __pyx_t_2;

  /* "cuda/cudart.pyx":6915
 *     """
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 6915, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cudart.pyx":6916
 *     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, 6916, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 6916, __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, 6916, __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, 6916, __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":6864
 * 
 * @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":6919
 * 
 * @cython.embedsignature(True)
 * def cudaThreadGetLimit(limit not None : cudaLimit):             # <<<<<<<<<<<<<<
 *     """ Returns resource limits.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_43cudaThreadGetLimit(PyObject *__pyx_self, PyObject *__pyx_v_limit); /*proto*/
static char __pyx_doc_4cuda_6cudart_42cudaThreadGetLimit[] = "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 cudaDeviceGetLimit(), which should be used instead.\n\n    Returns in `*pValue` the current size of `limit`. The supported\n    cudaLimit values are: ::cudaLimitStackSize: stack size of each GPU\n    thread; ::cudaLimitPrintfFifoSize: size of the shared FIFO used by the\n    printf() device system call. ::cudaLimitMallocHeapSize: size of the\n    heap used by the malloc() and free() device system calls;\n\n    Parameters\n    ----------\n    limit : cudaLimit\n        Limit to query\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorUnsupportedLimit\n        cudaErrorInvalidValue\n    pValue : int\n        Returned size in bytes of limit\n\n    See Also\n    --------\n    cudaDeviceGetLimit\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_43cudaThreadGetLimit = {"cudaThreadGetLimit", (PyCFunction)__pyx_pw_4cuda_6cudart_43cudaThreadGetLimit, METH_O, __pyx_doc_4cuda_6cudart_42cudaThreadGetLimit};
static PyObject *__pyx_pw_4cuda_6cudart_43cudaThreadGetLimit(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, 6919, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_42cudaThreadGetLimit(__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_42cudaThreadGetLimit(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_limit) {
  size_t __pyx_v_pValue;
  enum __pyx_t_4cuda_7ccudart_cudaLimit __pyx_v_climit;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum __pyx_t_4cuda_7ccudart_cudaLimit __pyx_t_2;
  __pyx_t_4cuda_7ccudart_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__352)
  __Pyx_RefNannySetupContext("cudaThreadGetLimit", 0);
  __Pyx_TraceCall("cudaThreadGetLimit", __pyx_f[0], 6919, 0, __PYX_ERR(0, 6919, __pyx_L1_error));

  /* "cuda/cudart.pyx":6952
 *     cudaDeviceGetLimit
 *     """
 *     cdef size_t pValue = 0             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaLimit climit = limit.value
 *     err = ccudart.cudaThreadGetLimit(&pValue, climit)
 */
  __pyx_v_pValue = 0;

  /* "cuda/cudart.pyx":6953
 *     """
 *     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, 6953, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum __pyx_t_4cuda_7ccudart_cudaLimit)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaLimit(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 6953, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_climit = __pyx_t_2;

  /* "cuda/cudart.pyx":6954
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 6954, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cudart.pyx":6955
 *     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, 6955, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 6955, __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, 6955, __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, 6955, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 6955, __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":6919
 * 
 * @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":6958
 * 
 * @cython.embedsignature(True)
 * def cudaThreadGetCacheConfig():             # <<<<<<<<<<<<<<
 *     """ Returns the preferred cache configuration for the current device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_45cudaThreadGetCacheConfig(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_44cudaThreadGetCacheConfig[] = "cudaThreadGetCacheConfig()\n Returns the preferred cache configuration for the current device.\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 cudaDeviceGetCacheConfig(), which should be used instead.\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 cudaFuncCachePreferNone on devices\n    where the size of the L1 cache and shared memory are fixed.\n\n    The supported cache configurations are: ::cudaFuncCachePreferNone: no\n    preference for shared memory or L1 (default)\n    ::cudaFuncCachePreferShared: prefer larger shared memory and smaller L1\n    cache ::cudaFuncCachePreferL1: prefer larger L1 cache and smaller\n    shared memory\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n    pCacheConfig : cudaFuncCache\n        Returned cache configuration\n\n    See Also\n    --------\n    cudaDeviceGetCacheConfig\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_45cudaThreadGetCacheConfig = {"cudaThreadGetCacheConfig", (PyCFunction)__pyx_pw_4cuda_6cudart_45cudaThreadGetCacheConfig, METH_NOARGS, __pyx_doc_4cuda_6cudart_44cudaThreadGetCacheConfig};
static PyObject *__pyx_pw_4cuda_6cudart_45cudaThreadGetCacheConfig(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaThreadGetCacheConfig (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_44cudaThreadGetCacheConfig(__pyx_self);

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

static PyObject *__pyx_pf_4cuda_6cudart_44cudaThreadGetCacheConfig(CYTHON_UNUSED PyObject *__pyx_self) {
  enum __pyx_t_4cuda_7ccudart_cudaFuncCache __pyx_v_pCacheConfig;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __pyx_t_4cuda_7ccudart_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__353)
  __Pyx_RefNannySetupContext("cudaThreadGetCacheConfig", 0);
  __Pyx_TraceCall("cudaThreadGetCacheConfig", __pyx_f[0], 6958, 0, __PYX_ERR(0, 6958, __pyx_L1_error));

  /* "cuda/cudart.pyx":6995
 *     """
 *     cdef ccudart.cudaFuncCache pCacheConfig
 *     err = ccudart.cudaThreadGetCacheConfig(&pCacheConfig)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), cudaFuncCache(pCacheConfig))
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_7ccudart_cudaThreadGetCacheConfig((&__pyx_v_pCacheConfig)); if (unlikely(__pyx_t_1 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 6995, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":6996
 *     cdef ccudart.cudaFuncCache pCacheConfig
 *     err = ccudart.cudaThreadGetCacheConfig(&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, 6996, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6996, __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, 6996, __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, 6996, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaFuncCache(__pyx_v_pCacheConfig); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 6996, __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, 6996, __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, 6996, __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":6958
 * 
 * @cython.embedsignature(True)
 * def cudaThreadGetCacheConfig():             # <<<<<<<<<<<<<<
 *     """ 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.cudaThreadGetCacheConfig", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":6999
 * 
 * @cython.embedsignature(True)
 * def cudaThreadSetCacheConfig(cacheConfig not None : cudaFuncCache):             # <<<<<<<<<<<<<<
 *     """ Sets the preferred cache configuration for the current device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_47cudaThreadSetCacheConfig(PyObject *__pyx_self, PyObject *__pyx_v_cacheConfig); /*proto*/
static char __pyx_doc_4cuda_6cudart_46cudaThreadSetCacheConfig[] = "cudaThreadSetCacheConfig(cacheConfig: cudaFuncCache)\n Sets the preferred cache configuration for the current device.\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 cudaDeviceSetCacheConfig(), which should be used instead.\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 cudaFuncSetCacheConfig (C\n    API) or cudaFuncSetCacheConfig (C++ API) will be preferred over this\n    device-wide setting. Setting the device-wide cache configuration to\n    cudaFuncCachePreferNone will cause subsequent kernel launches to prefer\n    to not change the cache configuration unless required to launch the\n    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: ::cudaFuncCachePreferNone: no\n    preference for shared memory or L1 (default)\n    ::cudaFuncCachePreferShared: prefer larger shared memory and smaller L1\n    cache ::cudaFuncCachePreferL1: prefer larger L1 cache and smaller\n    shared memory\n\n    Parameters\n    ----------\n    cacheConfig : cudaFuncCache\n        Requested cache configuration\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n    None\n        None\n\n    See Also\n    --------\n    cudaDeviceSetCacheConfig\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_47cudaThreadSetCacheConfig = {"cudaThreadSetCacheConfig", (PyCFunction)__pyx_pw_4cuda_6cudart_47cudaThreadSetCacheConfig, METH_O, __pyx_doc_4cuda_6cudart_46cudaThreadSetCacheConfig};
static PyObject *__pyx_pw_4cuda_6cudart_47cudaThreadSetCacheConfig(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("cudaThreadSetCacheConfig (wrapper)", 0);
  if (unlikely(((PyObject *)__pyx_v_cacheConfig) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "cacheConfig"); __PYX_ERR(0, 6999, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_46cudaThreadSetCacheConfig(__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_46cudaThreadSetCacheConfig(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_cacheConfig) {
  enum __pyx_t_4cuda_7ccudart_cudaFuncCache __pyx_v_ccacheConfig;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum __pyx_t_4cuda_7ccudart_cudaFuncCache __pyx_t_2;
  __pyx_t_4cuda_7ccudart_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__354)
  __Pyx_RefNannySetupContext("cudaThreadSetCacheConfig", 0);
  __Pyx_TraceCall("cudaThreadSetCacheConfig", __pyx_f[0], 6999, 0, __PYX_ERR(0, 6999, __pyx_L1_error));

  /* "cuda/cudart.pyx":7048
 *     cudaDeviceSetCacheConfig
 *     """
 *     cdef ccudart.cudaFuncCache ccacheConfig = cacheConfig.value             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaThreadSetCacheConfig(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, 7048, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum __pyx_t_4cuda_7ccudart_cudaFuncCache)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaFuncCache(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 7048, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_ccacheConfig = __pyx_t_2;

  /* "cuda/cudart.pyx":7049
 *     """
 *     cdef ccudart.cudaFuncCache ccacheConfig = cacheConfig.value
 *     err = ccudart.cudaThreadSetCacheConfig(ccacheConfig)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_3 = __pyx_f_4cuda_7ccudart_cudaThreadSetCacheConfig(__pyx_v_ccacheConfig); if (unlikely(__pyx_t_3 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 7049, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cudart.pyx":7050
 *     cdef ccudart.cudaFuncCache ccacheConfig = cacheConfig.value
 *     err = ccudart.cudaThreadSetCacheConfig(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, 7050, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 7050, __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, 7050, __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, 7050, __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":6999
 * 
 * @cython.embedsignature(True)
 * def cudaThreadSetCacheConfig(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.cudaThreadSetCacheConfig", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7053
 * 
 * @cython.embedsignature(True)
 * def cudaGetLastError():             # <<<<<<<<<<<<<<
 *     """ Returns the last error from a runtime call.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_49cudaGetLastError(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_48cudaGetLastError[] = "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 cudaSuccess.\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorMissingConfiguration\n        cudaErrorMemoryAllocation\n        cudaErrorInitializationError\n        cudaErrorLaunchFailure\n        cudaErrorLaunchTimeout\n        cudaErrorLaunchOutOfResources\n        cudaErrorInvalidDeviceFunction\n        cudaErrorInvalidConfiguration\n        cudaErrorInvalidDevice\n        cudaErrorInvalidValue\n        cudaErrorInvalidPitchValue\n        cudaErrorInvalidSymbol\n        cudaErrorUnmapBufferObjectFailed\n        cudaErrorInvalidDevicePointer\n        cudaErrorInvalidTexture\n        cudaErrorInvalidTextureBinding\n        cudaErrorInvalidChannelDescriptor\n        cudaErrorInvalidMemcpyDirection\n        cudaErrorInvalidFilterSetting\n        cudaErrorInvalidNormSetting\n        cudaErrorUnknown\n        cudaErrorInvalidResourceHandle\n        cudaErrorInsufficientDriver\n        cudaErrorNoDevice\n        cudaErrorSetOnActiveProcess\n        cudaErrorStartupFailure\n        cudaErrorInvalidPtx\n        cudaErrorUnsupportedPtxVersion\n        cudaErrorNoKernelImageForDevice\n        cudaErrorJitCompilerNotFound\n        cudaErrorJitCompilationDisabled\n    None\n        None\n\n    See Also\n    --------\n    cudaPeekAtLastError\n    cudaGetErrorName\n    cudaGetErrorString\n    cudaError\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_49cudaGetLastError = {"cudaGetLastError", (PyCFunction)__pyx_pw_4cuda_6cudart_49cudaGetLastError, METH_NOARGS, __pyx_doc_4cuda_6cudart_48cudaGetLastError};
static PyObject *__pyx_pw_4cuda_6cudart_49cudaGetLastError(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGetLastError (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_48cudaGetLastError(__pyx_self);

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

static PyObject *__pyx_pf_4cuda_6cudart_48cudaGetLastError(CYTHON_UNUSED PyObject *__pyx_self) {
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __pyx_t_4cuda_7ccudart_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__355)
  __Pyx_RefNannySetupContext("cudaGetLastError", 0);
  __Pyx_TraceCall("cudaGetLastError", __pyx_f[0], 7053, 0, __PYX_ERR(0, 7053, __pyx_L1_error));

  /* "cuda/cudart.pyx":7104
 *     cudaError
 *     """
 *     err = ccudart.cudaGetLastError()             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_7ccudart_cudaGetLastError(); if (unlikely(__pyx_t_1 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 7104, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":7105
 *     """
 *     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, 7105, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7105, __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, 7105, __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, 7105, __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":7053
 * 
 * @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":7108
 * 
 * @cython.embedsignature(True)
 * def cudaPeekAtLastError():             # <<<<<<<<<<<<<<
 *     """ Returns the last error from a runtime call.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_51cudaPeekAtLastError(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_50cudaPeekAtLastError[] = "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 cudaSuccess like cudaGetLastError().\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorMissingConfiguration\n        cudaErrorMemoryAllocation\n        cudaErrorInitializationError\n        cudaErrorLaunchFailure\n        cudaErrorLaunchTimeout\n        cudaErrorLaunchOutOfResources\n        cudaErrorInvalidDeviceFunction\n        cudaErrorInvalidConfiguration\n        cudaErrorInvalidDevice\n        cudaErrorInvalidValue\n        cudaErrorInvalidPitchValue\n        cudaErrorInvalidSymbol\n        cudaErrorUnmapBufferObjectFailed\n        cudaErrorInvalidDevicePointer\n        cudaErrorInvalidTexture\n        cudaErrorInvalidTextureBinding\n        cudaErrorInvalidChannelDescriptor\n        cudaErrorInvalidMemcpyDirection\n        cudaErrorInvalidFilterSetting\n        cudaErrorInvalidNormSetting\n        cudaErrorUnknown\n        cudaErrorInvalidResourceHandle\n        cudaErrorInsufficientDriver\n        cudaErrorNoDevice\n        cudaErrorSetOnActiveProcess\n        cudaErrorStartupFailure\n        cudaErrorInvalidPtx\n        cudaErrorUnsupportedPtxVersion\n        cudaErrorNoKernelImageForDevice\n        cudaErrorJitCompilerNotFound\n        cudaErrorJitCompilationDisabled\n    None\n        None\n\n    See Also\n    --------\n    cudaGetLastError\n    cudaGetErrorName\n    cudaGetErrorString\n    cudaError\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_51cudaPeekAtLastError = {"cudaPeekAtLastError", (PyCFunction)__pyx_pw_4cuda_6cudart_51cudaPeekAtLastError, METH_NOARGS, __pyx_doc_4cuda_6cudart_50cudaPeekAtLastError};
static PyObject *__pyx_pw_4cuda_6cudart_51cudaPeekAtLastError(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaPeekAtLastError (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_50cudaPeekAtLastError(__pyx_self);

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

static PyObject *__pyx_pf_4cuda_6cudart_50cudaPeekAtLastError(CYTHON_UNUSED PyObject *__pyx_self) {
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __pyx_t_4cuda_7ccudart_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__356)
  __Pyx_RefNannySetupContext("cudaPeekAtLastError", 0);
  __Pyx_TraceCall("cudaPeekAtLastError", __pyx_f[0], 7108, 0, __PYX_ERR(0, 7108, __pyx_L1_error));

  /* "cuda/cudart.pyx":7160
 *     cudaError
 *     """
 *     err = ccudart.cudaPeekAtLastError()             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_7ccudart_cudaPeekAtLastError(); if (unlikely(__pyx_t_1 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 7160, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":7161
 *     """
 *     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, 7161, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7161, __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, 7161, __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, 7161, __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":7108
 * 
 * @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":7164
 * 
 * @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_53cudaGetErrorName(PyObject *__pyx_self, PyObject *__pyx_v_error); /*proto*/
static char __pyx_doc_4cuda_6cudart_52cudaGetErrorName[] = "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 : cudaError_t\n        Error code to convert to string\n\n    Returns\n    -------\n    cudaError_t\n        `char*` pointer to a NULL-terminated string\n    None\n        None\n\n    See Also\n    --------\n    cudaGetErrorString\n    cudaGetLastError\n    cudaPeekAtLastError\n    cudaError\n    cuGetErrorName\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_53cudaGetErrorName = {"cudaGetErrorName", (PyCFunction)__pyx_pw_4cuda_6cudart_53cudaGetErrorName, METH_O, __pyx_doc_4cuda_6cudart_52cudaGetErrorName};
static PyObject *__pyx_pw_4cuda_6cudart_53cudaGetErrorName(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, 7164, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_52cudaGetErrorName(__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_52cudaGetErrorName(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_error) {
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_cerror;
  char const *__pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_7ccudart_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__357)
  __Pyx_RefNannySetupContext("cudaGetErrorName", 0);
  __Pyx_TraceCall("cudaGetErrorName", __pyx_f[0], 7164, 0, __PYX_ERR(0, 7164, __pyx_L1_error));

  /* "cuda/cudart.pyx":7191
 *     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, 7191, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum __pyx_t_4cuda_7ccudart_cudaError)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 7191, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cerror = __pyx_t_2;

  /* "cuda/cudart.pyx":7192
 *     """
 *     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, 7192, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cudart.pyx":7193
 *     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, 7193, __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, 7193, __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, 7193, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 7193, __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":7164
 * 
 * @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":7196
 * 
 * @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_55cudaGetErrorString(PyObject *__pyx_self, PyObject *__pyx_v_error); /*proto*/
static char __pyx_doc_4cuda_6cudart_54cudaGetErrorString[] = "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 : cudaError_t\n        Error code to convert to string\n\n    Returns\n    -------\n    cudaError_t\n        `char*` pointer to a NULL-terminated string\n    None\n        None\n\n    See Also\n    --------\n    cudaGetErrorName\n    cudaGetLastError\n    cudaPeekAtLastError\n    cudaError\n    cuGetErrorString\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_55cudaGetErrorString = {"cudaGetErrorString", (PyCFunction)__pyx_pw_4cuda_6cudart_55cudaGetErrorString, METH_O, __pyx_doc_4cuda_6cudart_54cudaGetErrorString};
static PyObject *__pyx_pw_4cuda_6cudart_55cudaGetErrorString(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, 7196, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_54cudaGetErrorString(__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_54cudaGetErrorString(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_error) {
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_cerror;
  char const *__pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_7ccudart_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__358)
  __Pyx_RefNannySetupContext("cudaGetErrorString", 0);
  __Pyx_TraceCall("cudaGetErrorString", __pyx_f[0], 7196, 0, __PYX_ERR(0, 7196, __pyx_L1_error));

  /* "cuda/cudart.pyx":7222
 *     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, 7222, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum __pyx_t_4cuda_7ccudart_cudaError)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 7222, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cerror = __pyx_t_2;

  /* "cuda/cudart.pyx":7223
 *     """
 *     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, 7223, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cudart.pyx":7224
 *     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, 7224, __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, 7224, __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, 7224, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 7224, __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":7196
 * 
 * @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":7227
 * 
 * @cython.embedsignature(True)
 * def cudaGetDeviceCount():             # <<<<<<<<<<<<<<
 *     """ Returns the number of compute-capable devices.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_57cudaGetDeviceCount(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_56cudaGetDeviceCount[] = "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        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    cudaGetDevice\n    cudaSetDevice\n    cudaGetDeviceProperties\n    cudaChooseDevice\n    cuDeviceGetCount\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_57cudaGetDeviceCount = {"cudaGetDeviceCount", (PyCFunction)__pyx_pw_4cuda_6cudart_57cudaGetDeviceCount, METH_NOARGS, __pyx_doc_4cuda_6cudart_56cudaGetDeviceCount};
static PyObject *__pyx_pw_4cuda_6cudart_57cudaGetDeviceCount(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGetDeviceCount (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_56cudaGetDeviceCount(__pyx_self);

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

static PyObject *__pyx_pf_4cuda_6cudart_56cudaGetDeviceCount(CYTHON_UNUSED PyObject *__pyx_self) {
  int __pyx_v_count;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __pyx_t_4cuda_7ccudart_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__359)
  __Pyx_RefNannySetupContext("cudaGetDeviceCount", 0);
  __Pyx_TraceCall("cudaGetDeviceCount", __pyx_f[0], 7227, 0, __PYX_ERR(0, 7227, __pyx_L1_error));

  /* "cuda/cudart.pyx":7249
 *     cuDeviceGetCount
 *     """
 *     cdef int count = 0             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGetDeviceCount(&count)
 *     return (cudaError_t(err), count)
 */
  __pyx_v_count = 0;

  /* "cuda/cudart.pyx":7250
 *     """
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 7250, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":7251
 *     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, 7251, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7251, __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, 7251, __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, 7251, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7251, __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":7227
 * 
 * @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":7254
 * 
 * @cython.embedsignature(True)
 * def cudaGetDeviceProperties(int device):             # <<<<<<<<<<<<<<
 *     """ Returns information about the compute-device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_59cudaGetDeviceProperties(PyObject *__pyx_self, PyObject *__pyx_arg_device); /*proto*/
static char __pyx_doc_4cuda_6cudart_58cudaGetDeviceProperties[] = "cudaGetDeviceProperties(int device)\n Returns information about the compute-device.\n\n    Returns in `*prop` the properties of device `dev`. The cudaDeviceProp\n    structure is defined as: structcudaDeviceProp{ charname[256];\n    cudaUUID_tuuid; size_ttotalGlobalMem; size_tsharedMemPerBlock;\n    intregsPerBlock; intwarpSize; size_tmemPitch; intmaxThreadsPerBlock;\n    intmaxThreadsDim[3]; intmaxGridSize[3]; intclockRate;\n    size_ttotalConstMem; intmajor; intminor; size_ttextureAlignment;\n    size_ttexturePitchAlignment; intdeviceOverlap; intmultiProcessorCount;\n    intkernelExecTimeoutEnabled; intintegrated; intcanMapHostMemory;\n    intcomputeMode; intmaxTexture1D; intmaxTexture1DMipmap;\n    intmaxTexture1DLinear; intmaxTexture2D[2]; intmaxTexture2DMipmap[2];\n    intmaxTexture2DLinear[3]; intmaxTexture2DGather[2]; intmaxTexture3D[3];\n    intmaxTexture3DAlt[3]; intmaxTextureCubemap; intmaxTexture1DLayered[2];\n    intmaxTexture2DLayered[3]; intmaxTextureCubemapLayered[2];\n    intmaxSurface1D; intmaxSurface2D[2]; intmaxSurface3D[3];\n    intmaxSurface1DLayered[2]; intmaxSurface2DLayered[3];\n    intmaxSurfaceCubemap; intmaxSurfaceCubemapLayered[2];\n    size_tsurfaceAlignment; intconcurrentKernels; intECCEnabled;\n    intpciBusID; intpciDeviceID; intpciDomainID; inttccDriver;\n    intasyncEngineCount; intunifiedAddressing; intmemoryClockRate;\n    intmemoryBusWidth; intl2CacheSize; intpersistingL2CacheMaxSize;\n    intmaxThreadsPerMultiProcessor; intstreamPrioritiesSupported;\n    intglobalL1CacheSupported; intlocalL1CacheSupported;\n    size_tsharedMemPerMultiprocessor; intregsPerMultiprocessor;\n    intmanagedMemory; intisMultiGpuBoard; intmultiGpuBoardGroupID;\n    intsingleToDoublePrecisionPerfRatio; intpageableMemoryAccess;\n    intconcurrentManagedAccess; intcomputePreemptionSupported;\n    intcanUseHostPointerForRegisteredMem; intcooperativeLaunch;\n    intcooperativeMultiDeviceLaunch;\n    intpageableMemoryAccessUsesHostPageTables;\n    intdirectM""anagedMemAccessFromHost; intaccessPolicyMaxWindowSize; }\n    where: name[256] is an ASCII string identifying the device; uuid is a\n    16-byte unique identifier. totalGlobalMem is the total amount of global\n    memory available on the device in bytes; sharedMemPerBlock is the\n    maximum amount of shared memory available to a thread block in bytes;\n    regsPerBlock is the maximum number of 32-bit registers available to a\n    thread block; warpSize is the warp size in threads; memPitch is the\n    maximum pitch in bytes allowed by the memory copy functions that\n    involve memory regions allocated through cudaMallocPitch();\n    maxThreadsPerBlock is the maximum number of threads per block;\n    maxThreadsDim[3] contains the maximum size of each dimension of a\n    block; maxGridSize[3] contains the maximum size of each dimension of a\n    grid; clockRate is the clock frequency in kilohertz; totalConstMem is\n    the total amount of constant memory available on the device in bytes;\n    major, minor are the major and minor revision numbers defining the\n    device's compute capability; textureAlignment is the alignment\n    requirement; texture base addresses that are aligned to\n    textureAlignment bytes do not need an offset applied to texture\n    fetches; texturePitchAlignment is the pitch alignment requirement for\n    2D texture references that are bound to pitched memory; deviceOverlap\n    is 1 if the device can concurrently copy memory between host and device\n    while executing a kernel, or 0 if not. Deprecated, use instead\n    asyncEngineCount. multiProcessorCount is the number of multiprocessors\n    on the device; kernelExecTimeoutEnabled is 1 if there is a run time\n    limit for kernels executed on the device, or 0 if not. integrated is 1\n    if the device is an integrated (motherboard) GPU and 0 if it is a\n    discrete (card) component. canMapHostMemory is 1 if the device can map\n    host memory into the CUDA address space for use with""\n    cudaHostAlloc()/cudaHostGetDevicePointer(), or 0 if not; computeMode is\n    the compute mode that the device is currently in. Available modes are\n    as follows: cudaComputeModeDefault: Default mode - Device is not\n    restricted and multiple threads can use cudaSetDevice() with this\n    device. cudaComputeModeExclusive: Compute-exclusive mode - Only one\n    thread will be able to use cudaSetDevice() with this device.\n    cudaComputeModeProhibited: Compute-prohibited mode - No threads can use\n    cudaSetDevice() with this device. cudaComputeModeExclusiveProcess:\n    Compute-exclusive-process mode - Many threads in one process will be\n    able to use cudaSetDevice() with this device.  If cudaSetDevice() is\n    called on an already occupied `device` with computeMode\n    cudaComputeModeExclusive, cudaErrorDeviceAlreadyInUse will be\n    immediately returned indicating the device cannot be used. When an\n    occupied exclusive mode device is chosen with cudaSetDevice, all\n    subsequent non-device management runtime functions will return\n    cudaErrorDevicesUnavailable.   maxTexture1D is the maximum 1D texture\n    size. maxTexture1DMipmap is the maximum 1D mipmapped texture texture\n    size. maxTexture1DLinear is the maximum 1D texture size for textures\n    bound to linear memory. maxTexture2D[2] contains the maximum 2D texture\n    dimensions. maxTexture2DMipmap[2] contains the maximum 2D mipmapped\n    texture dimensions. maxTexture2DLinear[3] contains the maximum 2D\n    texture dimensions for 2D textures bound to pitch linear memory.\n    maxTexture2DGather[2] contains the maximum 2D texture dimensions if\n    texture gather operations have to be performed. maxTexture3D[3]\n    contains the maximum 3D texture dimensions. maxTexture3DAlt[3] contains\n    the maximum alternate 3D texture dimensions. maxTextureCubemap is the\n    maximum cubemap texture width or height. maxTexture1DLayered[2]\n    contains the maximum 1D layered texture dimensions"".\n    maxTexture2DLayered[3] contains the maximum 2D layered texture\n    dimensions. maxTextureCubemapLayered[2] contains the maximum cubemap\n    layered texture dimensions. maxSurface1D is the maximum 1D surface\n    size. maxSurface2D[2] contains the maximum 2D surface dimensions.\n    maxSurface3D[3] contains the maximum 3D surface dimensions.\n    maxSurface1DLayered[2] contains the maximum 1D layered surface\n    dimensions. maxSurface2DLayered[3] contains the maximum 2D layered\n    surface dimensions. maxSurfaceCubemap is the maximum cubemap surface\n    width or height. maxSurfaceCubemapLayered[2] contains the maximum\n    cubemap layered surface dimensions. surfaceAlignment specifies the\n    alignment requirements for surfaces. concurrentKernels is 1 if the\n    device supports executing multiple kernels within the same context\n    simultaneously, or 0 if not. It is not guaranteed that multiple kernels\n    will be resident on the device concurrently so this feature should not\n    be relied upon for correctness; ECCEnabled is 1 if the device has ECC\n    support turned on, or 0 if not. pciBusID is the PCI bus identifier of\n    the device. pciDeviceID is the PCI device (sometimes called slot)\n    identifier of the device. pciDomainID is the PCI domain identifier of\n    the device. tccDriver is 1 if the device is using a TCC driver or 0 if\n    not. asyncEngineCount is 1 when the device can concurrently copy memory\n    between host and device while executing a kernel. It is 2 when the\n    device can concurrently copy memory between host and device in both\n    directions and execute a kernel at the same time. It is 0 if neither of\n    these is supported. unifiedAddressing is 1 if the device shares a\n    unified address space with the host and 0 otherwise. memoryClockRate is\n    the peak memory clock frequency in kilohertz. memoryBusWidth is the\n    memory bus width  in bits. l2CacheSize is L2 cache size in bytes.\n    persistingL2CacheMaxSize i""s L2 cache's maximum persisting lines size in\n    bytes. maxThreadsPerMultiProcessor  is the number of maximum resident\n    threads per multiprocessor. streamPrioritiesSupported is 1 if the\n    device supports stream priorities, or 0 if it is not supported.\n    globalL1CacheSupported is 1 if the device supports caching of globals\n    in L1 cache, or 0 if it is not supported. localL1CacheSupported is 1 if\n    the device supports caching of locals in L1 cache, or 0 if it is not\n    supported. sharedMemPerMultiprocessor is the maximum amount of shared\n    memory available to a multiprocessor in bytes; this amount is shared by\n    all thread blocks simultaneously resident on a multiprocessor;\n    regsPerMultiprocessor is the maximum number of 32-bit registers\n    available to a multiprocessor; this number is shared by all thread\n    blocks simultaneously resident on a multiprocessor; managedMemory is 1\n    if the device supports allocating managed memory on this system, or 0\n    if it is not supported. isMultiGpuBoard is 1 if the device is on a\n    multi-GPU board (e.g. Gemini cards), and 0 if not; multiGpuBoardGroupID\n    is a unique identifier for a group of devices associated with the same\n    board. Devices on the same multi-GPU board will share the same\n    identifier; singleToDoublePrecisionPerfRatio  is the ratio of single\n    precision performance (in floating-point operations per second) to\n    double precision performance. pageableMemoryAccess is 1 if the device\n    supports coherently accessing pageable memory without calling\n    cudaHostRegister on it, and 0 otherwise. concurrentManagedAccess is 1\n    if the device can coherently access managed memory concurrently with\n    the CPU, and 0 otherwise. computePreemptionSupported is 1 if the device\n    supports Compute Preemption, and 0 otherwise.\n    canUseHostPointerForRegisteredMem is 1 if the device can access host\n    registered memory at the same virtual address as the CPU, and 0""\n    otherwise. cooperativeLaunch is 1 if the device supports launching\n    cooperative kernels via cudaLaunchCooperativeKernel, and 0 otherwise.\n    cooperativeMultiDeviceLaunch is 1 if the device supports launching\n    cooperative kernels via cudaLaunchCooperativeKernelMultiDevice, and 0\n    otherwise. pageableMemoryAccessUsesHostPageTables is 1 if the device\n    accesses pageable memory via the host's page tables, and 0 otherwise.\n    directManagedMemAccessFromHost is 1 if the host can directly access\n    managed memory on the device without migration, and 0 otherwise.\n    maxBlocksPerMultiProcessor is the maximum number of thread blocks that\n    can reside on a multiprocessor. accessPolicyMaxWindowSize is the\n    maximum value of 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        cudaSuccess\n        cudaErrorInvalidDevice\n    prop : cudaDeviceProp\n        Properties for the specified device\n\n    See Also\n    --------\n    cudaGetDeviceCount\n    cudaGetDevice\n    cudaSetDevice\n    cudaChooseDevice\n    cudaDeviceGetAttribute\n    cuDeviceGetAttribute\n    cuDeviceGetName\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_59cudaGetDeviceProperties = {"cudaGetDeviceProperties", (PyCFunction)__pyx_pw_4cuda_6cudart_59cudaGetDeviceProperties, METH_O, __pyx_doc_4cuda_6cudart_58cudaGetDeviceProperties};
static PyObject *__pyx_pw_4cuda_6cudart_59cudaGetDeviceProperties(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, 7254, __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_58cudaGetDeviceProperties(__pyx_self, ((int)__pyx_v_device));

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

static PyObject *__pyx_pf_4cuda_6cudart_58cudaGetDeviceProperties(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_device) {
  struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_prop = 0;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_7ccudart_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__360)
  __Pyx_RefNannySetupContext("cudaGetDeviceProperties", 0);
  __Pyx_TraceCall("cudaGetDeviceProperties", __pyx_f[0], 7254, 0, __PYX_ERR(0, 7254, __pyx_L1_error));

  /* "cuda/cudart.pyx":7432
 *     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, 7432, __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":7433
 *     """
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 7433, __pyx_L1_error)
  __pyx_v_err = __pyx_t_2;

  /* "cuda/cudart.pyx":7434
 *     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, 7434, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7434, __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, 7434, __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, 7434, __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":7254
 * 
 * @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":7437
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetAttribute(attr not None : cudaDeviceAttr, int device):             # <<<<<<<<<<<<<<
 *     """ Returns information about the device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_61cudaDeviceGetAttribute(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_60cudaDeviceGetAttribute[] = "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    ::cudaDevAttrMaxThreadsPerBlock: Maximum number of threads per block\n    ::cudaDevAttrMaxBlockDimX: Maximum x-dimension of a block\n    ::cudaDevAttrMaxBlockDimY: Maximum y-dimension of a block\n    ::cudaDevAttrMaxBlockDimZ: Maximum z-dimension of a block\n    ::cudaDevAttrMaxGridDimX: Maximum x-dimension of a grid\n    ::cudaDevAttrMaxGridDimY: Maximum y-dimension of a grid\n    ::cudaDevAttrMaxGridDimZ: Maximum z-dimension of a grid\n    ::cudaDevAttrMaxSharedMemoryPerBlock: Maximum amount of shared memory\n    available to a thread block in bytes ::cudaDevAttrTotalConstantMemory:\n    Memory available on device for constant variables in a CUDA C kernel in\n    bytes ::cudaDevAttrWarpSize: Warp size in threads\n    ::cudaDevAttrMaxPitch: Maximum pitch in bytes allowed by the memory\n    copy functions that involve memory regions allocated through\n    cudaMallocPitch() ::cudaDevAttrMaxTexture1DWidth: Maximum 1D texture\n    width ::cudaDevAttrMaxTexture1DLinearWidth: Maximum width for a 1D\n    texture bound to linear memory ::cudaDevAttrMaxTexture1DMipmappedWidth:\n    Maximum mipmapped 1D texture width ::cudaDevAttrMaxTexture2DWidth:\n    Maximum 2D texture width ::cudaDevAttrMaxTexture2DHeight: Maximum 2D\n    texture height ::cudaDevAttrMaxTexture2DLinearWidth: Maximum width for\n    a 2D texture bound to linear memory\n    ::cudaDevAttrMaxTexture2DLinearHeight: Maximum height for a 2D texture\n    bound to linear memory ::cudaDevAttrMaxTexture2DLinearPitch: Maximum\n    pitch in bytes for a 2D texture bound to linear memory\n    ::cudaDevAttrMaxTexture2DMipmappedWidth: Maximum mipmapped 2D texture\n    width ::cudaDevAttrMaxTexture2DMipmappedHeight: Maximum mipmapped 2D\n    texture height ::cudaDevAttrMaxTexture3DWidth: Maximum 3D tex""ture width\n    ::cudaDevAttrMaxTexture3DHeight: Maximum 3D texture height\n    ::cudaDevAttrMaxTexture3DDepth: Maximum 3D texture depth\n    ::cudaDevAttrMaxTexture3DWidthAlt: Alternate maximum 3D texture width,\n    0 if no alternate maximum 3D texture size is supported\n    ::cudaDevAttrMaxTexture3DHeightAlt: Alternate maximum 3D texture\n    height, 0 if no alternate maximum 3D texture size is supported\n    ::cudaDevAttrMaxTexture3DDepthAlt: Alternate maximum 3D texture depth,\n    0 if no alternate maximum 3D texture size is supported\n    ::cudaDevAttrMaxTextureCubemapWidth: Maximum cubemap texture width or\n    height ::cudaDevAttrMaxTexture1DLayeredWidth: Maximum 1D layered\n    texture width ::cudaDevAttrMaxTexture1DLayeredLayers: Maximum layers in\n    a 1D layered texture ::cudaDevAttrMaxTexture2DLayeredWidth: Maximum 2D\n    layered texture width ::cudaDevAttrMaxTexture2DLayeredHeight: Maximum\n    2D layered texture height ::cudaDevAttrMaxTexture2DLayeredLayers:\n    Maximum layers in a 2D layered texture\n    ::cudaDevAttrMaxTextureCubemapLayeredWidth: Maximum cubemap layered\n    texture width or height ::cudaDevAttrMaxTextureCubemapLayeredLayers:\n    Maximum layers in a cubemap layered texture\n    ::cudaDevAttrMaxSurface1DWidth: Maximum 1D surface width\n    ::cudaDevAttrMaxSurface2DWidth: Maximum 2D surface width\n    ::cudaDevAttrMaxSurface2DHeight: Maximum 2D surface height\n    ::cudaDevAttrMaxSurface3DWidth: Maximum 3D surface width\n    ::cudaDevAttrMaxSurface3DHeight: Maximum 3D surface height\n    ::cudaDevAttrMaxSurface3DDepth: Maximum 3D surface depth\n    ::cudaDevAttrMaxSurface1DLayeredWidth: Maximum 1D layered surface width\n    ::cudaDevAttrMaxSurface1DLayeredLayers: Maximum layers in a 1D layered\n    surface ::cudaDevAttrMaxSurface2DLayeredWidth: Maximum 2D layered\n    surface width ::cudaDevAttrMaxSurface2DLayeredHeight: Maximum 2D\n    layered surface height ::cudaDevAttrMaxSurface2DLayeredLayers: Maximum\n    layers in a 2D lay""ered surface ::cudaDevAttrMaxSurfaceCubemapWidth:\n    Maximum cubemap surface width\n    ::cudaDevAttrMaxSurfaceCubemapLayeredWidth: Maximum cubemap layered\n    surface width ::cudaDevAttrMaxSurfaceCubemapLayeredLayers: Maximum\n    layers in a cubemap layered surface ::cudaDevAttrMaxRegistersPerBlock:\n    Maximum number of 32-bit registers available to a thread block\n    ::cudaDevAttrClockRate: Peak clock frequency in kilohertz\n    ::cudaDevAttrTextureAlignment: Alignment requirement; texture base\n    addresses aligned to textureAlign bytes do not need an offset applied\n    to texture fetches ::cudaDevAttrTexturePitchAlignment: Pitch alignment\n    requirement for 2D texture references bound to pitched memory\n    ::cudaDevAttrGpuOverlap: 1 if the device can concurrently copy memory\n    between host and device while executing a kernel, or 0 if not\n    ::cudaDevAttrMultiProcessorCount: Number of multiprocessors on the\n    device ::cudaDevAttrKernelExecTimeout: 1 if there is a run time limit\n    for kernels executed on the device, or 0 if not\n    ::cudaDevAttrIntegrated: 1 if the device is integrated with the memory\n    subsystem, or 0 if not ::cudaDevAttrCanMapHostMemory: 1 if the device\n    can map host memory into the CUDA address space, or 0 if not\n    ::cudaDevAttrComputeMode: Compute mode is the compute mode that the\n    device is currently in. Available modes are as follows:\n    ::cudaComputeModeDefault: Default mode - Device is not restricted and\n    multiple threads can use cudaSetDevice() with this device.\n    ::cudaComputeModeExclusive: Compute-exclusive mode - Only one thread\n    will be able to use cudaSetDevice() with this device.\n    ::cudaComputeModeProhibited: Compute-prohibited mode - No threads can\n    use cudaSetDevice() with this device.\n    ::cudaComputeModeExclusiveProcess: Compute-exclusive-process mode -\n    Many threads in one process will be able to use cudaSetDevice() with\n    this device.   ::cudaDevAttrConcurrent""Kernels: 1 if the device supports\n    executing multiple kernels within the same context simultaneously, or 0\n    if not. It is not guaranteed that multiple kernels will be resident on\n    the device concurrently so this feature should not be relied upon for\n    correctness. ::cudaDevAttrEccEnabled: 1 if error correction is enabled\n    on the device, 0 if error correction is disabled or not supported by\n    the device ::cudaDevAttrPciBusId: PCI bus identifier of the device\n    ::cudaDevAttrPciDeviceId: PCI device (also known as slot) identifier of\n    the device ::cudaDevAttrTccDriver: 1 if the device is using a TCC\n    driver. TCC is only available on Tesla hardware running Windows Vista\n    or later. ::cudaDevAttrMemoryClockRate: Peak memory clock frequency in\n    kilohertz ::cudaDevAttrGlobalMemoryBusWidth: Global memory bus width in\n    bits ::cudaDevAttrL2CacheSize: Size of L2 cache in bytes. 0 if the\n    device doesn't have L2 cache. ::cudaDevAttrMaxThreadsPerMultiProcessor:\n    Maximum resident threads per multiprocessor\n    ::cudaDevAttrUnifiedAddressing: 1 if the device shares a unified\n    address space with the host, or 0 if not\n    ::cudaDevAttrComputeCapabilityMajor: Major compute capability version\n    number ::cudaDevAttrComputeCapabilityMinor: Minor compute capability\n    version number ::cudaDevAttrStreamPrioritiesSupported: 1 if the device\n    supports stream priorities, or 0 if not\n    ::cudaDevAttrGlobalL1CacheSupported: 1 if device supports caching\n    globals in L1 cache, 0 if not ::cudaDevAttrLocalL1CacheSupported: 1 if\n    device supports caching locals in L1 cache, 0 if not\n    ::cudaDevAttrMaxSharedMemoryPerMultiprocessor: Maximum amount of shared\n    memory available to a multiprocessor in bytes; this amount is shared by\n    all thread blocks simultaneously resident on a multiprocessor\n    ::cudaDevAttrMaxRegistersPerMultiprocessor: Maximum number of 32-bit\n    registers available to a multiprocessor; this numbe""r is shared by all\n    thread blocks simultaneously resident on a multiprocessor\n    ::cudaDevAttrManagedMemory: 1 if device supports allocating managed\n    memory, 0 if not ::cudaDevAttrIsMultiGpuBoard: 1 if device is on a\n    multi-GPU board, 0 if not ::cudaDevAttrMultiGpuBoardGroupID: Unique\n    identifier for a group of devices on the same multi-GPU board\n    ::cudaDevAttrHostNativeAtomicSupported: 1 if the link between the\n    device and the host supports native atomic operations\n    ::cudaDevAttrSingleToDoublePrecisionPerfRatio: Ratio of single\n    precision performance (in floating-point operations per second) to\n    double precision performance ::cudaDevAttrPageableMemoryAccess: 1 if\n    the device supports coherently accessing pageable memory without\n    calling cudaHostRegister on it, and 0 otherwise\n    ::cudaDevAttrConcurrentManagedAccess: 1 if the device can coherently\n    access managed memory concurrently with the CPU, and 0 otherwise\n    ::cudaDevAttrComputePreemptionSupported: 1 if the device supports\n    Compute Preemption, 0 if not\n    ::cudaDevAttrCanUseHostPointerForRegisteredMem: 1 if the device can\n    access host registered memory at the same virtual address as the CPU,\n    and 0 otherwise ::cudaDevAttrCooperativeLaunch: 1 if the device\n    supports launching cooperative kernels via cudaLaunchCooperativeKernel,\n    and 0 otherwise ::cudaDevAttrCooperativeMultiDeviceLaunch: 1 if the\n    device supports launching cooperative kernels via\n    cudaLaunchCooperativeKernelMultiDevice, and 0 otherwise\n    ::cudaDevAttrCanFlushRemoteWrites: 1 if the device supports flushing of\n    outstanding remote writes, and 0 otherwise\n    ::cudaDevAttrHostRegisterSupported: 1 if the device supports host\n    memory registration via cudaHostRegister, and 0 otherwise\n    ::cudaDevAttrPageableMemoryAccessUsesHostPageTables: 1 if the device\n    accesses pageable memory via the host's page tables, and 0 otherwise\n    ::cudaDevAttrDirectMan""agedMemAccessFromHost: 1 if the host can directly\n    access managed memory on the device without migration, and 0 otherwise\n    ::cudaDevAttrMaxSharedMemoryPerBlockOptin: Maximum per block shared\n    memory size on the device. This value can be opted into when using\n    cudaFuncSetAttribute ::cudaDevAttrMaxBlocksPerMultiprocessor: Maximum\n    number of thread blocks that can reside on a multiprocessor\n    ::cudaDevAttrMaxPersistingL2CacheSize: Maximum L2 persisting lines\n    capacity setting in bytes ::cudaDevAttrMaxAccessPolicyWindowSize:\n    Maximum value of cudaAccessPolicyWindow::num_bytes\n    ::cudaDevAttrReservedSharedMemoryPerBlock: Shared memory reserved by\n    CUDA driver per block in bytes ::cudaDevAttrSparseCudaArraySupported: 1\n    if the device supports sparse CUDA arrays and sparse CUDA mipmapped\n    arrays. ::cudaDevAttrHostRegisterReadOnlySupported: Device supports\n    using the cudaHostRegister flag cudaHostRegisterReadOnly to register\n    memory that must be mapped as read-only to the GPU\n    ::cudaDevAttrMemoryPoolsSupported: 1 if the device supports using the\n    cudaMallocAsync and cudaMemPool family of APIs, and 0 otherwise\n    ::cudaDevAttrGPUDirectRDMASupported: 1 if the device supports GPUDirect\n    RDMA APIs, and 0 otherwise\n    ::cudaDevAttrGPUDirectRDMAFlushWritesOptions: bitmask to be interpreted\n    according to the cudaFlushGPUDirectRDMAWritesOptions enum\n    ::cudaDevAttrGPUDirectRDMAWritesOrdering: see the\n    cudaGPUDirectRDMAWritesOrdering enum for numerical values\n    ::cudaDevAttrMemoryPoolSupportedHandleTypes: Bitmask of handle types\n    supported with mempool based IPC\n\n    Parameters\n    ----------\n    attr : cudaDeviceAttr\n        Device attribute to query\n    device : int\n        Device number to query\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidDevice\n        cudaErrorInvalidValue\n    value : int\n        Returned device attribute value\n\n    ""See Also\n    --------\n    cudaGetDeviceCount\n    cudaGetDevice\n    cudaSetDevice\n    cudaChooseDevice\n    cudaGetDeviceProperties\n    cuDeviceGetAttribute\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_61cudaDeviceGetAttribute = {"cudaDeviceGetAttribute", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_61cudaDeviceGetAttribute, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_60cudaDeviceGetAttribute};
static PyObject *__pyx_pw_4cuda_6cudart_61cudaDeviceGetAttribute(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, 7437, __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, 7437, __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, 7437, __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, 7437, __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, 7437, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_60cudaDeviceGetAttribute(__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_60cudaDeviceGetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_attr, int __pyx_v_device) {
  int __pyx_v_value;
  enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr __pyx_v_cattr;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr __pyx_t_2;
  __pyx_t_4cuda_7ccudart_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__361)
  __Pyx_RefNannySetupContext("cudaDeviceGetAttribute", 0);
  __Pyx_TraceCall("cudaDeviceGetAttribute", __pyx_f[0], 7437, 0, __PYX_ERR(0, 7437, __pyx_L1_error));

  /* "cuda/cudart.pyx":7635
 *     cuDeviceGetAttribute
 *     """
 *     cdef int value = 0             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaDeviceAttr cattr = attr.value
 *     err = ccudart.cudaDeviceGetAttribute(&value, cattr, device)
 */
  __pyx_v_value = 0;

  /* "cuda/cudart.pyx":7636
 *     """
 *     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, 7636, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 7636, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cattr = __pyx_t_2;

  /* "cuda/cudart.pyx":7637
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 7637, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cudart.pyx":7638
 *     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, 7638, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 7638, __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, 7638, __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, 7638, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 7638, __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":7437
 * 
 * @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":7641
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetDefaultMemPool(int device):             # <<<<<<<<<<<<<<
 *     """ Returns the default mempool of a device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_63cudaDeviceGetDefaultMemPool(PyObject *__pyx_self, PyObject *__pyx_arg_device); /*proto*/
static char __pyx_doc_4cuda_6cudart_62cudaDeviceGetDefaultMemPool[] = "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    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidDevice\n        cudaErrorInvalidValue\n        cudaErrorNotSupported\n    None\n        None\n\n    See Also\n    --------\n    cuDeviceGetDefaultMemPool\n    cudaMallocAsync\n    cudaMemPoolTrimTo\n    cudaMemPoolGetAttribute\n    cudaDeviceSetMemPool\n    cudaMemPoolSetAttribute\n    cudaMemPoolSetAccess\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_63cudaDeviceGetDefaultMemPool = {"cudaDeviceGetDefaultMemPool", (PyCFunction)__pyx_pw_4cuda_6cudart_63cudaDeviceGetDefaultMemPool, METH_O, __pyx_doc_4cuda_6cudart_62cudaDeviceGetDefaultMemPool};
static PyObject *__pyx_pw_4cuda_6cudart_63cudaDeviceGetDefaultMemPool(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, 7641, __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_62cudaDeviceGetDefaultMemPool(__pyx_self, ((int)__pyx_v_device));

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

static PyObject *__pyx_pf_4cuda_6cudart_62cudaDeviceGetDefaultMemPool(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_device) {
  struct __pyx_obj_4cuda_6cudart_cudaMemPool_t *__pyx_v_memPool = 0;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_7ccudart_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__362)
  __Pyx_RefNannySetupContext("cudaDeviceGetDefaultMemPool", 0);
  __Pyx_TraceCall("cudaDeviceGetDefaultMemPool", __pyx_f[0], 7641, 0, __PYX_ERR(0, 7641, __pyx_L1_error));

  /* "cuda/cudart.pyx":7667
 *     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, 7667, __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":7668
 *     """
 *     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":7669
 *     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(((__pyx_t_4cuda_7ccudart_cudaMemPool_t *)__pyx_v_memPool->__pyx_base._ptr), __pyx_v_device); if (unlikely(__pyx_t_2 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 7669, __pyx_L4_error)
        __pyx_v_err = __pyx_t_2;
      }

      /* "cuda/cudart.pyx":7668
 *     """
 *     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":7670
 *     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, 7670, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7670, __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, 7670, __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, 7670, __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":7641
 * 
 * @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":7673
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceSetMemPool(int device, memPool):             # <<<<<<<<<<<<<<
 *     """ Sets the current memory pool of a device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_65cudaDeviceSetMemPool(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_64cudaDeviceSetMemPool[] = "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 cudaMallocAsync call, cudaMallocAsync allocates\n    from the current mempool of the provided stream's device. By default, a\n    device's current memory pool is its default memory pool.\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorInvalidDevice\n        cudaErrorNotSupported\n    None\n        None\n\n    See Also\n    --------\n    cudaDeviceGetMemPool\n    cudaDeviceGetDefaultMemPool\n    cudaMemPoolCreate\n    cudaMemPoolDestroy\n    cudaMallocFromPoolAsync\n\n    Notes\n    -----\n    Use cudaMallocFromPoolAsync to specify asynchronous allocations from a device different than the one the stream runs on.\n\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_65cudaDeviceSetMemPool = {"cudaDeviceSetMemPool", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_65cudaDeviceSetMemPool, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_64cudaDeviceSetMemPool};
static PyObject *__pyx_pw_4cuda_6cudart_65cudaDeviceSetMemPool(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, 7673, __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, 7673, __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, 7673, __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, 7673, __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_64cudaDeviceSetMemPool(__pyx_self, __pyx_v_device, __pyx_v_memPool);

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

static PyObject *__pyx_pf_4cuda_6cudart_64cudaDeviceSetMemPool(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_device, PyObject *__pyx_v_memPool) {
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__363)
  __Pyx_RefNannySetupContext("cudaDeviceSetMemPool", 0);
  __Pyx_TraceCall("cudaDeviceSetMemPool", __pyx_f[0], 7673, 0, __PYX_ERR(0, 7673, __pyx_L1_error));

  /* "cuda/cudart.pyx":7704
 * 
 *     """
 *     if not isinstance(memPool, (cudaMemPool_t, cuda.CUmemoryPool)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'memPool' is not instance of type (expected <class 'cudart.cudaMemPool_t, cuda.CUmemoryPool'>, found " + str(type(memPool)))
 *     with nogil:
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_memPool, __pyx_ptype_4cuda_6cudart_cudaMemPool_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_memPool, __pyx_ptype_4cuda_4cuda_CUmemoryPool); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":7705
 *     """
 *     if not isinstance(memPool, (cudaMemPool_t, cuda.CUmemoryPool)):
 *         raise TypeError("Argument 'memPool' is not instance of type (expected <class 'cudart.cudaMemPool_t, cuda.CUmemoryPool'>, found " + str(type(memPool)))             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = ccudart.cudaDeviceSetMemPool(device, <ccudart.cudaMemPool_t>(<cudaMemPool_t>memPool)._ptr[0])
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_memPool))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7705, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_memPool_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 7705, __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, 7705, __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, 7705, __pyx_L1_error)

    /* "cuda/cudart.pyx":7704
 * 
 *     """
 *     if not isinstance(memPool, (cudaMemPool_t, cuda.CUmemoryPool)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'memPool' is not instance of type (expected <class 'cudart.cudaMemPool_t, cuda.CUmemoryPool'>, found " + str(type(memPool)))
 *     with nogil:
 */
  }

  /* "cuda/cudart.pyx":7706
 *     if not isinstance(memPool, (cudaMemPool_t, cuda.CUmemoryPool)):
 *         raise TypeError("Argument 'memPool' is not instance of type (expected <class 'cudart.cudaMemPool_t, cuda.CUmemoryPool'>, found " + str(type(memPool)))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaDeviceSetMemPool(device, <ccudart.cudaMemPool_t>(<cudaMemPool_t>memPool)._ptr[0])
 *     return (cudaError_t(err),)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":7707
 *         raise TypeError("Argument 'memPool' is not instance of type (expected <class 'cudart.cudaMemPool_t, cuda.CUmemoryPool'>, found " + str(type(memPool)))
 *     with nogil:
 *         err = ccudart.cudaDeviceSetMemPool(device, <ccudart.cudaMemPool_t>(<cudaMemPool_t>memPool)._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
        __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaDeviceSetMemPool(__pyx_v_device, ((__pyx_t_4cuda_7ccudart_cudaMemPool_t)(((struct __pyx_obj_4cuda_6cudart_cudaMemPool_t *)__pyx_v_memPool)->__pyx_base._ptr[0]))); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 7707, __pyx_L7_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/cudart.pyx":7706
 *     if not isinstance(memPool, (cudaMemPool_t, cuda.CUmemoryPool)):
 *         raise TypeError("Argument 'memPool' is not instance of type (expected <class 'cudart.cudaMemPool_t, cuda.CUmemoryPool'>, found " + str(type(memPool)))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaDeviceSetMemPool(device, <ccudart.cudaMemPool_t>(<cudaMemPool_t>memPool)._ptr[0])
 *     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":7708
 *     with nogil:
 *         err = ccudart.cudaDeviceSetMemPool(device, <ccudart.cudaMemPool_t>(<cudaMemPool_t>memPool)._ptr[0])
 *     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, 7708, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 7708, __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_4 = (__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_4)) __PYX_ERR(0, 7708, __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, 7708, __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":7673
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaDeviceSetMemPool", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":7711
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetMemPool(int device):             # <<<<<<<<<<<<<<
 *     """ Gets the current mempool for a device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_67cudaDeviceGetMemPool(PyObject *__pyx_self, PyObject *__pyx_arg_device); /*proto*/
static char __pyx_doc_4cuda_6cudart_66cudaDeviceGetMemPool[] = "cudaDeviceGetMemPool(int device)\n Gets the current mempool for a device.\n\n    Returns the last pool provided to cudaDeviceSetMemPool for this device\n    or the device's default memory pool if cudaDeviceSetMemPool has never\n    been called. By default the current mempool is the default mempool for\n    a device, otherwise the returned pool must have been set with\n    cuDeviceSetMemPool or cudaDeviceSetMemPool.\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorNotSupported\n    None\n        None\n\n    See Also\n    --------\n    cuDeviceGetMemPool\n    cudaDeviceGetDefaultMemPool\n    cudaDeviceSetMemPool\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_67cudaDeviceGetMemPool = {"cudaDeviceGetMemPool", (PyCFunction)__pyx_pw_4cuda_6cudart_67cudaDeviceGetMemPool, METH_O, __pyx_doc_4cuda_6cudart_66cudaDeviceGetMemPool};
static PyObject *__pyx_pw_4cuda_6cudart_67cudaDeviceGetMemPool(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, 7711, __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_66cudaDeviceGetMemPool(__pyx_self, ((int)__pyx_v_device));

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

static PyObject *__pyx_pf_4cuda_6cudart_66cudaDeviceGetMemPool(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_device) {
  struct __pyx_obj_4cuda_6cudart_cudaMemPool_t *__pyx_v_memPool = 0;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_7ccudart_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__364)
  __Pyx_RefNannySetupContext("cudaDeviceGetMemPool", 0);
  __Pyx_TraceCall("cudaDeviceGetMemPool", __pyx_f[0], 7711, 0, __PYX_ERR(0, 7711, __pyx_L1_error));

  /* "cuda/cudart.pyx":7735
 *     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, 7735, __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":7736
 *     """
 *     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":7737
 *     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(((__pyx_t_4cuda_7ccudart_cudaMemPool_t *)__pyx_v_memPool->__pyx_base._ptr), __pyx_v_device); if (unlikely(__pyx_t_2 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 7737, __pyx_L4_error)
        __pyx_v_err = __pyx_t_2;
      }

      /* "cuda/cudart.pyx":7736
 *     """
 *     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":7738
 *     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, 7738, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7738, __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, 7738, __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, 7738, __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":7711
 * 
 * @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":7741
 * 
 * @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_69cudaDeviceGetNvSciSyncAttributes(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_68cudaDeviceGetNvSciSyncAttributes[] = "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 cudaErrorInvalidValue.\n\n    The applications should set `nvSciSyncAttrList` to a valid\n    NvSciSyncAttrList failing which this API will return\n    cudaErrorInvalidHandle.\n\n    The `flags` controls how applications intends to use the NvSciSync\n    created from the `nvSciSyncAttrList`. The valid flags are:\n    cudaNvSciSyncAttrSignal, specifies that the applications intends to\n    signal an NvSciSync on this CUDA device. cudaNvSciSyncAttrWait,\n    specifies that the applications intends to wait on an NvSciSync on this\n    CUDA device.\n\n    At least one of these flags must be set, failing which the API returns\n    cudaErrorInvalidValue. Both the flags are orthogonal to one another: a\n    developer may set both these flags that allows to set both wait and\n    signal specific attributes in the same `nvSciSyncAttrList`.\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 : int\n        Return NvSciSync attributes supported.\n\n    See Also\n    --------\n    cudaImportExternalSemaphore\n    cudaDestroyExternalSemaphore\n    cudaSignalExternalSemaphoresAsync\n    cudaWaitExternalSemaphoresAsync\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_69cudaDeviceGetNvSciSyncAttributes = {"cudaDeviceGetNvSciSyncAttributes", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_69cudaDeviceGetNvSciSyncAttributes, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_68cudaDeviceGetNvSciSyncAttributes};
static PyObject *__pyx_pw_4cuda_6cudart_69cudaDeviceGetNvSciSyncAttributes(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, 7741, __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, 7741, __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, 7741, __pyx_L3_error)
    __pyx_v_flags = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_flags == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 7741, __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, 7741, __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_68cudaDeviceGetNvSciSyncAttributes(__pyx_self, __pyx_v_device, __pyx_v_flags);

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

static PyObject *__pyx_pf_4cuda_6cudart_68cudaDeviceGetNvSciSyncAttributes(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;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __pyx_t_4cuda_7ccudart_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__365)
  __Pyx_RefNannySetupContext("cudaDeviceGetNvSciSyncAttributes", 0);
  __Pyx_TraceCall("cudaDeviceGetNvSciSyncAttributes", __pyx_f[0], 7741, 0, __PYX_ERR(0, 7741, __pyx_L1_error));

  /* "cuda/cudart.pyx":7788
 *     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":7789
 *     """
 *     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":7790
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 7790, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":7791
 *     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, 7791, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7791, __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, 7791, __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, 7791, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7791, __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":7741
 * 
 * @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":7794
 * 
 * @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_71cudaDeviceGetP2PAttribute(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_70cudaDeviceGetP2PAttribute[] = "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: ::cudaDevP2PAttrPerformanceRank: A relative value indicating the\n    performance of the link between two devices. Lower value means better\n    performance (0 being the value used for most performant link).\n    ::cudaDevP2PAttrAccessSupported: 1 if peer access is enabled.\n    ::cudaDevP2PAttrNativeAtomicSupported: 1 if native atomic operations\n    over the link are supported. ::cudaDevP2PAttrCudaArrayAccessSupported:\n    1 if accessing CUDA arrays over the link is supported.\n\n    Returns cudaErrorInvalidDevice if `srcDevice` or `dstDevice` are not\n    valid or if they represent the same device.\n\n    Returns cudaErrorInvalidValue if `attrib` is not valid or if `value` is\n    a null pointer.\n\n    Parameters\n    ----------\n    attrib : 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        cudaSuccess\n        cudaErrorInvalidDevice\n        cudaErrorInvalidValue\n    value : int\n        Returned value of the requested attribute\n\n    See Also\n    --------\n    cuDeviceGetP2PAttribute\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_71cudaDeviceGetP2PAttribute = {"cudaDeviceGetP2PAttribute", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_71cudaDeviceGetP2PAttribute, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_70cudaDeviceGetP2PAttribute};
static PyObject *__pyx_pw_4cuda_6cudart_71cudaDeviceGetP2PAttribute(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, 7794, __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, 7794, __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, 7794, __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, 7794, __pyx_L3_error)
    __pyx_v_dstDevice = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_dstDevice == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 7794, __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, 7794, __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, 7794, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_70cudaDeviceGetP2PAttribute(__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_70cudaDeviceGetP2PAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_attr, int __pyx_v_srcDevice, int __pyx_v_dstDevice) {
  int __pyx_v_value;
  enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr __pyx_v_cattr;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr __pyx_t_2;
  __pyx_t_4cuda_7ccudart_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__366)
  __Pyx_RefNannySetupContext("cudaDeviceGetP2PAttribute", 0);
  __Pyx_TraceCall("cudaDeviceGetP2PAttribute", __pyx_f[0], 7794, 0, __PYX_ERR(0, 7794, __pyx_L1_error));

  /* "cuda/cudart.pyx":7836
 *     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":7837
 *     """
 *     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, 7837, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 7837, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cattr = __pyx_t_2;

  /* "cuda/cudart.pyx":7838
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 7838, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cudart.pyx":7839
 *     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, 7839, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 7839, __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, 7839, __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, 7839, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 7839, __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":7794
 * 
 * @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":7842
 * 
 * @cython.embedsignature(True)
 * def cudaChooseDevice(prop : cudaDeviceProp):             # <<<<<<<<<<<<<<
 *     """ Select compute-device which best matches criteria.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_73cudaChooseDevice(PyObject *__pyx_self, PyObject *__pyx_v_prop); /*proto*/
static char __pyx_doc_4cuda_6cudart_72cudaChooseDevice[] = "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 : cudaDeviceProp\n        Desired device properties\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    device : int\n        Device with best match\n\n    See Also\n    --------\n    cudaGetDeviceCount\n    cudaGetDevice\n    cudaSetDevice\n    cudaGetDeviceProperties\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_73cudaChooseDevice = {"cudaChooseDevice", (PyCFunction)__pyx_pw_4cuda_6cudart_73cudaChooseDevice, METH_O, __pyx_doc_4cuda_6cudart_72cudaChooseDevice};
static PyObject *__pyx_pw_4cuda_6cudart_73cudaChooseDevice(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, 7842, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_72cudaChooseDevice(__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_72cudaChooseDevice(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaDeviceProp *__pyx_v_prop) {
  int __pyx_v_device;
  struct __pyx_t_4cuda_7ccudart_cudaDeviceProp *__pyx_v_cprop_ptr;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  struct __pyx_t_4cuda_7ccudart_cudaDeviceProp *__pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  __pyx_t_4cuda_7ccudart_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__367)
  __Pyx_RefNannySetupContext("cudaChooseDevice", 0);
  __Pyx_TraceCall("cudaChooseDevice", __pyx_f[0], 7842, 0, __PYX_ERR(0, 7842, __pyx_L1_error));

  /* "cuda/cudart.pyx":7868
 *     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":7869
 *     """
 *     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, 7869, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 7869, __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":7870
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 7870, __pyx_L1_error)
  __pyx_v_err = __pyx_t_4;

  /* "cuda/cudart.pyx":7871
 *     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, 7871, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7871, __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, 7871, __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, 7871, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 7871, __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":7842
 * 
 * @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":7874
 * 
 * @cython.embedsignature(True)
 * def cudaSetDevice(int device):             # <<<<<<<<<<<<<<
 *     """ Set device to be used for GPU executions.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_75cudaSetDevice(PyObject *__pyx_self, PyObject *__pyx_arg_device); /*proto*/
static char __pyx_doc_4cuda_6cudart_74cudaSetDevice[] = "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 (cudaGetDeviceCount() - 1).\n\n    Any device memory subsequently allocated from this host thread using\n    cudaMalloc(), cudaMallocPitch() or cudaMallocArray() will be physically\n    resident on `device`. Any host memory allocated from this host thread\n    using cudaMallocHost() or cudaHostAlloc() or cudaHostRegister() will\n    have its lifetime associated with `device`. Any streams or events\n    created from this host thread will be associated with `device`. Any\n    kernels launched from this host thread using the <<<>>> operator or\n    cudaLaunchKernel() will be 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.\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        cudaSuccess\n        cudaErrorInvalidDevice\n        cudaErrorDeviceAlreadyInUse\n    None\n        None\n\n    See Also\n    --------\n    cudaGetDeviceCount\n    cudaGetDevice\n    cudaGetDeviceProperties\n    cudaChooseDevice\n    cuCtxSetCurrent\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_75cudaSetDevice = {"cudaSetDevice", (PyCFunction)__pyx_pw_4cuda_6cudart_75cudaSetDevice, METH_O, __pyx_doc_4cuda_6cudart_74cudaSetDevice};
static PyObject *__pyx_pw_4cuda_6cudart_75cudaSetDevice(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, 7874, __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_74cudaSetDevice(__pyx_self, ((int)__pyx_v_device));

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

static PyObject *__pyx_pf_4cuda_6cudart_74cudaSetDevice(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_device) {
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __pyx_t_4cuda_7ccudart_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__368)
  __Pyx_RefNannySetupContext("cudaSetDevice", 0);
  __Pyx_TraceCall("cudaSetDevice", __pyx_f[0], 7874, 0, __PYX_ERR(0, 7874, __pyx_L1_error));

  /* "cuda/cudart.pyx":7920
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 7920, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":7921
 *     """
 *     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, 7921, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7921, __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, 7921, __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, 7921, __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":7874
 * 
 * @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":7924
 * 
 * @cython.embedsignature(True)
 * def cudaGetDevice():             # <<<<<<<<<<<<<<
 *     """ Returns which device is currently being used.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_77cudaGetDevice(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_76cudaGetDevice[] = "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        cudaSuccess\n        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    cudaGetDeviceCount\n    cudaSetDevice\n    cudaGetDeviceProperties\n    cudaChooseDevice\n    cuCtxGetCurrent\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_77cudaGetDevice = {"cudaGetDevice", (PyCFunction)__pyx_pw_4cuda_6cudart_77cudaGetDevice, METH_NOARGS, __pyx_doc_4cuda_6cudart_76cudaGetDevice};
static PyObject *__pyx_pw_4cuda_6cudart_77cudaGetDevice(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGetDevice (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_76cudaGetDevice(__pyx_self);

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

static PyObject *__pyx_pf_4cuda_6cudart_76cudaGetDevice(CYTHON_UNUSED PyObject *__pyx_self) {
  int __pyx_v_device;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __pyx_t_4cuda_7ccudart_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__369)
  __Pyx_RefNannySetupContext("cudaGetDevice", 0);
  __Pyx_TraceCall("cudaGetDevice", __pyx_f[0], 7924, 0, __PYX_ERR(0, 7924, __pyx_L1_error));

  /* "cuda/cudart.pyx":7946
 *     cuCtxGetCurrent
 *     """
 *     cdef int device = 0             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGetDevice(&device)
 *     return (cudaError_t(err), device)
 */
  __pyx_v_device = 0;

  /* "cuda/cudart.pyx":7947
 *     """
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 7947, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":7948
 *     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, 7948, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7948, __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, 7948, __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, 7948, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7948, __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":7924
 * 
 * @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":7951
 * 
 * @cython.embedsignature(True)
 * def cudaSetDeviceFlags(unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Sets flags to be used for device executions.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_79cudaSetDeviceFlags(PyObject *__pyx_self, PyObject *__pyx_arg_flags); /*proto*/
static char __pyx_doc_4cuda_6cudart_78cudaSetDeviceFlags[] = "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    cudaDeviceScheduleAuto: The default value if the `flags` parameter is\n    zero, uses a heuristic based on the number of active CUDA contexts in\n    the process `C` and the number of logical processors in the system `P`.\n    If `C` > `P`, then CUDA will yield to other OS threads when waiting for\n    the device, otherwise CUDA will not yield while waiting for results and\n    actively spin on the processor. Additionally, on Tegra devices,\n    cudaDeviceScheduleAuto uses a heuristic based on the power profile of\n    the platform and may choose cudaDeviceScheduleBlockingSync for low-\n    powered devices. 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    cudaDeviceScheduleYield: Instruct CUDA to yield its thread when waiting\n    for results from the device. This can increase latency when waiting for\n    the device, but can increase the performance of CPU threads performing\n    work in parallel with the device. cudaDeviceScheduleBlockingSync:\n    Instruct CUDA to block the CPU thread on a synchronization primitive\n    when waiting for the device to finish work. cu""daDeviceBlockingSync:\n    Instruct CUDA to block the CPU thread on a synchronization primitive\n    when waiting for the device to finish work.  Deprecated: This flag was\n    deprecated as of CUDA 4.0 and replaced with\n    cudaDeviceScheduleBlockingSync. cudaDeviceMapHost: This flag enables\n    allocating pinned host memory that is accessible to the device. It is\n    implicit for the runtime but may be absent if a context is created\n    using the driver API. If this flag is not set,\n    cudaHostGetDevicePointer() will always return a failure code.\n    cudaDeviceLmemResizeToMax: Instruct CUDA to not reduce local memory\n    after resizing local memory for a kernel. This can prevent thrashing by\n    local memory allocations when launching many kernels with high local\n    memory usage at the cost of potentially increased memory usage.\n    Deprecated: This flag is deprecated and the behavior enabled  by this\n    flag is now the default 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        cudaSuccess\n        cudaErrorInvalidValue\n    None\n        None\n\n    See Also\n    --------\n    cudaGetDeviceFlags\n    cudaGetDeviceCount\n    cudaGetDevice\n    cudaGetDeviceProperties\n    cudaSetDevice\n    cudaSetValidDevices\n    cudaChooseDevice\n    cuDevicePrimaryCtxSetFlags\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_79cudaSetDeviceFlags = {"cudaSetDeviceFlags", (PyCFunction)__pyx_pw_4cuda_6cudart_79cudaSetDeviceFlags, METH_O, __pyx_doc_4cuda_6cudart_78cudaSetDeviceFlags};
static PyObject *__pyx_pw_4cuda_6cudart_79cudaSetDeviceFlags(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, 7951, __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_78cudaSetDeviceFlags(__pyx_self, ((unsigned int)__pyx_v_flags));

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

static PyObject *__pyx_pf_4cuda_6cudart_78cudaSetDeviceFlags(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_flags) {
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __pyx_t_4cuda_7ccudart_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__370)
  __Pyx_RefNannySetupContext("cudaSetDeviceFlags", 0);
  __Pyx_TraceCall("cudaSetDeviceFlags", __pyx_f[0], 7951, 0, __PYX_ERR(0, 7951, __pyx_L1_error));

  /* "cuda/cudart.pyx":8022
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 8022, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":8023
 *     """
 *     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, 8023, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8023, __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, 8023, __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, 8023, __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":7951
 * 
 * @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":8026
 * 
 * @cython.embedsignature(True)
 * def cudaGetDeviceFlags():             # <<<<<<<<<<<<<<
 *     """ Gets the flags for the current device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_81cudaGetDeviceFlags(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_80cudaGetDeviceFlags[] = "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 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    cudaDeviceMapHost even though it is not accepted by cudaSetDeviceFlags\n    because it is implicit in runtime API flags. The reason for this is\n    that the current context may have been created via the driver API in\n    which case the flag is not implicit and may be unset.\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidDevice\n    flags : unsigned int\n        Pointer to store the device flags\n\n    See Also\n    --------\n    cudaGetDevice\n    cudaGetDeviceProperties\n    cudaSetDevice\n    cudaSetDeviceFlags\n    cuCtxGetFlags\n    cuDevicePrimaryCtxGetState\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_81cudaGetDeviceFlags = {"cudaGetDeviceFlags", (PyCFunction)__pyx_pw_4cuda_6cudart_81cudaGetDeviceFlags, METH_NOARGS, __pyx_doc_4cuda_6cudart_80cudaGetDeviceFlags};
static PyObject *__pyx_pw_4cuda_6cudart_81cudaGetDeviceFlags(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGetDeviceFlags (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_80cudaGetDeviceFlags(__pyx_self);

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

static PyObject *__pyx_pf_4cuda_6cudart_80cudaGetDeviceFlags(CYTHON_UNUSED PyObject *__pyx_self) {
  unsigned int __pyx_v_flags;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __pyx_t_4cuda_7ccudart_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__371)
  __Pyx_RefNannySetupContext("cudaGetDeviceFlags", 0);
  __Pyx_TraceCall("cudaGetDeviceFlags", __pyx_f[0], 8026, 0, __PYX_ERR(0, 8026, __pyx_L1_error));

  /* "cuda/cudart.pyx":8070
 *     cuDevicePrimaryCtxGetState
 *     """
 *     cdef unsigned int flags = 0             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGetDeviceFlags(&flags)
 *     return (cudaError_t(err), flags)
 */
  __pyx_v_flags = 0;

  /* "cuda/cudart.pyx":8071
 *     """
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 8071, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":8072
 *     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, 8072, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8072, __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, 8072, __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, 8072, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8072, __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":8026
 * 
 * @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":8075
 * 
 * @cython.embedsignature(True)
 * def cudaStreamCreate():             # <<<<<<<<<<<<<<
 *     """ Create an asynchronous stream.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_83cudaStreamCreate(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_82cudaStreamCreate[] = "cudaStreamCreate()\n Create an asynchronous stream.\n\n    Creates a new asynchronous stream.\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    pStream : cudaStream_t\n        Pointer to new stream identifier\n\n    See Also\n    --------\n    cudaStreamCreateWithPriority\n    cudaStreamCreateWithFlags\n    cudaStreamGetPriority\n    cudaStreamGetFlags\n    cudaStreamQuery\n    cudaStreamSynchronize\n    cudaStreamWaitEvent\n    cudaStreamAddCallback\n    cudaStreamDestroy\n    cuStreamCreate\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_83cudaStreamCreate = {"cudaStreamCreate", (PyCFunction)__pyx_pw_4cuda_6cudart_83cudaStreamCreate, METH_NOARGS, __pyx_doc_4cuda_6cudart_82cudaStreamCreate};
static PyObject *__pyx_pw_4cuda_6cudart_83cudaStreamCreate(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaStreamCreate (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_82cudaStreamCreate(__pyx_self);

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

static PyObject *__pyx_pf_4cuda_6cudart_82cudaStreamCreate(CYTHON_UNUSED PyObject *__pyx_self) {
  struct __pyx_obj_4cuda_6cudart_cudaStream_t *__pyx_v_pStream = 0;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_7ccudart_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__372)
  __Pyx_RefNannySetupContext("cudaStreamCreate", 0);
  __Pyx_TraceCall("cudaStreamCreate", __pyx_f[0], 8075, 0, __PYX_ERR(0, 8075, __pyx_L1_error));

  /* "cuda/cudart.pyx":8101
 *     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, 8101, __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":8102
 *     """
 *     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(((__pyx_t_4cuda_7ccudart_cudaStream_t *)__pyx_v_pStream->__pyx_base._ptr)); if (unlikely(__pyx_t_2 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 8102, __pyx_L1_error)
  __pyx_v_err = __pyx_t_2;

  /* "cuda/cudart.pyx":8103
 *     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, 8103, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8103, __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, 8103, __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, 8103, __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":8075
 * 
 * @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":8106
 * 
 * @cython.embedsignature(True)
 * def cudaStreamCreateWithFlags(unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Create an asynchronous stream.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_85cudaStreamCreateWithFlags(PyObject *__pyx_self, PyObject *__pyx_arg_flags); /*proto*/
static char __pyx_doc_4cuda_6cudart_84cudaStreamCreateWithFlags[] = "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    cudaStreamDefault: Default stream creation flag. cudaStreamNonBlocking:\n    Specifies that work running in the created stream may run concurrently\n    with work in stream 0 (the NULL stream), and that the created stream\n    should perform no implicit 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        cudaSuccess\n        cudaErrorInvalidValue\n    pStream : cudaStream_t\n        Pointer to new stream identifier\n\n    See Also\n    --------\n    cudaStreamCreate\n    cudaStreamCreateWithPriority\n    cudaStreamGetFlags\n    cudaStreamQuery\n    cudaStreamSynchronize\n    cudaStreamWaitEvent\n    cudaStreamAddCallback\n    cudaStreamDestroy\n    cuStreamCreate\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_85cudaStreamCreateWithFlags = {"cudaStreamCreateWithFlags", (PyCFunction)__pyx_pw_4cuda_6cudart_85cudaStreamCreateWithFlags, METH_O, __pyx_doc_4cuda_6cudart_84cudaStreamCreateWithFlags};
static PyObject *__pyx_pw_4cuda_6cudart_85cudaStreamCreateWithFlags(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, 8106, __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_84cudaStreamCreateWithFlags(__pyx_self, ((unsigned int)__pyx_v_flags));

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

static PyObject *__pyx_pf_4cuda_6cudart_84cudaStreamCreateWithFlags(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_flags) {
  struct __pyx_obj_4cuda_6cudart_cudaStream_t *__pyx_v_pStream = 0;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_7ccudart_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__373)
  __Pyx_RefNannySetupContext("cudaStreamCreateWithFlags", 0);
  __Pyx_TraceCall("cudaStreamCreateWithFlags", __pyx_f[0], 8106, 0, __PYX_ERR(0, 8106, __pyx_L1_error));

  /* "cuda/cudart.pyx":8141
 *     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, 8141, __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":8142
 *     """
 *     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(((__pyx_t_4cuda_7ccudart_cudaStream_t *)__pyx_v_pStream->__pyx_base._ptr), __pyx_v_flags); if (unlikely(__pyx_t_2 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 8142, __pyx_L1_error)
  __pyx_v_err = __pyx_t_2;

  /* "cuda/cudart.pyx":8143
 *     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, 8143, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8143, __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, 8143, __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, 8143, __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":8106
 * 
 * @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":8146
 * 
 * @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_87cudaStreamCreateWithPriority(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_86cudaStreamCreateWithPriority[] = "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    cudaDeviceGetStreamPriorityRange. If the specified priority is outside\n    the numerical range returned by cudaDeviceGetStreamPriorityRange, it\n    will automatically be clamped to the lowest or the highest number in\n    the range.\n\n    Parameters\n    ----------\n    flags : unsigned int\n        Flags for stream creation. See cudaStreamCreateWithFlags for a list\n        of valid flags that can be passed\n    priority : int\n        Priority of the stream. Lower numbers represent higher priorities.\n        See cudaDeviceGetStreamPriorityRange for more information about the\n        meaningful stream priorities that can be passed.\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    pStream : cudaStream_t\n        Pointer to new stream identifier\n\n    See Also\n    --------\n    cudaStreamCreate\n    cudaStreamCreateWithFlags\n    cudaDeviceGetStreamPriorityRange\n    cudaStreamGetPriority\n    cudaStreamQuery\n    cudaStreamWaitEvent\n    cudaStreamAddCallback\n    cudaStreamSynchronize\n    cudaStreamDestroy\n    cuStreamCreateWithPriority\n\n    Notes\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\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_87cudaStreamCreateWithPriority = {"cudaStreamCreateWithPriority", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_87cudaStreamCreateWithPriority, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_86cudaStreamCreateWithPriority};
static PyObject *__pyx_pw_4cuda_6cudart_87cudaStreamCreateWithPriority(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,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)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaStreamCreateWithPriority", 1, 2, 2, 1); __PYX_ERR(0, 8146, __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, 8146, __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, 8146, __pyx_L3_error)
    __pyx_v_priority = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_priority == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 8146, __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, 8146, __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_86cudaStreamCreateWithPriority(__pyx_self, __pyx_v_flags, __pyx_v_priority);

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

static PyObject *__pyx_pf_4cuda_6cudart_86cudaStreamCreateWithPriority(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;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_7ccudart_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__374)
  __Pyx_RefNannySetupContext("cudaStreamCreateWithPriority", 0);
  __Pyx_TraceCall("cudaStreamCreateWithPriority", __pyx_f[0], 8146, 0, __PYX_ERR(0, 8146, __pyx_L1_error));

  /* "cuda/cudart.pyx":8198
 * 
 *     """
 *     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, 8198, __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":8199
 *     """
 *     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(((__pyx_t_4cuda_7ccudart_cudaStream_t *)__pyx_v_pStream->__pyx_base._ptr), __pyx_v_flags, __pyx_v_priority); if (unlikely(__pyx_t_2 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 8199, __pyx_L1_error)
  __pyx_v_err = __pyx_t_2;

  /* "cuda/cudart.pyx":8200
 *     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, 8200, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8200, __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, 8200, __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, 8200, __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":8146
 * 
 * @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":8203
 * 
 * @cython.embedsignature(True)
 * def cudaStreamGetPriority(hStream):             # <<<<<<<<<<<<<<
 *     """ Query the priority of a stream.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_89cudaStreamGetPriority(PyObject *__pyx_self, PyObject *__pyx_v_hStream); /*proto*/
static char __pyx_doc_4cuda_6cudart_88cudaStreamGetPriority[] = "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    cudaDeviceGetStreamPriorityRange, this function returns the clamped\n    priority. See cudaStreamCreateWithPriority for details about priority\n    clamping.\n\n    Parameters\n    ----------\n    hStream : CUstream or cudaStream_t\n        Handle to the stream to be queried\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        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    cudaStreamCreateWithPriority\n    cudaDeviceGetStreamPriorityRange\n    cudaStreamGetFlags\n    cuStreamGetPriority\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_89cudaStreamGetPriority = {"cudaStreamGetPriority", (PyCFunction)__pyx_pw_4cuda_6cudart_89cudaStreamGetPriority, METH_O, __pyx_doc_4cuda_6cudart_88cudaStreamGetPriority};
static PyObject *__pyx_pw_4cuda_6cudart_89cudaStreamGetPriority(PyObject *__pyx_self, PyObject *__pyx_v_hStream) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaStreamGetPriority (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_88cudaStreamGetPriority(__pyx_self, ((PyObject *)__pyx_v_hStream));

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

static PyObject *__pyx_pf_4cuda_6cudart_88cudaStreamGetPriority(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream) {
  int __pyx_v_priority;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__375)
  __Pyx_RefNannySetupContext("cudaStreamGetPriority", 0);
  __Pyx_TraceCall("cudaStreamGetPriority", __pyx_f[0], 8203, 0, __PYX_ERR(0, 8203, __pyx_L1_error));

  /* "cuda/cudart.pyx":8235
 *     cuStreamGetPriority
 *     """
 *     if not isinstance(hStream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hStream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(hStream)))
 *     cdef int priority = 0
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":8236
 *     """
 *     if not isinstance(hStream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'hStream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(hStream)))             # <<<<<<<<<<<<<<
 *     cdef int priority = 0
 *     err = ccudart.cudaStreamGetPriority(<ccudart.cudaStream_t>(<cudaStream_t>hStream)._ptr[0], &priority)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_hStream))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8236, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_hStream_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8236, __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, 8236, __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, 8236, __pyx_L1_error)

    /* "cuda/cudart.pyx":8235
 *     cuStreamGetPriority
 *     """
 *     if not isinstance(hStream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hStream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(hStream)))
 *     cdef int priority = 0
 */
  }

  /* "cuda/cudart.pyx":8237
 *     if not isinstance(hStream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'hStream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(hStream)))
 *     cdef int priority = 0             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaStreamGetPriority(<ccudart.cudaStream_t>(<cudaStream_t>hStream)._ptr[0], &priority)
 *     return (cudaError_t(err), priority)
 */
  __pyx_v_priority = 0;

  /* "cuda/cudart.pyx":8238
 *         raise TypeError("Argument 'hStream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(hStream)))
 *     cdef int priority = 0
 *     err = ccudart.cudaStreamGetPriority(<ccudart.cudaStream_t>(<cudaStream_t>hStream)._ptr[0], &priority)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), priority)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaStreamGetPriority(((__pyx_t_4cuda_7ccudart_cudaStream_t)(((struct __pyx_obj_4cuda_6cudart_cudaStream_t *)__pyx_v_hStream)->__pyx_base._ptr[0])), (&__pyx_v_priority)); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 8238, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":8239
 *     cdef int priority = 0
 *     err = ccudart.cudaStreamGetPriority(<ccudart.cudaStream_t>(<cudaStream_t>hStream)._ptr[0], &priority)
 *     return (cudaError_t(err), priority)             # <<<<<<<<<<<<<<
 * 
 * @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, 8239, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 8239, __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_4 = (__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_4)) __PYX_ERR(0, 8239, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_priority); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8239, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 8239, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_5);
  __pyx_t_4 = 0;
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8203
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaStreamGetPriority", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8242
 * 
 * @cython.embedsignature(True)
 * def cudaStreamGetFlags(hStream):             # <<<<<<<<<<<<<<
 *     """ Query the flags of a stream.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_91cudaStreamGetFlags(PyObject *__pyx_self, PyObject *__pyx_v_hStream); /*proto*/
static char __pyx_doc_4cuda_6cudart_90cudaStreamGetFlags[] = "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    cudaStreamCreateWithFlags for a list of valid flags.\n\n    Parameters\n    ----------\n    hStream : CUstream or cudaStream_t\n        Handle to the stream to be queried\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        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    cudaStreamCreateWithPriority\n    cudaStreamCreateWithFlags\n    cudaStreamGetPriority\n    cuStreamGetFlags\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_91cudaStreamGetFlags = {"cudaStreamGetFlags", (PyCFunction)__pyx_pw_4cuda_6cudart_91cudaStreamGetFlags, METH_O, __pyx_doc_4cuda_6cudart_90cudaStreamGetFlags};
static PyObject *__pyx_pw_4cuda_6cudart_91cudaStreamGetFlags(PyObject *__pyx_self, PyObject *__pyx_v_hStream) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaStreamGetFlags (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_90cudaStreamGetFlags(__pyx_self, ((PyObject *)__pyx_v_hStream));

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

static PyObject *__pyx_pf_4cuda_6cudart_90cudaStreamGetFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream) {
  unsigned int __pyx_v_flags;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__376)
  __Pyx_RefNannySetupContext("cudaStreamGetFlags", 0);
  __Pyx_TraceCall("cudaStreamGetFlags", __pyx_f[0], 8242, 0, __PYX_ERR(0, 8242, __pyx_L1_error));

  /* "cuda/cudart.pyx":8270
 *     cuStreamGetFlags
 *     """
 *     if not isinstance(hStream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hStream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(hStream)))
 *     cdef unsigned int flags = 0
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":8271
 *     """
 *     if not isinstance(hStream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'hStream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(hStream)))             # <<<<<<<<<<<<<<
 *     cdef unsigned int flags = 0
 *     err = ccudart.cudaStreamGetFlags(<ccudart.cudaStream_t>(<cudaStream_t>hStream)._ptr[0], &flags)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_hStream))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8271, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_hStream_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8271, __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, 8271, __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, 8271, __pyx_L1_error)

    /* "cuda/cudart.pyx":8270
 *     cuStreamGetFlags
 *     """
 *     if not isinstance(hStream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hStream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(hStream)))
 *     cdef unsigned int flags = 0
 */
  }

  /* "cuda/cudart.pyx":8272
 *     if not isinstance(hStream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'hStream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(hStream)))
 *     cdef unsigned int flags = 0             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaStreamGetFlags(<ccudart.cudaStream_t>(<cudaStream_t>hStream)._ptr[0], &flags)
 *     return (cudaError_t(err), flags)
 */
  __pyx_v_flags = 0;

  /* "cuda/cudart.pyx":8273
 *         raise TypeError("Argument 'hStream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(hStream)))
 *     cdef unsigned int flags = 0
 *     err = ccudart.cudaStreamGetFlags(<ccudart.cudaStream_t>(<cudaStream_t>hStream)._ptr[0], &flags)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), flags)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaStreamGetFlags(((__pyx_t_4cuda_7ccudart_cudaStream_t)(((struct __pyx_obj_4cuda_6cudart_cudaStream_t *)__pyx_v_hStream)->__pyx_base._ptr[0])), (&__pyx_v_flags)); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 8273, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":8274
 *     cdef unsigned int flags = 0
 *     err = ccudart.cudaStreamGetFlags(<ccudart.cudaStream_t>(<cudaStream_t>hStream)._ptr[0], &flags)
 *     return (cudaError_t(err), flags)             # <<<<<<<<<<<<<<
 * 
 * @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, 8274, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 8274, __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_4 = (__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_4)) __PYX_ERR(0, 8274, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = __Pyx_PyInt_From_unsigned_int(__pyx_v_flags); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8274, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 8274, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_5);
  __pyx_t_4 = 0;
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8242
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaStreamGetFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8277
 * 
 * @cython.embedsignature(True)
 * def cudaCtxResetPersistingL2Cache():             # <<<<<<<<<<<<<<
 *     """ Resets all persisting lines in cache to normal status.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_93cudaCtxResetPersistingL2Cache(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_92cudaCtxResetPersistingL2Cache[] = "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        cudaSuccess\n    None\n        None\n\n    See Also\n    --------\n    cudaAccessPolicyWindow\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_93cudaCtxResetPersistingL2Cache = {"cudaCtxResetPersistingL2Cache", (PyCFunction)__pyx_pw_4cuda_6cudart_93cudaCtxResetPersistingL2Cache, METH_NOARGS, __pyx_doc_4cuda_6cudart_92cudaCtxResetPersistingL2Cache};
static PyObject *__pyx_pw_4cuda_6cudart_93cudaCtxResetPersistingL2Cache(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaCtxResetPersistingL2Cache (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_92cudaCtxResetPersistingL2Cache(__pyx_self);

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

static PyObject *__pyx_pf_4cuda_6cudart_92cudaCtxResetPersistingL2Cache(CYTHON_UNUSED PyObject *__pyx_self) {
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __pyx_t_4cuda_7ccudart_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__377)
  __Pyx_RefNannySetupContext("cudaCtxResetPersistingL2Cache", 0);
  __Pyx_TraceCall("cudaCtxResetPersistingL2Cache", __pyx_f[0], 8277, 0, __PYX_ERR(0, 8277, __pyx_L1_error));

  /* "cuda/cudart.pyx":8294
 *     cudaAccessPolicyWindow
 *     """
 *     err = ccudart.cudaCtxResetPersistingL2Cache()             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_7ccudart_cudaCtxResetPersistingL2Cache(); if (unlikely(__pyx_t_1 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 8294, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":8295
 *     """
 *     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, 8295, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8295, __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, 8295, __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, 8295, __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":8277
 * 
 * @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":8298
 * 
 * @cython.embedsignature(True)
 * def cudaStreamCopyAttributes(dst, src):             # <<<<<<<<<<<<<<
 *     """ Copies attributes from source stream to destination stream.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_95cudaStreamCopyAttributes(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_94cudaStreamCopyAttributes[] = "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 : Any\n        Destination stream\n    src : Any\n        Source stream For attributes see cudaStreamAttrID\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorNotSupported\n    None\n        None\n\n    See Also\n    --------\n    cudaAccessPolicyWindow\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_95cudaStreamCopyAttributes = {"cudaStreamCopyAttributes", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_95cudaStreamCopyAttributes, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_94cudaStreamCopyAttributes};
static PyObject *__pyx_pw_4cuda_6cudart_95cudaStreamCopyAttributes(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, 8298, __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, 8298, __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, 8298, __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_94cudaStreamCopyAttributes(__pyx_self, __pyx_v_dst, __pyx_v_src);

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

static PyObject *__pyx_pf_4cuda_6cudart_94cudaStreamCopyAttributes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, PyObject *__pyx_v_src) {
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__378)
  __Pyx_RefNannySetupContext("cudaStreamCopyAttributes", 0);
  __Pyx_TraceCall("cudaStreamCopyAttributes", __pyx_f[0], 8298, 0, __PYX_ERR(0, 8298, __pyx_L1_error));

  /* "cuda/cudart.pyx":8323
 *     cudaAccessPolicyWindow
 *     """
 *     if not isinstance(src, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'src' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(src)))
 *     if not isinstance(dst, (cudaStream_t, cuda.CUstream)):
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_src, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_src, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":8324
 *     """
 *     if not isinstance(src, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'src' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(src)))             # <<<<<<<<<<<<<<
 *     if not isinstance(dst, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'dst' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(dst)))
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_src))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8324, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_src_is_not_instance_of, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8324, __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, 8324, __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, 8324, __pyx_L1_error)

    /* "cuda/cudart.pyx":8323
 *     cudaAccessPolicyWindow
 *     """
 *     if not isinstance(src, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'src' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(src)))
 *     if not isinstance(dst, (cudaStream_t, cuda.CUstream)):
 */
  }

  /* "cuda/cudart.pyx":8325
 *     if not isinstance(src, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'src' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(src)))
 *     if not isinstance(dst, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dst' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(dst)))
 *     err = ccudart.cudaStreamCopyAttributes(<ccudart.cudaStream_t>(<cudaStream_t>dst)._ptr[0], <ccudart.cudaStream_t>(<cudaStream_t>src)._ptr[0])
 */
  __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)) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "cuda/cudart.pyx":8326
 *         raise TypeError("Argument 'src' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(src)))
 *     if not isinstance(dst, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'dst' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(dst)))             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaStreamCopyAttributes(<ccudart.cudaStream_t>(<cudaStream_t>dst)._ptr[0], <ccudart.cudaStream_t>(<cudaStream_t>src)._ptr[0])
 *     return (cudaError_t(err),)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_dst))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8326, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_dst_is_not_instance_of, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8326, __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, 8326, __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, 8326, __pyx_L1_error)

    /* "cuda/cudart.pyx":8325
 *     if not isinstance(src, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'src' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(src)))
 *     if not isinstance(dst, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dst' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(dst)))
 *     err = ccudart.cudaStreamCopyAttributes(<ccudart.cudaStream_t>(<cudaStream_t>dst)._ptr[0], <ccudart.cudaStream_t>(<cudaStream_t>src)._ptr[0])
 */
  }

  /* "cuda/cudart.pyx":8327
 *     if not isinstance(dst, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'dst' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(dst)))
 *     err = ccudart.cudaStreamCopyAttributes(<ccudart.cudaStream_t>(<cudaStream_t>dst)._ptr[0], <ccudart.cudaStream_t>(<cudaStream_t>src)._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaStreamCopyAttributes(((__pyx_t_4cuda_7ccudart_cudaStream_t)(((struct __pyx_obj_4cuda_6cudart_cudaStream_t *)__pyx_v_dst)->__pyx_base._ptr[0])), ((__pyx_t_4cuda_7ccudart_cudaStream_t)(((struct __pyx_obj_4cuda_6cudart_cudaStream_t *)__pyx_v_src)->__pyx_base._ptr[0]))); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 8327, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":8328
 *         raise TypeError("Argument 'dst' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(dst)))
 *     err = ccudart.cudaStreamCopyAttributes(<ccudart.cudaStream_t>(<cudaStream_t>dst)._ptr[0], <ccudart.cudaStream_t>(<cudaStream_t>src)._ptr[0])
 *     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, 8328, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 8328, __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_4 = (__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_4)) __PYX_ERR(0, 8328, __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, 8328, __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":8298
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaStreamCopyAttributes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8331
 * 
 * @cython.embedsignature(True)
 * def cudaStreamGetAttribute(hStream, attr not None : cudaStreamAttrID):             # <<<<<<<<<<<<<<
 *     """ Queries stream attribute.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_97cudaStreamGetAttribute(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_96cudaStreamGetAttribute[] = "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 : CUstream or cudaStream_t\n\n    attr : cudaStreamAttrID\n\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorInvalidResourceHandle\n    value_out : cudaStreamAttrValue\n\n\n    See Also\n    --------\n    cudaAccessPolicyWindow\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_97cudaStreamGetAttribute = {"cudaStreamGetAttribute", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_97cudaStreamGetAttribute, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_96cudaStreamGetAttribute};
static PyObject *__pyx_pw_4cuda_6cudart_97cudaStreamGetAttribute(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, 8331, __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, 8331, __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, 8331, __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, 8331, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_96cudaStreamGetAttribute(__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_96cudaStreamGetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream, PyObject *__pyx_v_attr) {
  enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID __pyx_v_cattr;
  struct __pyx_obj_4cuda_6cudart_cudaStreamAttrValue *__pyx_v_value_out = 0;
  __pyx_t_4cuda_7ccudart_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;
  enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID __pyx_t_6;
  __pyx_t_4cuda_7ccudart_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__379)
  __Pyx_RefNannySetupContext("cudaStreamGetAttribute", 0);
  __Pyx_TraceCall("cudaStreamGetAttribute", __pyx_f[0], 8331, 0, __PYX_ERR(0, 8331, __pyx_L1_error));

  /* "cuda/cudart.pyx":8357
 *     cudaAccessPolicyWindow
 *     """
 *     if not isinstance(hStream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hStream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(hStream)))
 *     cdef ccudart.cudaStreamAttrID cattr = attr.value
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":8358
 *     """
 *     if not isinstance(hStream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'hStream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(hStream)))             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaStreamAttrID cattr = attr.value
 *     cdef cudaStreamAttrValue value_out = cudaStreamAttrValue()
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_hStream))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8358, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_hStream_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8358, __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, 8358, __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, 8358, __pyx_L1_error)

    /* "cuda/cudart.pyx":8357
 *     cudaAccessPolicyWindow
 *     """
 *     if not isinstance(hStream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hStream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(hStream)))
 *     cdef ccudart.cudaStreamAttrID cattr = attr.value
 */
  }

  /* "cuda/cudart.pyx":8359
 *     if not isinstance(hStream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'hStream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(hStream)))
 *     cdef ccudart.cudaStreamAttrID cattr = attr.value             # <<<<<<<<<<<<<<
 *     cdef cudaStreamAttrValue value_out = cudaStreamAttrValue()
 *     err = ccudart.cudaStreamGetAttribute(<ccudart.cudaStream_t>(<cudaStream_t>hStream)._ptr[0], cattr, value_out._ptr)
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_n_s_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8359, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = ((enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaStreamAttrID(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 8359, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cattr = __pyx_t_6;

  /* "cuda/cudart.pyx":8360
 *         raise TypeError("Argument 'hStream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(hStream)))
 *     cdef ccudart.cudaStreamAttrID cattr = attr.value
 *     cdef cudaStreamAttrValue value_out = cudaStreamAttrValue()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaStreamGetAttribute(<ccudart.cudaStream_t>(<cudaStream_t>hStream)._ptr[0], cattr, value_out._ptr)
 *     return (cudaError_t(err), value_out)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaStreamAttrValue)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8360, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_value_out = ((struct __pyx_obj_4cuda_6cudart_cudaStreamAttrValue *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":8361
 *     cdef ccudart.cudaStreamAttrID cattr = attr.value
 *     cdef cudaStreamAttrValue value_out = cudaStreamAttrValue()
 *     err = ccudart.cudaStreamGetAttribute(<ccudart.cudaStream_t>(<cudaStream_t>hStream)._ptr[0], cattr, value_out._ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), value_out)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaStreamGetAttribute(((__pyx_t_4cuda_7ccudart_cudaStream_t)(((struct __pyx_obj_4cuda_6cudart_cudaStream_t *)__pyx_v_hStream)->__pyx_base._ptr[0])), __pyx_v_cattr, __pyx_v_value_out->_ptr); if (unlikely(__pyx_t_7 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 8361, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":8362
 *     cdef cudaStreamAttrValue value_out = cudaStreamAttrValue()
 *     err = ccudart.cudaStreamGetAttribute(<ccudart.cudaStream_t>(<cudaStream_t>hStream)._ptr[0], cattr, value_out._ptr)
 *     return (cudaError_t(err), value_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, 8362, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_8 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8362, __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_4 = (__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_4)) __PYX_ERR(0, 8362, __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, 8362, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
  __Pyx_INCREF(((PyObject *)__pyx_v_value_out));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_value_out));
  PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_value_out));
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8331
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaStreamGetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_value_out);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8365
 * 
 * @cython.embedsignature(True)
 * def cudaStreamSetAttribute(hStream, attr not None : cudaStreamAttrID, value : cudaStreamAttrValue):             # <<<<<<<<<<<<<<
 *     """ Sets stream attribute.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_99cudaStreamSetAttribute(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_98cudaStreamSetAttribute[] = "cudaStreamSetAttribute(hStream, attr: cudaStreamAttrID, cudaStreamAttrValue value: cudaStreamAttrValue)\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 : CUstream or cudaStream_t\n\n    attr : cudaStreamAttrID\n\n    value : cudaStreamAttrValue\n\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorInvalidResourceHandle\n    None\n        None\n\n    See Also\n    --------\n    cudaAccessPolicyWindow\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_99cudaStreamSetAttribute = {"cudaStreamSetAttribute", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_99cudaStreamSetAttribute, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_98cudaStreamSetAttribute};
static PyObject *__pyx_pw_4cuda_6cudart_99cudaStreamSetAttribute(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_hStream = 0;
  PyObject *__pyx_v_attr = 0;
  struct __pyx_obj_4cuda_6cudart_cudaStreamAttrValue *__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, 8365, __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, 8365, __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, 8365, __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_cudaStreamAttrValue *)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, 8365, __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, 8365, __pyx_L1_error)
  }
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_4cuda_6cudart_cudaStreamAttrValue, 1, "value", 0))) __PYX_ERR(0, 8365, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_98cudaStreamSetAttribute(__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_98cudaStreamSetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream, PyObject *__pyx_v_attr, struct __pyx_obj_4cuda_6cudart_cudaStreamAttrValue *__pyx_v_value) {
  enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID __pyx_v_cattr;
  union __pyx_t_4cuda_7ccudart_cudaStreamAttrValue *__pyx_v_cvalue_ptr;
  __pyx_t_4cuda_7ccudart_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;
  enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID __pyx_t_6;
  union __pyx_t_4cuda_7ccudart_cudaStreamAttrValue *__pyx_t_7;
  __pyx_t_4cuda_7ccudart_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__380)
  __Pyx_RefNannySetupContext("cudaStreamSetAttribute", 0);
  __Pyx_TraceCall("cudaStreamSetAttribute", __pyx_f[0], 8365, 0, __PYX_ERR(0, 8365, __pyx_L1_error));

  /* "cuda/cudart.pyx":8394
 *     cudaAccessPolicyWindow
 *     """
 *     if not isinstance(hStream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hStream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(hStream)))
 *     cdef ccudart.cudaStreamAttrID cattr = attr.value
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":8395
 *     """
 *     if not isinstance(hStream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'hStream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(hStream)))             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaStreamAttrID cattr = attr.value
 *     cdef ccudart.cudaStreamAttrValue* cvalue_ptr = value._ptr if value != None else NULL
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_hStream))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8395, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_hStream_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8395, __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, 8395, __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, 8395, __pyx_L1_error)

    /* "cuda/cudart.pyx":8394
 *     cudaAccessPolicyWindow
 *     """
 *     if not isinstance(hStream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hStream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(hStream)))
 *     cdef ccudart.cudaStreamAttrID cattr = attr.value
 */
  }

  /* "cuda/cudart.pyx":8396
 *     if not isinstance(hStream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'hStream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(hStream)))
 *     cdef ccudart.cudaStreamAttrID cattr = attr.value             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaStreamAttrValue* cvalue_ptr = value._ptr if value != None else NULL
 *     err = ccudart.cudaStreamSetAttribute(<ccudart.cudaStream_t>(<cudaStream_t>hStream)._ptr[0], cattr, cvalue_ptr)
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_n_s_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8396, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = ((enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaStreamAttrID(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 8396, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cattr = __pyx_t_6;

  /* "cuda/cudart.pyx":8397
 *         raise TypeError("Argument 'hStream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(hStream)))
 *     cdef ccudart.cudaStreamAttrID cattr = attr.value
 *     cdef ccudart.cudaStreamAttrValue* cvalue_ptr = value._ptr if value != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaStreamSetAttribute(<ccudart.cudaStream_t>(<cudaStream_t>hStream)._ptr[0], cattr, cvalue_ptr)
 *     return (cudaError_t(err),)
 */
  __pyx_t_4 = PyObject_RichCompare(((PyObject *)__pyx_v_value), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8397, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 8397, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_2) {
    __pyx_t_7 = __pyx_v_value->_ptr;
  } else {
    __pyx_t_7 = NULL;
  }
  __pyx_v_cvalue_ptr = __pyx_t_7;

  /* "cuda/cudart.pyx":8398
 *     cdef ccudart.cudaStreamAttrID cattr = attr.value
 *     cdef ccudart.cudaStreamAttrValue* cvalue_ptr = value._ptr if value != None else NULL
 *     err = ccudart.cudaStreamSetAttribute(<ccudart.cudaStream_t>(<cudaStream_t>hStream)._ptr[0], cattr, cvalue_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_8 = __pyx_f_4cuda_7ccudart_cudaStreamSetAttribute(((__pyx_t_4cuda_7ccudart_cudaStream_t)(((struct __pyx_obj_4cuda_6cudart_cudaStream_t *)__pyx_v_hStream)->__pyx_base._ptr[0])), __pyx_v_cattr, __pyx_v_cvalue_ptr); if (unlikely(__pyx_t_8 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 8398, __pyx_L1_error)
  __pyx_v_err = __pyx_t_8;

  /* "cuda/cudart.pyx":8399
 *     cdef ccudart.cudaStreamAttrValue* cvalue_ptr = value._ptr if value != None else NULL
 *     err = ccudart.cudaStreamSetAttribute(<ccudart.cudaStream_t>(<cudaStream_t>hStream)._ptr[0], cattr, cvalue_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, 8399, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_9 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 8399, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __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_9) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __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, 8399, __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, 8399, __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":8365
 * 
 * @cython.embedsignature(True)
 * def cudaStreamSetAttribute(hStream, attr not None : cudaStreamAttrID, value : cudaStreamAttrValue):             # <<<<<<<<<<<<<<
 *     """ Sets stream attribute.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.cudart.cudaStreamSetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8402
 * 
 * @cython.embedsignature(True)
 * def cudaStreamDestroy(stream):             # <<<<<<<<<<<<<<
 *     """ Destroys and cleans up an asynchronous stream.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_101cudaStreamDestroy(PyObject *__pyx_self, PyObject *__pyx_v_stream); /*proto*/
static char __pyx_doc_4cuda_6cudart_100cudaStreamDestroy[] = "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    cudaStreamDestroy() is called, the function will return immediately and\n    the resources associated with `stream` will be released automatically\n    once the device has completed all work in `stream`.\n\n    Parameters\n    ----------\n    stream : CUstream or cudaStream_t\n        Stream identifier\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorInvalidResourceHandle\n    None\n        None\n\n    See Also\n    --------\n    cudaStreamCreate\n    cudaStreamCreateWithFlags\n    cudaStreamQuery\n    cudaStreamWaitEvent\n    cudaStreamSynchronize\n    cudaStreamAddCallback\n    cuStreamDestroy\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_101cudaStreamDestroy = {"cudaStreamDestroy", (PyCFunction)__pyx_pw_4cuda_6cudart_101cudaStreamDestroy, METH_O, __pyx_doc_4cuda_6cudart_100cudaStreamDestroy};
static PyObject *__pyx_pw_4cuda_6cudart_101cudaStreamDestroy(PyObject *__pyx_self, PyObject *__pyx_v_stream) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaStreamDestroy (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_100cudaStreamDestroy(__pyx_self, ((PyObject *)__pyx_v_stream));

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

static PyObject *__pyx_pf_4cuda_6cudart_100cudaStreamDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream) {
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__381)
  __Pyx_RefNannySetupContext("cudaStreamDestroy", 0);
  __Pyx_TraceCall("cudaStreamDestroy", __pyx_f[0], 8402, 0, __PYX_ERR(0, 8402, __pyx_L1_error));

  /* "cuda/cudart.pyx":8436
 *     cuStreamDestroy
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     err = ccudart.cudaStreamDestroy(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":8437
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaStreamDestroy(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     return (cudaError_t(err),)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_stream))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8437, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_stream_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8437, __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, 8437, __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, 8437, __pyx_L1_error)

    /* "cuda/cudart.pyx":8436
 *     cuStreamDestroy
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     err = ccudart.cudaStreamDestroy(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 */
  }

  /* "cuda/cudart.pyx":8438
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     err = ccudart.cudaStreamDestroy(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaStreamDestroy(((__pyx_t_4cuda_7ccudart_cudaStream_t)(((struct __pyx_obj_4cuda_6cudart_cudaStream_t *)__pyx_v_stream)->__pyx_base._ptr[0]))); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 8438, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":8439
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     err = ccudart.cudaStreamDestroy(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     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, 8439, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 8439, __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_4 = (__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_4)) __PYX_ERR(0, 8439, __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, 8439, __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":8402
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaStreamDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8442
 * 
 * @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_103cudaStreamWaitEvent(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_102cudaStreamWaitEvent[] = "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 cudaEventRecord() 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 device than `stream`.\n\n    flags include: cudaEventWaitDefault: Default event creation flag.\n    cudaEventWaitExternal: Event is captured in the graph as an external\n    event node when performing stream capture.\n\n    Parameters\n    ----------\n    stream : CUstream or cudaStream_t\n        Stream to wait\n    event : CUevent or 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        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorInvalidResourceHandle\n    None\n        None\n\n    See Also\n    --------\n    cudaStreamCreate\n    cudaStreamCreateWithFlags\n    cudaStreamQuery\n    cudaStreamSynchronize\n    cudaStreamAddCallback\n    cudaStreamDestroy\n    cuStreamWaitEvent\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_103cudaStreamWaitEvent = {"cudaStreamWaitEvent", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_103cudaStreamWaitEvent, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_102cudaStreamWaitEvent};
static PyObject *__pyx_pw_4cuda_6cudart_103cudaStreamWaitEvent(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,&__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)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaStreamWaitEvent", 1, 3, 3, 1); __PYX_ERR(0, 8442, __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, 8442, __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, 8442, __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, 8442, __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, 8442, __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_102cudaStreamWaitEvent(__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_102cudaStreamWaitEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream, PyObject *__pyx_v_event, unsigned int __pyx_v_flags) {
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__382)
  __Pyx_RefNannySetupContext("cudaStreamWaitEvent", 0);
  __Pyx_TraceCall("cudaStreamWaitEvent", __pyx_f[0], 8442, 0, __PYX_ERR(0, 8442, __pyx_L1_error));

  /* "cuda/cudart.pyx":8482
 *     cuStreamWaitEvent
 *     """
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_6cudart_cudaEvent_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_4cuda_CUevent); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":8483
 *     """
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))             # <<<<<<<<<<<<<<
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_event))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8483, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_event_is_not_instance_o, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8483, __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, 8483, __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, 8483, __pyx_L1_error)

    /* "cuda/cudart.pyx":8482
 *     cuStreamWaitEvent
 *     """
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 */
  }

  /* "cuda/cudart.pyx":8484
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     with nogil:
 */
  __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)) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "cuda/cudart.pyx":8485
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = ccudart.cudaStreamWaitEvent(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0], <ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0], flags)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_stream))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8485, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_stream_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8485, __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, 8485, __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, 8485, __pyx_L1_error)

    /* "cuda/cudart.pyx":8484
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     with nogil:
 */
  }

  /* "cuda/cudart.pyx":8486
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaStreamWaitEvent(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0], <ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0], flags)
 *     return (cudaError_t(err),)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":8487
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     with nogil:
 *         err = ccudart.cudaStreamWaitEvent(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0], <ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0], flags)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
        __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaStreamWaitEvent(((__pyx_t_4cuda_7ccudart_cudaStream_t)(((struct __pyx_obj_4cuda_6cudart_cudaStream_t *)__pyx_v_stream)->__pyx_base._ptr[0])), ((__pyx_t_4cuda_7ccudart_cudaEvent_t)(((struct __pyx_obj_4cuda_6cudart_cudaEvent_t *)__pyx_v_event)->__pyx_base._ptr[0])), __pyx_v_flags); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 8487, __pyx_L10_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/cudart.pyx":8486
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaStreamWaitEvent(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0], <ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0], 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":8488
 *     with nogil:
 *         err = ccudart.cudaStreamWaitEvent(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0], <ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0], 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, 8488, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 8488, __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_4 = (__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_4)) __PYX_ERR(0, 8488, __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, 8488, __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":8442
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaStreamWaitEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8491
 * 
 * @cython.embedsignature(True)
 * def cudaStreamAddCallback(stream, callback not None : cudaStreamCallback_t, userData, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Add a callback to a compute stream.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_105cudaStreamAddCallback(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_104cudaStreamAddCallback[] = "cudaStreamAddCallback(stream, cudaStreamCallback_t callback: cudaStreamCallback_t, userData, unsigned int flags)\n Add a callback to a compute stream.\n\n    The callback may be passed cudaSuccess or an error code. In the event\n    of a device error, all subsequently executed callbacks will receive an\n    appropriate cudaError_t.\n\n    Callbacks must not make any CUDA API calls. Attempting to use CUDA APIs\n    may result in cudaErrorNotPermitted. Callbacks must not perform any\n    synchronization that may depend on outstanding device work or other\n    callbacks that are not mandated to run earlier. Callbacks without a\n    mandated order (in independent streams) execute in undefined order and\n    may be serialized.\n\n    For the purposes of Unified Memory, callback execution makes a number\n    of guarantees:   The callback stream is considered idle for the\n    duration of the callback. Thus, for example, a callback may always use\n    memory attached to the callback stream.    The start of execution of a\n    callback has the same effect as synchronizing an event recorded in the\n    same stream immediately prior to the callback. It thus synchronizes\n    streams which have been \"joined\" prior to the callback.    Adding\n    device work to any stream does not have the effect of making the stream\n    active until all preceding callbacks have executed. Thus, for example,\n    a callback might use global attached memory even if work has been added\n    to another stream, if it has been properly ordered with an event.\n    Completion of a callback does not cause a stream to become active\n    except as described above. The callback stream will remain idle if no\n    device work follows the callback, and will remain idle across\n    consecutive callbacks without device work in between. Thus, for\n    example, stream synchronization can be done by signaling from a\n    callback at the end of the stream.\n\n    Parameters\n    ----------\n    stream : CUstream"" or cudaStream_t\n        Stream to add callback to\n    callback : 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        cudaSuccess\n        cudaErrorInvalidResourceHandle\n        cudaErrorInvalidValue\n        cudaErrorNotSupported\n    None\n        None\n\n    See Also\n    --------\n    cudaStreamCreate\n    cudaStreamCreateWithFlags\n    cudaStreamQuery\n    cudaStreamSynchronize\n    cudaStreamWaitEvent\n    cudaStreamDestroy\n    cudaMallocManaged\n    cudaStreamAttachMemAsync\n    cudaLaunchHostFunc\n    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 cudaLaunchHostFunc. Additionally, this function is not supported with cudaStreamBeginCapture and cudaStreamEndCapture, unlike cudaLaunchHostFunc.\n\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_105cudaStreamAddCallback = {"cudaStreamAddCallback", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_105cudaStreamAddCallback, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_104cudaStreamAddCallback};
static PyObject *__pyx_pw_4cuda_6cudart_105cudaStreamAddCallback(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_stream = 0;
  struct __pyx_obj_4cuda_6cudart_cudaStreamCallback_t *__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, 8491, __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, 8491, __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, 8491, __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, 8491, __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 = ((struct __pyx_obj_4cuda_6cudart_cudaStreamCallback_t *)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, 8491, __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, 8491, __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:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_callback), __pyx_ptype_4cuda_6cudart_cudaStreamCallback_t, 0, "callback", 0))) __PYX_ERR(0, 8491, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_104cudaStreamAddCallback(__pyx_self, __pyx_v_stream, __pyx_v_callback, __pyx_v_userData, __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_104cudaStreamAddCallback(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream, struct __pyx_obj_4cuda_6cudart_cudaStreamCallback_t *__pyx_v_callback, PyObject *__pyx_v_userData, unsigned int __pyx_v_flags) {
  PyObject *__pyx_v_cuserData = NULL;
  void *__pyx_v_cuserData_ptr;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_6;
  __pyx_t_4cuda_7ccudart_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__383)
  __Pyx_RefNannySetupContext("cudaStreamAddCallback", 0);
  __Pyx_TraceCall("cudaStreamAddCallback", __pyx_f[0], 8491, 0, __PYX_ERR(0, 8491, __pyx_L1_error));

  /* "cuda/cudart.pyx":8562
 * 
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cuserData = utils.HelperInputVoidPtr(userData)
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":8563
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))             # <<<<<<<<<<<<<<
 *     cuserData = utils.HelperInputVoidPtr(userData)
 *     cdef void* cuserData_ptr = <void*><void_ptr>cuserData.cptr
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_stream))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8563, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_stream_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8563, __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, 8563, __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, 8563, __pyx_L1_error)

    /* "cuda/cudart.pyx":8562
 * 
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cuserData = utils.HelperInputVoidPtr(userData)
 */
  }

  /* "cuda/cudart.pyx":8564
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cuserData = utils.HelperInputVoidPtr(userData)             # <<<<<<<<<<<<<<
 *     cdef void* cuserData_ptr = <void*><void_ptr>cuserData.cptr
 *     with nogil:
 */
  __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_userData); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8564, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_cuserData = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":8565
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cuserData = utils.HelperInputVoidPtr(userData)
 *     cdef void* cuserData_ptr = <void*><void_ptr>cuserData.cptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = ccudart.cudaStreamAddCallback(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0], callback._ptr[0], cuserData_ptr, flags)
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_cuserData, __pyx_n_s_cptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8565, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8565, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cuserData_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_6));

  /* "cuda/cudart.pyx":8566
 *     cuserData = utils.HelperInputVoidPtr(userData)
 *     cdef void* cuserData_ptr = <void*><void_ptr>cuserData.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaStreamAddCallback(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0], callback._ptr[0], cuserData_ptr, flags)
 *     return (cudaError_t(err),)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":8567
 *     cdef void* cuserData_ptr = <void*><void_ptr>cuserData.cptr
 *     with nogil:
 *         err = ccudart.cudaStreamAddCallback(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0], callback._ptr[0], cuserData_ptr, flags)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
        __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaStreamAddCallback(((__pyx_t_4cuda_7ccudart_cudaStream_t)(((struct __pyx_obj_4cuda_6cudart_cudaStream_t *)__pyx_v_stream)->__pyx_base._ptr[0])), (__pyx_v_callback->_ptr[0]), __pyx_v_cuserData_ptr, __pyx_v_flags); if (unlikely(__pyx_t_7 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 8567, __pyx_L7_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/cudart.pyx":8566
 *     cuserData = utils.HelperInputVoidPtr(userData)
 *     cdef void* cuserData_ptr = <void*><void_ptr>cuserData.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaStreamAddCallback(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0], callback._ptr[0], cuserData_ptr, flags)
 *     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":8568
 *     with nogil:
 *         err = ccudart.cudaStreamAddCallback(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0], callback._ptr[0], 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, 8568, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_8 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8568, __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_4 = (__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_4)) __PYX_ERR(0, 8568, __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, 8568, __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":8491
 * 
 * @cython.embedsignature(True)
 * def cudaStreamAddCallback(stream, callback not None : cudaStreamCallback_t, userData, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Add a callback to a compute stream.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __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_cuserData);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8571
 * 
 * @cython.embedsignature(True)
 * def cudaStreamSynchronize(stream):             # <<<<<<<<<<<<<<
 *     """ Waits for stream tasks to complete.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_107cudaStreamSynchronize(PyObject *__pyx_self, PyObject *__pyx_v_stream); /*proto*/
static char __pyx_doc_4cuda_6cudart_106cudaStreamSynchronize[] = "cudaStreamSynchronize(stream)\n Waits for stream tasks to complete.\n\n    Blocks until `stream` has completed all operations. If the\n    cudaDeviceScheduleBlockingSync flag was set for this device, the host\n    thread will block until the stream is finished with all of its tasks.\n\n    Parameters\n    ----------\n    stream : CUstream or cudaStream_t\n        Stream identifier\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidResourceHandle\n    None\n        None\n\n    See Also\n    --------\n    cudaStreamCreate\n    cudaStreamCreateWithFlags\n    cudaStreamQuery\n    cudaStreamWaitEvent\n    cudaStreamAddCallback\n    cudaStreamDestroy\n    cuStreamSynchronize\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_107cudaStreamSynchronize = {"cudaStreamSynchronize", (PyCFunction)__pyx_pw_4cuda_6cudart_107cudaStreamSynchronize, METH_O, __pyx_doc_4cuda_6cudart_106cudaStreamSynchronize};
static PyObject *__pyx_pw_4cuda_6cudart_107cudaStreamSynchronize(PyObject *__pyx_self, PyObject *__pyx_v_stream) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaStreamSynchronize (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_106cudaStreamSynchronize(__pyx_self, ((PyObject *)__pyx_v_stream));

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

static PyObject *__pyx_pf_4cuda_6cudart_106cudaStreamSynchronize(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream) {
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__384)
  __Pyx_RefNannySetupContext("cudaStreamSynchronize", 0);
  __Pyx_TraceCall("cudaStreamSynchronize", __pyx_f[0], 8571, 0, __PYX_ERR(0, 8571, __pyx_L1_error));

  /* "cuda/cudart.pyx":8601
 *     cuStreamSynchronize
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     with nogil:
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":8602
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = ccudart.cudaStreamSynchronize(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_stream))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8602, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_stream_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8602, __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, 8602, __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, 8602, __pyx_L1_error)

    /* "cuda/cudart.pyx":8601
 *     cuStreamSynchronize
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     with nogil:
 */
  }

  /* "cuda/cudart.pyx":8603
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaStreamSynchronize(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     return (cudaError_t(err),)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":8604
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     with nogil:
 *         err = ccudart.cudaStreamSynchronize(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
        __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaStreamSynchronize(((__pyx_t_4cuda_7ccudart_cudaStream_t)(((struct __pyx_obj_4cuda_6cudart_cudaStream_t *)__pyx_v_stream)->__pyx_base._ptr[0]))); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 8604, __pyx_L7_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/cudart.pyx":8603
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaStreamSynchronize(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     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":8605
 *     with nogil:
 *         err = ccudart.cudaStreamSynchronize(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     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, 8605, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 8605, __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_4 = (__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_4)) __PYX_ERR(0, 8605, __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, 8605, __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":8571
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaStreamSynchronize", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8608
 * 
 * @cython.embedsignature(True)
 * def cudaStreamQuery(stream):             # <<<<<<<<<<<<<<
 *     """ Queries an asynchronous stream for completion status.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_109cudaStreamQuery(PyObject *__pyx_self, PyObject *__pyx_v_stream); /*proto*/
static char __pyx_doc_4cuda_6cudart_108cudaStreamQuery[] = "cudaStreamQuery(stream)\n Queries an asynchronous stream for completion status.\n\n    Returns cudaSuccess if all operations in `stream` have completed, or\n    cudaErrorNotReady if not.\n\n    For the purposes of Unified Memory, a return value of cudaSuccess is\n    equivalent to having called cudaStreamSynchronize().\n\n    Parameters\n    ----------\n    stream : CUstream or cudaStream_t\n        Stream identifier\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorNotReady\n        cudaErrorInvalidResourceHandle\n    None\n        None\n\n    See Also\n    --------\n    cudaStreamCreate\n    cudaStreamCreateWithFlags\n    cudaStreamWaitEvent\n    cudaStreamSynchronize\n    cudaStreamAddCallback\n    cudaStreamDestroy\n    cuStreamQuery\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_109cudaStreamQuery = {"cudaStreamQuery", (PyCFunction)__pyx_pw_4cuda_6cudart_109cudaStreamQuery, METH_O, __pyx_doc_4cuda_6cudart_108cudaStreamQuery};
static PyObject *__pyx_pw_4cuda_6cudart_109cudaStreamQuery(PyObject *__pyx_self, PyObject *__pyx_v_stream) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaStreamQuery (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_108cudaStreamQuery(__pyx_self, ((PyObject *)__pyx_v_stream));

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

static PyObject *__pyx_pf_4cuda_6cudart_108cudaStreamQuery(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream) {
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__385)
  __Pyx_RefNannySetupContext("cudaStreamQuery", 0);
  __Pyx_TraceCall("cudaStreamQuery", __pyx_f[0], 8608, 0, __PYX_ERR(0, 8608, __pyx_L1_error));

  /* "cuda/cudart.pyx":8641
 *     cuStreamQuery
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     err = ccudart.cudaStreamQuery(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":8642
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaStreamQuery(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     return (cudaError_t(err),)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_stream))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8642, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_stream_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8642, __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, 8642, __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, 8642, __pyx_L1_error)

    /* "cuda/cudart.pyx":8641
 *     cuStreamQuery
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     err = ccudart.cudaStreamQuery(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 */
  }

  /* "cuda/cudart.pyx":8643
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     err = ccudart.cudaStreamQuery(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaStreamQuery(((__pyx_t_4cuda_7ccudart_cudaStream_t)(((struct __pyx_obj_4cuda_6cudart_cudaStream_t *)__pyx_v_stream)->__pyx_base._ptr[0]))); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 8643, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":8644
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     err = ccudart.cudaStreamQuery(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     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, 8644, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 8644, __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_4 = (__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_4)) __PYX_ERR(0, 8644, __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, 8644, __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":8608
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaStreamQuery", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8647
 * 
 * @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_111cudaStreamAttachMemAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_110cudaStreamAttachMemAsync[] = "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    managed memory declared using the managed keyword or allocated with\n    cudaMallocManaged. a valid host-accessible region of system-allocated\n    pageable memory. This type of memory may only be specified if the\n    device associated with the stream reports a non-zero value for the\n    device attribute 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    cudaMemAttachGlobal, cudaMemAttachHost or cudaMemAttachSingle. The\n    default value for `flags` is cudaMemAttachSingle If the\n    cudaMemAttachGlobal flag is specified, the memory can be accessed by\n    any stream on any device. If the cudaMemAttachHost flag is specified,\n    the program makes a guarantee that it won't access the memory on the\n    device from any stream on a device that has a zero value for the device\n    attribute cudaDevAttrConcurrentManagedAccess. If the\n    cudaMemAttachSingle flag is specified and `stream` is associated with a\n    device that has a zero value for the device attribute\n    cudaDevAttrConcurrentManagedAccess, the program makes a guar""antee that\n    it will only access the memory on the device from `stream`. It is\n    illegal to attach singly to the NULL stream, because the NULL stream is\n    a virtual global stream and not a specific stream. An error will be\n    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    cudaStreamAttachMemAsync via events, synchronization or other means to\n    ensure legal access to memory at all times. Data visibility and\n    coherency will be changed appropriately for all kernels which follow a\n    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 cudaMallocManaged. For\n    managed variables, the default association is always\n    cudaMemAttachGlobal. Note that destroying a stream is an asynchronous\n    operation, and as a result, the change to default association won't\n    happen until all work in the stream has completed.\n\n    Parameters\n    ----------\n    stream : CUstream or cudaStream_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 cudaMemAttachGlobal, cudaMemAttachHost or\n        cudaMemAttachSingle (defaults to cudaMemAttachSingle)\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorNotReady\n        cudaErrorInvalidValue\n        cudaErrorInvalidResourceHandle\n    None\n        None\n\n    See Also\n    --------\n    cudaStreamCreate\n    cudaStreamCreateWithFlags\n    cudaStreamWaitEvent\n    cudaStreamSynchronize\n    cudaStreamAddCallback\n    cudaStreamDestroy\n    cudaMallocManaged\n    cuStreamAttachMemAsync\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_111cudaStreamAttachMemAsync = {"cudaStreamAttachMemAsync", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_111cudaStreamAttachMemAsync, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_110cudaStreamAttachMemAsync};
static PyObject *__pyx_pw_4cuda_6cudart_111cudaStreamAttachMemAsync(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, 8647, __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, 8647, __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, 8647, __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, 8647, __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, 8647, __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, 8647, __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, 8647, __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_110cudaStreamAttachMemAsync(__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_110cudaStreamAttachMemAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream, PyObject *__pyx_v_devPtr, size_t __pyx_v_length, unsigned int __pyx_v_flags) {
  PyObject *__pyx_v_cdevPtr = NULL;
  void *__pyx_v_cdevPtr_ptr;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_6;
  __pyx_t_4cuda_7ccudart_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__386)
  __Pyx_RefNannySetupContext("cudaStreamAttachMemAsync", 0);
  __Pyx_TraceCall("cudaStreamAttachMemAsync", __pyx_f[0], 8647, 0, __PYX_ERR(0, 8647, __pyx_L1_error));

  /* "cuda/cudart.pyx":8746
 *     cuStreamAttachMemAsync
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":8747
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))             # <<<<<<<<<<<<<<
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_stream))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8747, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_stream_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8747, __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, 8747, __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, 8747, __pyx_L1_error)

    /* "cuda/cudart.pyx":8746
 *     cuStreamAttachMemAsync
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 */
  }

  /* "cuda/cudart.pyx":8748
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)             # <<<<<<<<<<<<<<
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     err = ccudart.cudaStreamAttachMemAsync(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0], cdevPtr_ptr, length, flags)
 */
  __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_devPtr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8748, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_cdevPtr = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":8749
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaStreamAttachMemAsync(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0], cdevPtr_ptr, length, flags)
 *     return (cudaError_t(err),)
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_cdevPtr, __pyx_n_s_cptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8749, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 8749, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cdevPtr_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_6));

  /* "cuda/cudart.pyx":8750
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     err = ccudart.cudaStreamAttachMemAsync(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0], cdevPtr_ptr, length, flags)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaStreamAttachMemAsync(((__pyx_t_4cuda_7ccudart_cudaStream_t)(((struct __pyx_obj_4cuda_6cudart_cudaStream_t *)__pyx_v_stream)->__pyx_base._ptr[0])), __pyx_v_cdevPtr_ptr, __pyx_v_length, __pyx_v_flags); if (unlikely(__pyx_t_7 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 8750, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":8751
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     err = ccudart.cudaStreamAttachMemAsync(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0], cdevPtr_ptr, length, 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, 8751, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_8 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8751, __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_4 = (__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_4)) __PYX_ERR(0, 8751, __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, 8751, __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":8647
 * 
 * @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_5);
  __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_cdevPtr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8754
 * 
 * @cython.embedsignature(True)
 * def cudaStreamBeginCapture(stream, mode not None : cudaStreamCaptureMode):             # <<<<<<<<<<<<<<
 *     """ Begins graph capture on a stream.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_113cudaStreamBeginCapture(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_112cudaStreamBeginCapture[] = "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    cudaStreamEndCapture. Capture may not be initiated if `stream` is\n    cudaStreamLegacy. Capture must be ended on the same stream in which it\n    was initiated, and it may only be initiated if the stream is not\n    already in capture mode. The capture mode may be queried via\n    cudaStreamIsCapturing. A unique id representing the capture sequence\n    may be queried via cudaStreamGetCaptureInfo.\n\n    If `mode` is not cudaStreamCaptureModeRelaxed, cudaStreamEndCapture\n    must be called on this stream from the same thread.\n\n    Parameters\n    ----------\n    stream : CUstream or cudaStream_t\n        Stream in which to initiate capture\n    mode : cudaStreamCaptureMode\n        Controls the interaction of this capture sequence with other API\n        calls that are potentially unsafe. For more details see\n        cudaThreadExchangeStreamCaptureMode.\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    None\n        None\n\n    See Also\n    --------\n    cudaStreamCreate\n    cudaStreamIsCapturing\n    cudaStreamEndCapture\n    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\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_113cudaStreamBeginCapture = {"cudaStreamBeginCapture", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_113cudaStreamBeginCapture, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_112cudaStreamBeginCapture};
static PyObject *__pyx_pw_4cuda_6cudart_113cudaStreamBeginCapture(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, 8754, __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, 8754, __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, 8754, __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, 8754, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_112cudaStreamBeginCapture(__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_112cudaStreamBeginCapture(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream, PyObject *__pyx_v_mode) {
  enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode __pyx_v_cmode;
  __pyx_t_4cuda_7ccudart_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;
  enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode __pyx_t_6;
  __pyx_t_4cuda_7ccudart_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__387)
  __Pyx_RefNannySetupContext("cudaStreamBeginCapture", 0);
  __Pyx_TraceCall("cudaStreamBeginCapture", __pyx_f[0], 8754, 0, __PYX_ERR(0, 8754, __pyx_L1_error));

  /* "cuda/cudart.pyx":8799
 * 
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdef ccudart.cudaStreamCaptureMode cmode = mode.value
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":8800
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaStreamCaptureMode cmode = mode.value
 *     err = ccudart.cudaStreamBeginCapture(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0], cmode)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_stream))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8800, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_stream_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8800, __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, 8800, __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, 8800, __pyx_L1_error)

    /* "cuda/cudart.pyx":8799
 * 
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdef ccudart.cudaStreamCaptureMode cmode = mode.value
 */
  }

  /* "cuda/cudart.pyx":8801
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdef ccudart.cudaStreamCaptureMode cmode = mode.value             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaStreamBeginCapture(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0], cmode)
 *     return (cudaError_t(err),)
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_mode, __pyx_n_s_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8801, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = ((enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaStreamCaptureMode(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 8801, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cmode = __pyx_t_6;

  /* "cuda/cudart.pyx":8802
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdef ccudart.cudaStreamCaptureMode cmode = mode.value
 *     err = ccudart.cudaStreamBeginCapture(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0], cmode)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaStreamBeginCapture(((__pyx_t_4cuda_7ccudart_cudaStream_t)(((struct __pyx_obj_4cuda_6cudart_cudaStream_t *)__pyx_v_stream)->__pyx_base._ptr[0])), __pyx_v_cmode); if (unlikely(__pyx_t_7 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 8802, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":8803
 *     cdef ccudart.cudaStreamCaptureMode cmode = mode.value
 *     err = ccudart.cudaStreamBeginCapture(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0], cmode)
 *     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, 8803, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_8 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8803, __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_4 = (__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_4)) __PYX_ERR(0, 8803, __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, 8803, __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":8754
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaStreamBeginCapture", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8806
 * 
 * @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_115cudaThreadExchangeStreamCaptureMode(PyObject *__pyx_self, PyObject *__pyx_v_mode); /*proto*/
static char __pyx_doc_4cuda_6cudart_114cudaThreadExchangeStreamCaptureMode[] = "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:cudaStreamCaptureModemode=desiredMode;\n    cudaThreadExchangeStreamCaptureMode(&mode); ...\n    cudaThreadExchangeStreamCaptureMode(&mode);//restorepreviousmode\n\n    During stream capture (see cudaStreamBeginCapture), some actions, such\n    as a call to cudaMalloc, may be unsafe. In the case of cudaMalloc, the\n    operation is not enqueued asynchronously to a stream, and is not\n    observed by stream capture. Therefore, if the sequence of operations\n    captured via 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 cudaStreamBeginCapture-\n    cudaStreamEndCapture sequence. This behavior can be controlled via this\n    API and flags to cudaStreamBeginCapture.\n\n    A thread's mode is one of the following: `cudaStreamCaptureModeGlobal:`\n    This is the default mode. If the local thread has an ongoing capture\n    sequence that was not initiated with `cudaStreamCaptureModeRelaxed` at\n    `cuStreamBeginCapture`, or if any other thread has a concurrent capture\n    sequence initiated with `cudaStreamCaptureModeGlobal`, this thread is\n    prohibited from potentially unsafe API calls.\n    `cudaStreamCaptureModeThreadLocal:` If the local thread has an ongoing\n    capture sequence not initiated with `cudaStreamCaptureModeRelaxed`, it\n    is prohibited from potentially unsafe API calls. Concurrent capture\n    sequences in"" other threads are ignored. `cudaStreamCaptureModeRelaxed:`\n    The local thread is not prohibited from potentially unsafe API calls.\n    Note that the thread is still prohibited from API calls which\n    necessarily conflict with stream capture, for example, attempting\n    cudaEventQuery on an event that was last recorded inside a capture\n    sequence.\n\n    Parameters\n    ----------\n    mode : cudaStreamCaptureMode\n        Pointer to mode value to swap with the current mode\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    None\n        None\n\n    See Also\n    --------\n    cudaStreamBeginCapture\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_115cudaThreadExchangeStreamCaptureMode = {"cudaThreadExchangeStreamCaptureMode", (PyCFunction)__pyx_pw_4cuda_6cudart_115cudaThreadExchangeStreamCaptureMode, METH_O, __pyx_doc_4cuda_6cudart_114cudaThreadExchangeStreamCaptureMode};
static PyObject *__pyx_pw_4cuda_6cudart_115cudaThreadExchangeStreamCaptureMode(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, 8806, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_114cudaThreadExchangeStreamCaptureMode(__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_114cudaThreadExchangeStreamCaptureMode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_mode) {
  enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode __pyx_v_cmode;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode __pyx_t_2;
  __pyx_t_4cuda_7ccudart_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__388)
  __Pyx_RefNannySetupContext("cudaThreadExchangeStreamCaptureMode", 0);
  __Pyx_TraceCall("cudaThreadExchangeStreamCaptureMode", __pyx_f[0], 8806, 0, __PYX_ERR(0, 8806, __pyx_L1_error));

  /* "cuda/cudart.pyx":8863
 *     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, 8863, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaStreamCaptureMode(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 8863, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cmode = __pyx_t_2;

  /* "cuda/cudart.pyx":8864
 *     """
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 8864, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cudart.pyx":8865
 *     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, 8865, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8865, __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, 8865, __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, 8865, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaStreamCaptureMode(__pyx_v_cmode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 8865, __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, 8865, __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, 8865, __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":8806
 * 
 * @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":8868
 * 
 * @cython.embedsignature(True)
 * def cudaStreamEndCapture(stream):             # <<<<<<<<<<<<<<
 *     """ Ends capture on a stream, returning the captured graph.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_117cudaStreamEndCapture(PyObject *__pyx_self, PyObject *__pyx_v_stream); /*proto*/
static char __pyx_doc_4cuda_6cudart_116cudaStreamEndCapture[] = "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    cudaStreamBeginCapture. If capture was invalidated, due to a violation\n    of the rules of stream capture, then a NULL graph will be returned.\n\n    If the `mode` argument to cudaStreamBeginCapture was not\n    cudaStreamCaptureModeRelaxed, this call must be from the same thread as\n    cudaStreamBeginCapture.\n\n    Parameters\n    ----------\n    stream : CUstream or cudaStream_t\n        Stream to query\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorStreamCaptureWrongThread\n    pGraph : cudaGraph_t\n        The captured graph\n\n    See Also\n    --------\n    cudaStreamCreate\n    cudaStreamBeginCapture\n    cudaStreamIsCapturing\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_117cudaStreamEndCapture = {"cudaStreamEndCapture", (PyCFunction)__pyx_pw_4cuda_6cudart_117cudaStreamEndCapture, METH_O, __pyx_doc_4cuda_6cudart_116cudaStreamEndCapture};
static PyObject *__pyx_pw_4cuda_6cudart_117cudaStreamEndCapture(PyObject *__pyx_self, PyObject *__pyx_v_stream) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaStreamEndCapture (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_116cudaStreamEndCapture(__pyx_self, ((PyObject *)__pyx_v_stream));

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

static PyObject *__pyx_pf_4cuda_6cudart_116cudaStreamEndCapture(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream) {
  struct __pyx_obj_4cuda_6cudart_cudaGraph_t *__pyx_v_pGraph = 0;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__389)
  __Pyx_RefNannySetupContext("cudaStreamEndCapture", 0);
  __Pyx_TraceCall("cudaStreamEndCapture", __pyx_f[0], 8868, 0, __PYX_ERR(0, 8868, __pyx_L1_error));

  /* "cuda/cudart.pyx":8900
 *     cudaStreamIsCapturing
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdef cudaGraph_t pGraph = cudaGraph_t()
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":8901
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))             # <<<<<<<<<<<<<<
 *     cdef cudaGraph_t pGraph = cudaGraph_t()
 *     err = ccudart.cudaStreamEndCapture(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0], <ccudart.cudaGraph_t*>pGraph._ptr)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_stream))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8901, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_stream_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8901, __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, 8901, __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, 8901, __pyx_L1_error)

    /* "cuda/cudart.pyx":8900
 *     cudaStreamIsCapturing
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdef cudaGraph_t pGraph = cudaGraph_t()
 */
  }

  /* "cuda/cudart.pyx":8902
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdef cudaGraph_t pGraph = cudaGraph_t()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaStreamEndCapture(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0], <ccudart.cudaGraph_t*>pGraph._ptr)
 *     return (cudaError_t(err), pGraph)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraph_t)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8902, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pGraph = ((struct __pyx_obj_4cuda_6cudart_cudaGraph_t *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":8903
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdef cudaGraph_t pGraph = cudaGraph_t()
 *     err = ccudart.cudaStreamEndCapture(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0], <ccudart.cudaGraph_t*>pGraph._ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pGraph)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaStreamEndCapture(((__pyx_t_4cuda_7ccudart_cudaStream_t)(((struct __pyx_obj_4cuda_6cudart_cudaStream_t *)__pyx_v_stream)->__pyx_base._ptr[0])), ((__pyx_t_4cuda_7ccudart_cudaGraph_t *)__pyx_v_pGraph->__pyx_base._ptr)); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 8903, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":8904
 *     cdef cudaGraph_t pGraph = cudaGraph_t()
 *     err = ccudart.cudaStreamEndCapture(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0], <ccudart.cudaGraph_t*>pGraph._ptr)
 *     return (cudaError_t(err), pGraph)             # <<<<<<<<<<<<<<
 * 
 * @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, 8904, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 8904, __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_4 = (__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_4)) __PYX_ERR(0, 8904, __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, 8904, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
  __Pyx_INCREF(((PyObject *)__pyx_v_pGraph));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pGraph));
  PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_pGraph));
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8868
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaStreamEndCapture", __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":8907
 * 
 * @cython.embedsignature(True)
 * def cudaStreamIsCapturing(stream):             # <<<<<<<<<<<<<<
 *     """ Returns a stream's capture status.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_119cudaStreamIsCapturing(PyObject *__pyx_self, PyObject *__pyx_v_stream); /*proto*/
static char __pyx_doc_4cuda_6cudart_118cudaStreamIsCapturing[] = "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    ::cudaStreamCaptureStatusNone: The stream is not capturing.\n    ::cudaStreamCaptureStatusActive: The stream is capturing.\n    ::cudaStreamCaptureStatusInvalidated: The stream was capturing but an\n    error has invalidated the capture sequence. The capture sequence must\n    be terminated with cudaStreamEndCapture on the stream where it was\n    initiated in order to continue using `stream`.\n\n    Note that, if this is called on cudaStreamLegacy (the \"null stream\")\n    while a blocking stream on the same device is capturing, it will return\n    cudaErrorStreamCaptureImplicit and `*pCaptureStatus` is unspecified\n    after the call. The blocking stream 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 : CUstream or cudaStream_t\n        Stream to query\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorStreamCaptureImplicit\n    pCaptureStatus : cudaStreamCaptureStatus\n        Returns the stream's capture status\n\n    See Also\n    --------\n    cudaStreamCreate\n    cudaStreamBeginCapture\n    cudaStreamEndCapture\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_119cudaStreamIsCapturing = {"cudaStreamIsCapturing", (PyCFunction)__pyx_pw_4cuda_6cudart_119cudaStreamIsCapturing, METH_O, __pyx_doc_4cuda_6cudart_118cudaStreamIsCapturing};
static PyObject *__pyx_pw_4cuda_6cudart_119cudaStreamIsCapturing(PyObject *__pyx_self, PyObject *__pyx_v_stream) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaStreamIsCapturing (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_118cudaStreamIsCapturing(__pyx_self, ((PyObject *)__pyx_v_stream));

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

static PyObject *__pyx_pf_4cuda_6cudart_118cudaStreamIsCapturing(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream) {
  enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureStatus __pyx_v_pCaptureStatus;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__390)
  __Pyx_RefNannySetupContext("cudaStreamIsCapturing", 0);
  __Pyx_TraceCall("cudaStreamIsCapturing", __pyx_f[0], 8907, 0, __PYX_ERR(0, 8907, __pyx_L1_error));

  /* "cuda/cudart.pyx":8949
 *     cudaStreamEndCapture
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdef ccudart.cudaStreamCaptureStatus pCaptureStatus
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":8950
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaStreamCaptureStatus pCaptureStatus
 *     err = ccudart.cudaStreamIsCapturing(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0], &pCaptureStatus)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_stream))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8950, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_stream_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8950, __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, 8950, __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, 8950, __pyx_L1_error)

    /* "cuda/cudart.pyx":8949
 *     cudaStreamEndCapture
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdef ccudart.cudaStreamCaptureStatus pCaptureStatus
 */
  }

  /* "cuda/cudart.pyx":8952
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdef ccudart.cudaStreamCaptureStatus pCaptureStatus
 *     err = ccudart.cudaStreamIsCapturing(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0], &pCaptureStatus)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), cudaStreamCaptureStatus(pCaptureStatus))
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaStreamIsCapturing(((__pyx_t_4cuda_7ccudart_cudaStream_t)(((struct __pyx_obj_4cuda_6cudart_cudaStream_t *)__pyx_v_stream)->__pyx_base._ptr[0])), (&__pyx_v_pCaptureStatus)); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 8952, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":8953
 *     cdef ccudart.cudaStreamCaptureStatus pCaptureStatus
 *     err = ccudart.cudaStreamIsCapturing(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0], &pCaptureStatus)
 *     return (cudaError_t(err), cudaStreamCaptureStatus(pCaptureStatus))             # <<<<<<<<<<<<<<
 * 
 * @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, 8953, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 8953, __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_4 = (__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_4)) __PYX_ERR(0, 8953, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_cudaStreamCaptureStatus); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 8953, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaStreamCaptureStatus(__pyx_v_pCaptureStatus); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 8953, __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_5 = (__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_5)) __PYX_ERR(0, 8953, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 8953, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_5);
  __pyx_t_4 = 0;
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8907
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaStreamIsCapturing", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":8956
 * 
 * @cython.embedsignature(True)
 * def cudaStreamGetCaptureInfo(stream):             # <<<<<<<<<<<<<<
 *     """ Query capture status of a stream.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_121cudaStreamGetCaptureInfo(PyObject *__pyx_self, PyObject *__pyx_v_stream); /*proto*/
static char __pyx_doc_4cuda_6cudart_120cudaStreamGetCaptureInfo[] = "cudaStreamGetCaptureInfo(stream)\n Query capture status of a stream.\n\n    Note there is a later version of this API, cudaStreamGetCaptureInfo_v2.\n    It will supplant this version in 12.0, which is retained for minor\n    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 cudaStreamLegacy (the \"null stream\") while a stream not\n    created with cudaStreamNonBlocking is capturing, returns\n    cudaErrorStreamCaptureImplicit.\n\n    A valid id is returned only if both of the following are true: the call\n    returns cudaSuccess captureStatus is set to\n    cudaStreamCaptureStatusActive\n\n    Parameters\n    ----------\n    stream : CUstream or cudaStream_t\n        Stream to query\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorStreamCaptureImplicit\n    pCaptureStatus : 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    cudaStreamGetCaptureInfo_v2\n    cudaStreamBeginCapture\n    cudaStreamIsCapturing\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_121cudaStreamGetCaptureInfo = {"cudaStreamGetCaptureInfo", (PyCFunction)__pyx_pw_4cuda_6cudart_121cudaStreamGetCaptureInfo, METH_O, __pyx_doc_4cuda_6cudart_120cudaStreamGetCaptureInfo};
static PyObject *__pyx_pw_4cuda_6cudart_121cudaStreamGetCaptureInfo(PyObject *__pyx_self, PyObject *__pyx_v_stream) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaStreamGetCaptureInfo (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_120cudaStreamGetCaptureInfo(__pyx_self, ((PyObject *)__pyx_v_stream));

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

static PyObject *__pyx_pf_4cuda_6cudart_120cudaStreamGetCaptureInfo(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream) {
  enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureStatus __pyx_v_pCaptureStatus;
  unsigned PY_LONG_LONG __pyx_v_pId;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__391)
  __Pyx_RefNannySetupContext("cudaStreamGetCaptureInfo", 0);
  __Pyx_TraceCall("cudaStreamGetCaptureInfo", __pyx_f[0], 8956, 0, __PYX_ERR(0, 8956, __pyx_L1_error));

  /* "cuda/cudart.pyx":8995
 *     cudaStreamIsCapturing
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdef ccudart.cudaStreamCaptureStatus pCaptureStatus
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":8996
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaStreamCaptureStatus pCaptureStatus
 *     cdef unsigned long long pId = 0
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_stream))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 8996, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_stream_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 8996, __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, 8996, __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, 8996, __pyx_L1_error)

    /* "cuda/cudart.pyx":8995
 *     cudaStreamIsCapturing
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdef ccudart.cudaStreamCaptureStatus pCaptureStatus
 */
  }

  /* "cuda/cudart.pyx":8998
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdef ccudart.cudaStreamCaptureStatus pCaptureStatus
 *     cdef unsigned long long pId = 0             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaStreamGetCaptureInfo(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0], &pCaptureStatus, &pId)
 *     return (cudaError_t(err), cudaStreamCaptureStatus(pCaptureStatus), pId)
 */
  __pyx_v_pId = 0;

  /* "cuda/cudart.pyx":8999
 *     cdef ccudart.cudaStreamCaptureStatus pCaptureStatus
 *     cdef unsigned long long pId = 0
 *     err = ccudart.cudaStreamGetCaptureInfo(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0], &pCaptureStatus, &pId)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), cudaStreamCaptureStatus(pCaptureStatus), pId)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaStreamGetCaptureInfo(((__pyx_t_4cuda_7ccudart_cudaStream_t)(((struct __pyx_obj_4cuda_6cudart_cudaStream_t *)__pyx_v_stream)->__pyx_base._ptr[0])), (&__pyx_v_pCaptureStatus), (&__pyx_v_pId)); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 8999, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":9000
 *     cdef unsigned long long pId = 0
 *     err = ccudart.cudaStreamGetCaptureInfo(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0], &pCaptureStatus, &pId)
 *     return (cudaError_t(err), cudaStreamCaptureStatus(pCaptureStatus), pId)             # <<<<<<<<<<<<<<
 * 
 * @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, 9000, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 9000, __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_4 = (__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_4)) __PYX_ERR(0, 9000, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_cudaStreamCaptureStatus); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 9000, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaStreamCaptureStatus(__pyx_v_pCaptureStatus); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9000, __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_5 = (__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_5)) __PYX_ERR(0, 9000, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_7 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(__pyx_v_pId); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 9000, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = PyTuple_New(3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9000, __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_5);
  PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_7);
  PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_t_7);
  __pyx_t_4 = 0;
  __pyx_t_5 = 0;
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":8956
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaStreamGetCaptureInfo", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":9003
 * 
 * @cython.embedsignature(True)
 * def cudaStreamGetCaptureInfo_v2(stream):             # <<<<<<<<<<<<<<
 *     """ Query a stream's capture state (11.3+)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_123cudaStreamGetCaptureInfo_v2(PyObject *__pyx_self, PyObject *__pyx_v_stream); /*proto*/
static char __pyx_doc_4cuda_6cudart_122cudaStreamGetCaptureInfo_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 cudaStreamLegacy (the \"null stream\") while a stream not\n    created with cudaStreamNonBlocking is capturing, returns\n    cudaErrorStreamCaptureImplicit.\n\n    Valid data (other than capture status) is returned only if both of the\n    following are true: the call returns cudaSuccess the returned capture\n    status is cudaStreamCaptureStatusActive\n\n    This version of cudaStreamGetCaptureInfo is introduced in CUDA 11.3 and\n    will supplant the previous version cudaStreamGetCaptureInfo in 12.0.\n    Developers requiring compatibility across minor versions to CUDA 11.0\n    (driver version 445) can do one of the following: Use the older version\n    of the API, cudaStreamGetCaptureInfo Pass null for all of `graph_out`,\n    `dependencies_out`, and `numDependencies_out`.\n\n    Parameters\n    ----------\n    stream : CUstream or cudaStream_t\n        The stream to query\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorStreamCaptureImplicit\n    captureStatus_out : 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 : 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 cudaStreamEndCapture. Note that the graph handle may be\n        invalidated before end of capture for certain errors. Nodes that\n        are or become unreachable from the original stream at\n       "" cudaStreamEndCapture due to direct actions on the graph do not\n        trigger cudaErrorStreamCaptureUnjoined.\n    dependencies_out : List[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    cudaStreamGetCaptureInfo\n    cudaStreamBeginCapture\n    cudaStreamIsCapturing\n    cudaStreamUpdateCaptureDependencies\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_123cudaStreamGetCaptureInfo_v2 = {"cudaStreamGetCaptureInfo_v2", (PyCFunction)__pyx_pw_4cuda_6cudart_123cudaStreamGetCaptureInfo_v2, METH_O, __pyx_doc_4cuda_6cudart_122cudaStreamGetCaptureInfo_v2};
static PyObject *__pyx_pw_4cuda_6cudart_123cudaStreamGetCaptureInfo_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_122cudaStreamGetCaptureInfo_v2(__pyx_self, ((PyObject *)__pyx_v_stream));

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

static PyObject *__pyx_pf_4cuda_6cudart_122cudaStreamGetCaptureInfo_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream) {
  enum __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_cudaGraphNode_t const *__pyx_v_cdependencies_out;
  PyObject *__pyx_v_pydependencies_out = NULL;
  size_t __pyx_v_numDependencies_out;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  size_t __pyx_9genexpr52__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;
  PyObject *__pyx_t_5 = NULL;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  size_t __pyx_t_9;
  size_t __pyx_t_10;
  size_t __pyx_t_11;
  PyObject *__pyx_t_12 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__392)
  __Pyx_RefNannySetupContext("cudaStreamGetCaptureInfo_v2", 0);
  __Pyx_TraceCall("cudaStreamGetCaptureInfo_v2", __pyx_f[0], 9003, 0, __PYX_ERR(0, 9003, __pyx_L1_error));

  /* "cuda/cudart.pyx":9069
 *     cudaStreamUpdateCaptureDependencies
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdef ccudart.cudaStreamCaptureStatus captureStatus_out
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":9070
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaStreamCaptureStatus captureStatus_out
 *     cdef unsigned long long id_out = 0
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_stream))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9070, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_stream_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9070, __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, 9070, __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, 9070, __pyx_L1_error)

    /* "cuda/cudart.pyx":9069
 *     cudaStreamUpdateCaptureDependencies
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdef ccudart.cudaStreamCaptureStatus captureStatus_out
 */
  }

  /* "cuda/cudart.pyx":9072
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     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":9073
 *     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_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraph_t)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9073, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_graph_out = ((struct __pyx_obj_4cuda_6cudart_cudaGraph_t *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":9074
 *     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":9075
 *     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(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0], &captureStatus_out, &id_out, <ccudart.cudaGraph_t*>graph_out._ptr, &cdependencies_out, &numDependencies_out)
 */
  __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9075, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pydependencies_out = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":9076
 *     cdef const ccudart.cudaGraphNode_t* cdependencies_out = NULL
 *     pydependencies_out = []
 *     cdef size_t numDependencies_out = 0             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaStreamGetCaptureInfo_v2(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0], &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":9077
 *     pydependencies_out = []
 *     cdef size_t numDependencies_out = 0
 *     err = ccudart.cudaStreamGetCaptureInfo_v2(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0], &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_6 = __pyx_f_4cuda_7ccudart_cudaStreamGetCaptureInfo_v2(((__pyx_t_4cuda_7ccudart_cudaStream_t)(((struct __pyx_obj_4cuda_6cudart_cudaStream_t *)__pyx_v_stream)->__pyx_base._ptr[0])), (&__pyx_v_captureStatus_out), (&__pyx_v_id_out), ((__pyx_t_4cuda_7ccudart_cudaGraph_t *)__pyx_v_graph_out->__pyx_base._ptr), (&__pyx_v_cdependencies_out), (&__pyx_v_numDependencies_out)); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 9077, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":9078
 *     cdef size_t numDependencies_out = 0
 *     err = ccudart.cudaStreamGetCaptureInfo_v2(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0], &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_5, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9078, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 9078, __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_4 = (__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_4)) __PYX_ERR(0, 9078, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 9078, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_7, function);
    }
  }
  __pyx_t_5 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_8, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_int_0);
  __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9078, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_7 = PyObject_RichCompare(__pyx_t_4, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 9078, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 9078, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":9079
 *     err = ccudart.cudaStreamGetCaptureInfo_v2(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0], &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_7 = PyList_New(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 9079, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_9 = __pyx_v_numDependencies_out;
      __pyx_t_10 = __pyx_t_9;
      for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
        __pyx_9genexpr52__pyx_v_idx = __pyx_t_11;
        __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9079, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __pyx_t_4 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)(__pyx_v_cdependencies_out[__pyx_9genexpr52__pyx_v_idx]))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9079, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_init_value, __pyx_t_4) < 0) __PYX_ERR(0, 9079, __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_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9079, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_7, (PyObject*)__pyx_t_4))) __PYX_ERR(0, 9079, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pydependencies_out, ((PyObject*)__pyx_t_7));
    __pyx_t_7 = 0;

    /* "cuda/cudart.pyx":9078
 *     cdef size_t numDependencies_out = 0
 *     err = ccudart.cudaStreamGetCaptureInfo_v2(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0], &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":9080
 *     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_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9080, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9080, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_8 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  __pyx_t_7 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_8, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __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_7)) __PYX_ERR(0, 9080, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_cudaStreamCaptureStatus); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9080, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_8 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaStreamCaptureStatus(__pyx_v_captureStatus_out); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9080, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_12 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_5);
    if (likely(__pyx_t_12)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_12);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_5, function);
    }
  }
  __pyx_t_4 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_12, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_8);
  __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9080, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(__pyx_v_id_out); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9080, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_8 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependencies_out); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 9080, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_12 = PyTuple_New(6); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 9080, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_12);
  __Pyx_GIVEREF(__pyx_t_7);
  PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_12, 2, __pyx_t_5);
  __Pyx_INCREF(((PyObject *)__pyx_v_graph_out));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_graph_out));
  PyTuple_SET_ITEM(__pyx_t_12, 3, ((PyObject *)__pyx_v_graph_out));
  __Pyx_INCREF(__pyx_v_pydependencies_out);
  __Pyx_GIVEREF(__pyx_v_pydependencies_out);
  PyTuple_SET_ITEM(__pyx_t_12, 4, __pyx_v_pydependencies_out);
  __Pyx_GIVEREF(__pyx_t_8);
  PyTuple_SET_ITEM(__pyx_t_12, 5, __pyx_t_8);
  __pyx_t_7 = 0;
  __pyx_t_4 = 0;
  __pyx_t_5 = 0;
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_12;
  __pyx_t_12 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":9003
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("cuda.cudart.cudaStreamGetCaptureInfo_v2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __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":9083
 * 
 * @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_125cudaStreamUpdateCaptureDependencies(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_124cudaStreamUpdateCaptureDependencies[] = "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 cudaStreamAddCaptureDependencies and\n    cudaStreamSetCaptureDependencies. These control whether the set passed\n    to the API is added to the existing set or replaces it. A flags value\n    of 0 defaults to cudaStreamAddCaptureDependencies.\n\n    Nodes that are removed from the dependency set via this API do not\n    result in cudaErrorStreamCaptureUnjoined if they are unreachable from\n    the stream at cudaStreamEndCapture.\n\n    Returns cudaErrorIllegalState if the stream is not 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    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorIllegalState\n    None\n        None\n\n    See Also\n    --------\n    cudaStreamBeginCapture\n    cudaStreamGetCaptureInfo\n    cudaStreamGetCaptureInfo_v2\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_125cudaStreamUpdateCaptureDependencies = {"cudaStreamUpdateCaptureDependencies", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_125cudaStreamUpdateCaptureDependencies, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_124cudaStreamUpdateCaptureDependencies};
static PyObject *__pyx_pw_4cuda_6cudart_125cudaStreamUpdateCaptureDependencies(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, 9083, __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, 9083, __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, 9083, __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, 9083, __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, 9083, __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, 9083, __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, 9083, __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_124cudaStreamUpdateCaptureDependencies(__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":9121
 *     """
 *     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]")
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 */

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, 9121, __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, 9121, __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], 9121, 0, __PYX_ERR(0, 9121, __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, 9121, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_dependencies)) { __Pyx_RaiseClosureNameError("dependencies"); __PYX_ERR(0, 9121, __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, 9121, __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, 9121, __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, 9121, __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, 9121, __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, 9121, __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, 9121, __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, 9121, __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":9083
 * 
 * @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_124cudaStreamUpdateCaptureDependencies(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;
  __pyx_t_4cuda_7ccudart_cudaGraphNode_t *__pyx_v_cdependencies;
  Py_ssize_t __pyx_v_idx;
  __pyx_t_4cuda_7ccudart_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;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  __pyx_t_4cuda_7ccudart_cudaGraphNode_t *__pyx_t_10;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_t_11;
  PyObject *__pyx_t_12 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__393)
  __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, 9083, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __Pyx_TraceCall("cudaStreamUpdateCaptureDependencies", __pyx_f[0], 9083, 0, __PYX_ERR(0, 9083, __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":9120
 *     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, 9120, __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":9121
 *     """
 *     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]")
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 */
  __pyx_t_1 = __pyx_pf_4cuda_6cudart_35cudaStreamUpdateCaptureDependencies_genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9121, __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, 9121, __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, 9121, __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":9122
 *     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]")             # <<<<<<<<<<<<<<
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__394, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9122, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 9122, __pyx_L1_error)

    /* "cuda/cudart.pyx":9121
 *     """
 *     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]")
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 */
  }

  /* "cuda/cudart.pyx":9123
 *     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]")
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdef ccudart.cudaGraphNode_t* cdependencies = NULL
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_5 = (__pyx_t_2 != 0);
  if (!__pyx_t_5) {
  } else {
    __pyx_t_4 = __pyx_t_5;
    goto __pyx_L5_bool_binop_done;
  }
  __pyx_t_5 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_2 = (__pyx_t_5 != 0);
  __pyx_t_4 = __pyx_t_2;
  __pyx_L5_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_4 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":9124
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaGraphNode_t* cdependencies = NULL
 *     if len(dependencies) > 0:
 */
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_stream))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9124, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_stream_is_not_instance, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9124, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9124, __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, 9124, __pyx_L1_error)

    /* "cuda/cudart.pyx":9123
 *     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]")
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdef ccudart.cudaGraphNode_t* cdependencies = NULL
 */
  }

  /* "cuda/cudart.pyx":9125
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     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":9126
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     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_3 = __pyx_cur_scope->__pyx_v_dependencies;
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_6 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 9126, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_2 = ((__pyx_t_6 > 0) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":9127
 *     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_3 = __pyx_cur_scope->__pyx_v_dependencies;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_6 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 9127, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_cdependencies = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t *)calloc(__pyx_t_6, (sizeof(__pyx_t_4cuda_7ccudart_cudaGraphNode_t))));

    /* "cuda/cudart.pyx":9128
 *     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_2 = ((__pyx_v_cdependencies == NULL) != 0);
    if (unlikely(__pyx_t_2)) {

      /* "cuda/cudart.pyx":9129
 *         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_3 = __pyx_cur_scope->__pyx_v_dependencies;
      __Pyx_INCREF(__pyx_t_3);
      __pyx_t_6 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 9129, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9129, __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, 9129, __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_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9129, __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, 9129, __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(__pyx_t_4cuda_7ccudart_cudaGraphNode_t))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9129, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 9129, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9129, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 9129, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(0, 9129, __pyx_L1_error)

      /* "cuda/cudart.pyx":9128
 *     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":9131
 *             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_7 = __pyx_cur_scope->__pyx_v_dependencies;
      __Pyx_INCREF(__pyx_t_7);
      __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 9131, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_8 = __pyx_t_6;
      for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
        __pyx_v_idx = __pyx_t_9;

        /* "cuda/cudart.pyx":9132
 *         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_7 = __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_7)) __PYX_ERR(0, 9132, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        (__pyx_v_cdependencies[__pyx_v_idx]) = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_7)->__pyx_base._ptr[0]));
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }

    /* "cuda/cudart.pyx":9126
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     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":9134
 *                 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(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0], <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, flags)
 *     if cdependencies is not NULL:
 */
  __pyx_t_7 = __pyx_cur_scope->__pyx_v_dependencies;
  __Pyx_INCREF(__pyx_t_7);
  __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 9134, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_2 = ((__pyx_v_numDependencies > ((size_t)__pyx_t_6)) != 0);
  if (unlikely(__pyx_t_2)) {
    __pyx_t_7 = __pyx_cur_scope->__pyx_v_dependencies;
    __Pyx_INCREF(__pyx_t_7);
    __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 9134, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 9134, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9134, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_kp_u_List_is_too_small, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 9134, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_t_7, __pyx_kp_u__395); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9134, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 9134, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9134, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 9134, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9134, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(0, 9134, __pyx_L1_error)
  }

  /* "cuda/cudart.pyx":9135
 * 
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     err = ccudart.cudaStreamUpdateCaptureDependencies(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0], <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_1 = __pyx_cur_scope->__pyx_v_dependencies;
  __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, 9135, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (((__pyx_t_6 == 1) != 0)) {
    __pyx_t_1 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_dependencies, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9135, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_10 = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t *)((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_1)->__pyx_base._ptr);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  } else {
    __pyx_t_10 = __pyx_v_cdependencies;
  }
  __pyx_t_11 = __pyx_f_4cuda_7ccudart_cudaStreamUpdateCaptureDependencies(((__pyx_t_4cuda_7ccudart_cudaStream_t)(((struct __pyx_obj_4cuda_6cudart_cudaStream_t *)__pyx_v_stream)->__pyx_base._ptr[0])), __pyx_t_10, __pyx_v_numDependencies, __pyx_v_flags); if (unlikely(__pyx_t_11 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 9135, __pyx_L1_error)
  __pyx_v_err = __pyx_t_11;

  /* "cuda/cudart.pyx":9136
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     err = ccudart.cudaStreamUpdateCaptureDependencies(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0], <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_2 = ((__pyx_v_cdependencies != NULL) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":9137
 *     err = ccudart.cudaStreamUpdateCaptureDependencies(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0], <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":9136
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     err = ccudart.cudaStreamUpdateCaptureDependencies(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0], <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":9138
 *     if cdependencies is not NULL:
 *         free(cdependencies)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @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, 9138, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9138, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_12 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_7);
    if (likely(__pyx_t_12)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_12);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_7, function);
    }
  }
  __pyx_t_1 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_12, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_3);
  __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9138, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 9138, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":9083
 * 
 * @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_7);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("cuda.cudart.cudaStreamUpdateCaptureDependencies", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __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":9141
 * 
 * @cython.embedsignature(True)
 * def cudaEventCreate():             # <<<<<<<<<<<<<<
 *     """ Creates an event object.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_127cudaEventCreate(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_126cudaEventCreate[] = "cudaEventCreate()\n Creates an event object.\n\n    Creates an event object for the current device using cudaEventDefault.\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorLaunchFailure\n        cudaErrorMemoryAllocation\n    event : cudaEvent_t\n        Newly created event\n\n    See Also\n    --------\n    cudaEventCreateWithFlags\n    cudaEventRecord\n    cudaEventQuery\n    cudaEventSynchronize\n    cudaEventDestroy\n    cudaEventElapsedTime\n    cudaStreamWaitEvent\n    cuEventCreate\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_127cudaEventCreate = {"cudaEventCreate", (PyCFunction)__pyx_pw_4cuda_6cudart_127cudaEventCreate, METH_NOARGS, __pyx_doc_4cuda_6cudart_126cudaEventCreate};
static PyObject *__pyx_pw_4cuda_6cudart_127cudaEventCreate(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaEventCreate (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_126cudaEventCreate(__pyx_self);

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

static PyObject *__pyx_pf_4cuda_6cudart_126cudaEventCreate(CYTHON_UNUSED PyObject *__pyx_self) {
  struct __pyx_obj_4cuda_6cudart_cudaEvent_t *__pyx_v_event = 0;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_7ccudart_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__396)
  __Pyx_RefNannySetupContext("cudaEventCreate", 0);
  __Pyx_TraceCall("cudaEventCreate", __pyx_f[0], 9141, 0, __PYX_ERR(0, 9141, __pyx_L1_error));

  /* "cuda/cudart.pyx":9167
 *     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, 9167, __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":9168
 *     """
 *     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(((__pyx_t_4cuda_7ccudart_cudaEvent_t *)__pyx_v_event->__pyx_base._ptr)); if (unlikely(__pyx_t_2 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 9168, __pyx_L1_error)
  __pyx_v_err = __pyx_t_2;

  /* "cuda/cudart.pyx":9169
 *     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, 9169, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9169, __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, 9169, __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, 9169, __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":9141
 * 
 * @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":9172
 * 
 * @cython.embedsignature(True)
 * def cudaEventCreateWithFlags(unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Creates an event object with the specified flags.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_129cudaEventCreateWithFlags(PyObject *__pyx_self, PyObject *__pyx_arg_flags); /*proto*/
static char __pyx_doc_4cuda_6cudart_128cudaEventCreateWithFlags[] = "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: cudaEventDefault: Default event creation\n    flag. cudaEventBlockingSync: Specifies that event should use blocking\n    synchronization. A host thread that uses cudaEventSynchronize() to wait\n    on an event created with this flag will block until the event actually\n    completes. cudaEventDisableTiming: Specifies that the created event\n    does not need to record timing data. Events created with this flag\n    specified and the cudaEventBlockingSync flag not specified will provide\n    the best performance when used with cudaStreamWaitEvent() and\n    cudaEventQuery(). cudaEventInterprocess: Specifies that the created\n    event may be used as an interprocess event by cudaIpcGetEventHandle().\n    cudaEventInterprocess must be specified along with\n    cudaEventDisableTiming.\n\n    Parameters\n    ----------\n    flags : unsigned int\n        Flags for new event\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorLaunchFailure\n        cudaErrorMemoryAllocation\n    event : cudaEvent_t\n        Newly created event\n\n    See Also\n    --------\n    cudaEventCreate\n    cudaEventSynchronize\n    cudaEventDestroy\n    cudaEventElapsedTime\n    cudaStreamWaitEvent\n    cuEventCreate\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_129cudaEventCreateWithFlags = {"cudaEventCreateWithFlags", (PyCFunction)__pyx_pw_4cuda_6cudart_129cudaEventCreateWithFlags, METH_O, __pyx_doc_4cuda_6cudart_128cudaEventCreateWithFlags};
static PyObject *__pyx_pw_4cuda_6cudart_129cudaEventCreateWithFlags(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, 9172, __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_128cudaEventCreateWithFlags(__pyx_self, ((unsigned int)__pyx_v_flags));

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

static PyObject *__pyx_pf_4cuda_6cudart_128cudaEventCreateWithFlags(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_flags) {
  struct __pyx_obj_4cuda_6cudart_cudaEvent_t *__pyx_v_event = 0;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_7ccudart_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__397)
  __Pyx_RefNannySetupContext("cudaEventCreateWithFlags", 0);
  __Pyx_TraceCall("cudaEventCreateWithFlags", __pyx_f[0], 9172, 0, __PYX_ERR(0, 9172, __pyx_L1_error));

  /* "cuda/cudart.pyx":9213
 *     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, 9213, __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":9214
 *     """
 *     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(((__pyx_t_4cuda_7ccudart_cudaEvent_t *)__pyx_v_event->__pyx_base._ptr), __pyx_v_flags); if (unlikely(__pyx_t_2 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 9214, __pyx_L1_error)
  __pyx_v_err = __pyx_t_2;

  /* "cuda/cudart.pyx":9215
 *     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, 9215, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9215, __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, 9215, __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, 9215, __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":9172
 * 
 * @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":9218
 * 
 * @cython.embedsignature(True)
 * def cudaEventRecord(event, stream):             # <<<<<<<<<<<<<<
 *     """ Records an event.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_131cudaEventRecord(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_130cudaEventRecord[] = "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    cudaEventQuery() or cudaStreamWaitEvent() will then examine or wait for\n    completion of the work that was captured. Uses of `stream` after this\n    call do not modify `event`. See note on default stream behavior for\n    what is captured in the default case.\n\n    cudaEventRecord() can be called multiple times on the same event and\n    will overwrite the previously captured state. Other APIs such as\n    cudaStreamWaitEvent() use the most recently captured state at the time\n    of the API call, and are not affected by later calls to\n    cudaEventRecord(). Before the first call to cudaEventRecord(), an event\n    represents an empty set of work, so for example cudaEventQuery() would\n    return cudaSuccess.\n\n    Parameters\n    ----------\n    event : CUevent or cudaEvent_t\n        Event to record\n    stream : CUstream or cudaStream_t\n        Stream in which to record event\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorInvalidResourceHandle\n        cudaErrorLaunchFailure\n    None\n        None\n\n    See Also\n    --------\n    cudaEventCreate\n    cudaEventCreateWithFlags\n    cudaEventQuery\n    cudaEventSynchronize\n    cudaEventDestroy\n    cudaEventElapsedTime\n    cudaStreamWaitEvent\n    cudaEventRecordWithFlags\n    cuEventRecord\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_131cudaEventRecord = {"cudaEventRecord", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_131cudaEventRecord, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_130cudaEventRecord};
static PyObject *__pyx_pw_4cuda_6cudart_131cudaEventRecord(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,&__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)) != 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, 9218, __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, 9218, __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, 9218, __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_130cudaEventRecord(__pyx_self, __pyx_v_event, __pyx_v_stream);

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

static PyObject *__pyx_pf_4cuda_6cudart_130cudaEventRecord(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_event, PyObject *__pyx_v_stream) {
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__398)
  __Pyx_RefNannySetupContext("cudaEventRecord", 0);
  __Pyx_TraceCall("cudaEventRecord", __pyx_f[0], 9218, 0, __PYX_ERR(0, 9218, __pyx_L1_error));

  /* "cuda/cudart.pyx":9265
 *     cuEventRecord
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":9266
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))             # <<<<<<<<<<<<<<
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_stream))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9266, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_stream_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9266, __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, 9266, __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, 9266, __pyx_L1_error)

    /* "cuda/cudart.pyx":9265
 *     cuEventRecord
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):
 */
  }

  /* "cuda/cudart.pyx":9267
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     err = ccudart.cudaEventRecord(<ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0], <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 */
  __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)) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "cuda/cudart.pyx":9268
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaEventRecord(<ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0], <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     return (cudaError_t(err),)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_event))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9268, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_event_is_not_instance_o, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9268, __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, 9268, __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, 9268, __pyx_L1_error)

    /* "cuda/cudart.pyx":9267
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     err = ccudart.cudaEventRecord(<ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0], <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 */
  }

  /* "cuda/cudart.pyx":9269
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     err = ccudart.cudaEventRecord(<ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0], <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaEventRecord(((__pyx_t_4cuda_7ccudart_cudaEvent_t)(((struct __pyx_obj_4cuda_6cudart_cudaEvent_t *)__pyx_v_event)->__pyx_base._ptr[0])), ((__pyx_t_4cuda_7ccudart_cudaStream_t)(((struct __pyx_obj_4cuda_6cudart_cudaStream_t *)__pyx_v_stream)->__pyx_base._ptr[0]))); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 9269, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":9270
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     err = ccudart.cudaEventRecord(<ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0], <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     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, 9270, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 9270, __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_4 = (__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_4)) __PYX_ERR(0, 9270, __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, 9270, __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":9218
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaEventRecord", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":9273
 * 
 * @cython.embedsignature(True)
 * def cudaEventRecordWithFlags(event, stream, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Records an event.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_133cudaEventRecordWithFlags(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_132cudaEventRecordWithFlags[] = "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    cudaEventQuery() or cudaStreamWaitEvent() will then examine or wait for\n    completion of the work that was captured. Uses of `stream` after this\n    call do not modify `event`. See note on default stream behavior for\n    what is captured in the default case.\n\n    cudaEventRecordWithFlags() can be called multiple times on the same\n    event and will overwrite the previously captured state. Other APIs such\n    as cudaStreamWaitEvent() use the most recently captured state at the\n    time of the API call, and are not affected by later calls to\n    cudaEventRecordWithFlags(). Before the first call to\n    cudaEventRecordWithFlags(), an event represents an empty set of work,\n    so for example cudaEventQuery() would return cudaSuccess.\n\n    flags include: cudaEventRecordDefault: Default event creation flag.\n    cudaEventRecordExternal: Event is captured in the graph as an external\n    event node when performing stream capture.\n\n    Parameters\n    ----------\n    event : CUevent or cudaEvent_t\n        Event to record\n    stream : CUstream or 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        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorInvalidResourceHandle\n        cudaErrorLaunchFailure\n    None\n        None\n\n    See Also\n    --------\n    cudaEventCreate\n    cudaEventCreateWithFlags\n    cudaEventQuery\n    cudaEventSynchronize\n    cudaEventDestroy\n    cudaEventElapsedTime\n    cudaStreamWaitEvent\n    cudaEventRecord\n    cuEventRecord\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_133cudaEventRecordWithFlags = {"cudaEventRecordWithFlags", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_133cudaEventRecordWithFlags, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_132cudaEventRecordWithFlags};
static PyObject *__pyx_pw_4cuda_6cudart_133cudaEventRecordWithFlags(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,&__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)) != 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, 9273, __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, 9273, __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, 9273, __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, 9273, __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, 9273, __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_132cudaEventRecordWithFlags(__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_132cudaEventRecordWithFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_event, PyObject *__pyx_v_stream, unsigned int __pyx_v_flags) {
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__399)
  __Pyx_RefNannySetupContext("cudaEventRecordWithFlags", 0);
  __Pyx_TraceCall("cudaEventRecordWithFlags", __pyx_f[0], 9273, 0, __PYX_ERR(0, 9273, __pyx_L1_error));

  /* "cuda/cudart.pyx":9326
 *     cuEventRecord
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":9327
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))             # <<<<<<<<<<<<<<
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_stream))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9327, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_stream_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9327, __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, 9327, __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, 9327, __pyx_L1_error)

    /* "cuda/cudart.pyx":9326
 *     cuEventRecord
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):
 */
  }

  /* "cuda/cudart.pyx":9328
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     err = ccudart.cudaEventRecordWithFlags(<ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0], <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0], flags)
 */
  __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)) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "cuda/cudart.pyx":9329
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaEventRecordWithFlags(<ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0], <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0], flags)
 *     return (cudaError_t(err),)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_event))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9329, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_event_is_not_instance_o, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9329, __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, 9329, __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, 9329, __pyx_L1_error)

    /* "cuda/cudart.pyx":9328
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     err = ccudart.cudaEventRecordWithFlags(<ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0], <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0], flags)
 */
  }

  /* "cuda/cudart.pyx":9330
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     err = ccudart.cudaEventRecordWithFlags(<ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0], <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0], flags)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaEventRecordWithFlags(((__pyx_t_4cuda_7ccudart_cudaEvent_t)(((struct __pyx_obj_4cuda_6cudart_cudaEvent_t *)__pyx_v_event)->__pyx_base._ptr[0])), ((__pyx_t_4cuda_7ccudart_cudaStream_t)(((struct __pyx_obj_4cuda_6cudart_cudaStream_t *)__pyx_v_stream)->__pyx_base._ptr[0])), __pyx_v_flags); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 9330, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":9331
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     err = ccudart.cudaEventRecordWithFlags(<ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0], <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0], 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, 9331, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 9331, __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_4 = (__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_4)) __PYX_ERR(0, 9331, __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, 9331, __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":9273
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaEventRecordWithFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":9334
 * 
 * @cython.embedsignature(True)
 * def cudaEventQuery(event):             # <<<<<<<<<<<<<<
 *     """ Queries an event's status.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_135cudaEventQuery(PyObject *__pyx_self, PyObject *__pyx_v_event); /*proto*/
static char __pyx_doc_4cuda_6cudart_134cudaEventQuery[] = "cudaEventQuery(event)\n Queries an event's status.\n\n    Queries the status of all work currently captured by `event`. See\n    cudaEventRecord() for details on what is captured by an event.\n\n    Returns cudaSuccess if all captured work has been completed, or\n    cudaErrorNotReady if any captured work is incomplete.\n\n    For the purposes of Unified Memory, a return value of cudaSuccess is\n    equivalent to having called cudaEventSynchronize().\n\n    Parameters\n    ----------\n    event : CUevent or cudaEvent_t\n        Event to query\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorNotReady\n        cudaErrorInvalidValue\n        cudaErrorInvalidResourceHandle\n        cudaErrorLaunchFailure\n    None\n        None\n\n    See Also\n    --------\n    cudaEventCreate\n    cudaEventCreateWithFlags\n    cudaEventRecord\n    cudaEventSynchronize\n    cudaEventDestroy\n    cudaEventElapsedTime\n    cuEventQuery\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_135cudaEventQuery = {"cudaEventQuery", (PyCFunction)__pyx_pw_4cuda_6cudart_135cudaEventQuery, METH_O, __pyx_doc_4cuda_6cudart_134cudaEventQuery};
static PyObject *__pyx_pw_4cuda_6cudart_135cudaEventQuery(PyObject *__pyx_self, PyObject *__pyx_v_event) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaEventQuery (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_134cudaEventQuery(__pyx_self, ((PyObject *)__pyx_v_event));

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

static PyObject *__pyx_pf_4cuda_6cudart_134cudaEventQuery(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_event) {
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__400)
  __Pyx_RefNannySetupContext("cudaEventQuery", 0);
  __Pyx_TraceCall("cudaEventQuery", __pyx_f[0], 9334, 0, __PYX_ERR(0, 9334, __pyx_L1_error));

  /* "cuda/cudart.pyx":9372
 *     cuEventQuery
 *     """
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     err = ccudart.cudaEventQuery(<ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0])
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_6cudart_cudaEvent_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_4cuda_CUevent); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":9373
 *     """
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaEventQuery(<ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0])
 *     return (cudaError_t(err),)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_event))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9373, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_event_is_not_instance_o, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9373, __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, 9373, __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, 9373, __pyx_L1_error)

    /* "cuda/cudart.pyx":9372
 *     cuEventQuery
 *     """
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     err = ccudart.cudaEventQuery(<ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0])
 */
  }

  /* "cuda/cudart.pyx":9374
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     err = ccudart.cudaEventQuery(<ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaEventQuery(((__pyx_t_4cuda_7ccudart_cudaEvent_t)(((struct __pyx_obj_4cuda_6cudart_cudaEvent_t *)__pyx_v_event)->__pyx_base._ptr[0]))); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 9374, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":9375
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     err = ccudart.cudaEventQuery(<ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0])
 *     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, 9375, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 9375, __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_4 = (__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_4)) __PYX_ERR(0, 9375, __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, 9375, __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":9334
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaEventQuery", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":9378
 * 
 * @cython.embedsignature(True)
 * def cudaEventSynchronize(event):             # <<<<<<<<<<<<<<
 *     """ Waits for an event to complete.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_137cudaEventSynchronize(PyObject *__pyx_self, PyObject *__pyx_v_event); /*proto*/
static char __pyx_doc_4cuda_6cudart_136cudaEventSynchronize[] = "cudaEventSynchronize(event)\n Waits for an event to complete.\n\n    Waits until the completion of all work currently captured in `event`.\n    See cudaEventRecord() for details on what is captured by an event.\n\n    Waiting for an event that was created with the cudaEventBlockingSync\n    flag will cause the calling CPU thread to block until the event has\n    been completed by the device. If the cudaEventBlockingSync flag has not\n    been set, then the CPU thread will busy-wait until the event has been\n    completed by the device.\n\n    Parameters\n    ----------\n    event : CUevent or cudaEvent_t\n        Event to wait for\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorInvalidResourceHandle\n        cudaErrorLaunchFailure\n    None\n        None\n\n    See Also\n    --------\n    cudaEventCreate\n    cudaEventCreateWithFlags\n    cudaEventRecord\n    cudaEventQuery\n    cudaEventDestroy\n    cudaEventElapsedTime\n    cuEventSynchronize\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_137cudaEventSynchronize = {"cudaEventSynchronize", (PyCFunction)__pyx_pw_4cuda_6cudart_137cudaEventSynchronize, METH_O, __pyx_doc_4cuda_6cudart_136cudaEventSynchronize};
static PyObject *__pyx_pw_4cuda_6cudart_137cudaEventSynchronize(PyObject *__pyx_self, PyObject *__pyx_v_event) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaEventSynchronize (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_136cudaEventSynchronize(__pyx_self, ((PyObject *)__pyx_v_event));

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

static PyObject *__pyx_pf_4cuda_6cudart_136cudaEventSynchronize(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_event) {
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__401)
  __Pyx_RefNannySetupContext("cudaEventSynchronize", 0);
  __Pyx_TraceCall("cudaEventSynchronize", __pyx_f[0], 9378, 0, __PYX_ERR(0, 9378, __pyx_L1_error));

  /* "cuda/cudart.pyx":9415
 *     cuEventSynchronize
 *     """
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     err = ccudart.cudaEventSynchronize(<ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0])
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_6cudart_cudaEvent_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_4cuda_CUevent); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":9416
 *     """
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaEventSynchronize(<ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0])
 *     return (cudaError_t(err),)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_event))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9416, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_event_is_not_instance_o, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9416, __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, 9416, __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, 9416, __pyx_L1_error)

    /* "cuda/cudart.pyx":9415
 *     cuEventSynchronize
 *     """
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     err = ccudart.cudaEventSynchronize(<ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0])
 */
  }

  /* "cuda/cudart.pyx":9417
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     err = ccudart.cudaEventSynchronize(<ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaEventSynchronize(((__pyx_t_4cuda_7ccudart_cudaEvent_t)(((struct __pyx_obj_4cuda_6cudart_cudaEvent_t *)__pyx_v_event)->__pyx_base._ptr[0]))); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 9417, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":9418
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     err = ccudart.cudaEventSynchronize(<ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0])
 *     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, 9418, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 9418, __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_4 = (__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_4)) __PYX_ERR(0, 9418, __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, 9418, __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":9378
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaEventSynchronize", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":9421
 * 
 * @cython.embedsignature(True)
 * def cudaEventDestroy(event):             # <<<<<<<<<<<<<<
 *     """ Destroys an event object.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_139cudaEventDestroy(PyObject *__pyx_self, PyObject *__pyx_v_event); /*proto*/
static char __pyx_doc_4cuda_6cudart_138cudaEventDestroy[] = "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    cudaEventQuery() would return cudaErrorNotReady). In this case, the\n    call does not block on completion of the event, and any associated\n    resources will automatically be released asynchronously at completion.\n\n    Parameters\n    ----------\n    event : CUevent or cudaEvent_t\n        Event to destroy\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorInvalidResourceHandle\n        cudaErrorLaunchFailure\n    None\n        None\n\n    See Also\n    --------\n    cudaEventCreate\n    cudaEventCreateWithFlags\n    cudaEventQuery\n    cudaEventSynchronize\n    cudaEventRecord\n    cudaEventElapsedTime\n    cuEventDestroy\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_139cudaEventDestroy = {"cudaEventDestroy", (PyCFunction)__pyx_pw_4cuda_6cudart_139cudaEventDestroy, METH_O, __pyx_doc_4cuda_6cudart_138cudaEventDestroy};
static PyObject *__pyx_pw_4cuda_6cudart_139cudaEventDestroy(PyObject *__pyx_self, PyObject *__pyx_v_event) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaEventDestroy (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_138cudaEventDestroy(__pyx_self, ((PyObject *)__pyx_v_event));

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

static PyObject *__pyx_pf_4cuda_6cudart_138cudaEventDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_event) {
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__402)
  __Pyx_RefNannySetupContext("cudaEventDestroy", 0);
  __Pyx_TraceCall("cudaEventDestroy", __pyx_f[0], 9421, 0, __PYX_ERR(0, 9421, __pyx_L1_error));

  /* "cuda/cudart.pyx":9456
 *     cuEventDestroy
 *     """
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     err = ccudart.cudaEventDestroy(<ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0])
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_6cudart_cudaEvent_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_4cuda_CUevent); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":9457
 *     """
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaEventDestroy(<ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0])
 *     return (cudaError_t(err),)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_event))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9457, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_event_is_not_instance_o, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9457, __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, 9457, __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, 9457, __pyx_L1_error)

    /* "cuda/cudart.pyx":9456
 *     cuEventDestroy
 *     """
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     err = ccudart.cudaEventDestroy(<ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0])
 */
  }

  /* "cuda/cudart.pyx":9458
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     err = ccudart.cudaEventDestroy(<ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaEventDestroy(((__pyx_t_4cuda_7ccudart_cudaEvent_t)(((struct __pyx_obj_4cuda_6cudart_cudaEvent_t *)__pyx_v_event)->__pyx_base._ptr[0]))); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 9458, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":9459
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     err = ccudart.cudaEventDestroy(<ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0])
 *     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, 9459, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 9459, __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_4 = (__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_4)) __PYX_ERR(0, 9459, __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, 9459, __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":9421
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaEventDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":9462
 * 
 * @cython.embedsignature(True)
 * def cudaEventElapsedTime(start, end):             # <<<<<<<<<<<<<<
 *     """ Computes the elapsed time between events.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_141cudaEventElapsedTime(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_140cudaEventElapsedTime[] = "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 cudaEventRecord() operation takes\n    place asynchronously and there is no guarantee that the measured\n    latency is actually just between the two events. Any number of other\n    different stream operations could execute in between the two measured\n    events, thus altering the timing in a significant way.\n\n    If cudaEventRecord() has not been called on either event, then\n    cudaErrorInvalidResourceHandle is returned. If cudaEventRecord() has\n    been called on both events but one or both of them has not yet been\n    completed (that is, cudaEventQuery() would return cudaErrorNotReady on\n    at least one of the events), cudaErrorNotReady is returned. If either\n    event was created with the cudaEventDisableTiming flag, then this\n    function will return cudaErrorInvalidResourceHandle.\n\n    Parameters\n    ----------\n    start : Any\n        Starting event\n    end : Any\n        Ending event\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorNotReady\n        cudaErrorInvalidValue\n        cudaErrorInvalidResourceHandle\n        cudaErrorLaunchFailure\n    ms : float\n        Time between `start` and `end` in ms\n\n    See Also\n    --------\n    cudaEventCreate\n    cudaEventCreateWithFlags\n    cudaEventQuery\n    cudaEventSynchronize\n    cudaEventDestroy\n    cudaEventRecord\n    cuEventElapsedTime\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_141cudaEventElapsedTime = {"cudaEventElapsedTime", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_141cudaEventElapsedTime, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_140cudaEventElapsedTime};
static PyObject *__pyx_pw_4cuda_6cudart_141cudaEventElapsedTime(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, 9462, __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, 9462, __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, 9462, __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_140cudaEventElapsedTime(__pyx_self, __pyx_v_start, __pyx_v_end);

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

static PyObject *__pyx_pf_4cuda_6cudart_140cudaEventElapsedTime(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_start, PyObject *__pyx_v_end) {
  float __pyx_v_ms;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__403)
  __Pyx_RefNannySetupContext("cudaEventElapsedTime", 0);
  __Pyx_TraceCall("cudaEventElapsedTime", __pyx_f[0], 9462, 0, __PYX_ERR(0, 9462, __pyx_L1_error));

  /* "cuda/cudart.pyx":9512
 *     cuEventElapsedTime
 *     """
 *     if not isinstance(end, (cudaEvent_t, cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'end' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(end)))
 *     if not isinstance(start, (cudaEvent_t, cuda.CUevent)):
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_end, __pyx_ptype_4cuda_6cudart_cudaEvent_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_end, __pyx_ptype_4cuda_4cuda_CUevent); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":9513
 *     """
 *     if not isinstance(end, (cudaEvent_t, cuda.CUevent)):
 *         raise TypeError("Argument 'end' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(end)))             # <<<<<<<<<<<<<<
 *     if not isinstance(start, (cudaEvent_t, cuda.CUevent)):
 *         raise TypeError("Argument 'start' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(start)))
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_end))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9513, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_end_is_not_instance_of, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9513, __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, 9513, __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, 9513, __pyx_L1_error)

    /* "cuda/cudart.pyx":9512
 *     cuEventElapsedTime
 *     """
 *     if not isinstance(end, (cudaEvent_t, cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'end' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(end)))
 *     if not isinstance(start, (cudaEvent_t, cuda.CUevent)):
 */
  }

  /* "cuda/cudart.pyx":9514
 *     if not isinstance(end, (cudaEvent_t, cuda.CUevent)):
 *         raise TypeError("Argument 'end' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(end)))
 *     if not isinstance(start, (cudaEvent_t, cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'start' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(start)))
 *     cdef float ms = 0
 */
  __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)) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "cuda/cudart.pyx":9515
 *         raise TypeError("Argument 'end' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(end)))
 *     if not isinstance(start, (cudaEvent_t, cuda.CUevent)):
 *         raise TypeError("Argument 'start' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(start)))             # <<<<<<<<<<<<<<
 *     cdef float ms = 0
 *     err = ccudart.cudaEventElapsedTime(&ms, <ccudart.cudaEvent_t>(<cudaEvent_t>start)._ptr[0], <ccudart.cudaEvent_t>(<cudaEvent_t>end)._ptr[0])
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_start))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9515, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_start_is_not_instance_o, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9515, __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, 9515, __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, 9515, __pyx_L1_error)

    /* "cuda/cudart.pyx":9514
 *     if not isinstance(end, (cudaEvent_t, cuda.CUevent)):
 *         raise TypeError("Argument 'end' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(end)))
 *     if not isinstance(start, (cudaEvent_t, cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'start' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(start)))
 *     cdef float ms = 0
 */
  }

  /* "cuda/cudart.pyx":9516
 *     if not isinstance(start, (cudaEvent_t, cuda.CUevent)):
 *         raise TypeError("Argument 'start' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(start)))
 *     cdef float ms = 0             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaEventElapsedTime(&ms, <ccudart.cudaEvent_t>(<cudaEvent_t>start)._ptr[0], <ccudart.cudaEvent_t>(<cudaEvent_t>end)._ptr[0])
 *     return (cudaError_t(err), ms)
 */
  __pyx_v_ms = 0.0;

  /* "cuda/cudart.pyx":9517
 *         raise TypeError("Argument 'start' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(start)))
 *     cdef float ms = 0
 *     err = ccudart.cudaEventElapsedTime(&ms, <ccudart.cudaEvent_t>(<cudaEvent_t>start)._ptr[0], <ccudart.cudaEvent_t>(<cudaEvent_t>end)._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), ms)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaEventElapsedTime((&__pyx_v_ms), ((__pyx_t_4cuda_7ccudart_cudaEvent_t)(((struct __pyx_obj_4cuda_6cudart_cudaEvent_t *)__pyx_v_start)->__pyx_base._ptr[0])), ((__pyx_t_4cuda_7ccudart_cudaEvent_t)(((struct __pyx_obj_4cuda_6cudart_cudaEvent_t *)__pyx_v_end)->__pyx_base._ptr[0]))); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 9517, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":9518
 *     cdef float ms = 0
 *     err = ccudart.cudaEventElapsedTime(&ms, <ccudart.cudaEvent_t>(<cudaEvent_t>start)._ptr[0], <ccudart.cudaEvent_t>(<cudaEvent_t>end)._ptr[0])
 *     return (cudaError_t(err), ms)             # <<<<<<<<<<<<<<
 * 
 * @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, 9518, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 9518, __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_4 = (__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_4)) __PYX_ERR(0, 9518, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = PyFloat_FromDouble(__pyx_v_ms); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9518, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 9518, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_5);
  __pyx_t_4 = 0;
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":9462
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaEventElapsedTime", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":9521
 * 
 * @cython.embedsignature(True)
 * def cudaImportExternalMemory(memHandleDesc : cudaExternalMemoryHandleDesc):             # <<<<<<<<<<<<<<
 *     """ Imports an external memory object.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_143cudaImportExternalMemory(PyObject *__pyx_self, PyObject *__pyx_v_memHandleDesc); /*proto*/
static char __pyx_doc_4cuda_6cudart_142cudaImportExternalMemory[] = "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 cudaExternalMemoryHandleDesc structure is defined\n    as follows:\n\n    typedefstructcudaExternalMemoryHandleDesc_st{\n    cudaExternalMemoryHandleTypetype; union{ intfd; struct{ void*handle;\n    constvoid*name; }win32; constvoid*nvSciBufObject; }handle;\n    unsignedlonglongsize; unsignedintflags; }cudaExternalMemoryHandleDesc;\n\n    where cudaExternalMemoryHandleDesc::type specifies the type of handle\n    being imported. cudaExternalMemoryHandleType is defined as:\n\n    typedefenumcudaExternalMemoryHandleType_enum{\n    cudaExternalMemoryHandleTypeOpaqueFd=1,\n    cudaExternalMemoryHandleTypeOpaqueWin32=2,\n    cudaExternalMemoryHandleTypeOpaqueWin32Kmt=3,\n    cudaExternalMemoryHandleTypeD3D12Heap=4,\n    cudaExternalMemoryHandleTypeD3D12Resource=5,\n    cudaExternalMemoryHandleTypeD3D11Resource=6,\n    cudaExternalMemoryHandleTypeD3D11ResourceKmt=7,\n    cudaExternalMemoryHandleTypeNvSciBuf=8 }cudaExternalMemoryHandleType;\n\n    If cudaExternalMemoryHandleDesc::type is\n    cudaExternalMemoryHandleTypeOpaqueFd, then\n    cudaExternalMemoryHandleDesc::handle::fd must be a valid file\n    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 cudaExternalMemoryHandleDesc::type is\n    cudaExternalMemoryHandleTypeOpaqueWin32, then exactly one of\n    cudaExternalMemoryHandleDesc::handle::win32::handle and\n    cudaExternalMemoryHandleDesc::handle::win32::name must not be NULL. If\n    cudaExternalMemoryHandleDe""sc::handle::win32::handle is not NULL, then\n    it must represent a valid shared NT handle that references a memory\n    object. Ownership of this handle is not transferred to CUDA after the\n    import operation, so the application must release the handle using the\n    appropriate system call. If\n    cudaExternalMemoryHandleDesc::handle::win32::name is not NULL, then it\n    must point to a NULL-terminated array of UTF-16 characters that refers\n    to a memory object.\n\n    If cudaExternalMemoryHandleDesc::type is\n    cudaExternalMemoryHandleTypeOpaqueWin32Kmt, then\n    cudaExternalMemoryHandleDesc::handle::win32::handle must be non-NULL\n    and cudaExternalMemoryHandleDesc::handle::win32::name must be NULL. The\n    handle specified must be a globally shared KMT handle. This handle does\n    not hold a reference to the underlying object, and thus will be invalid\n    when all references to the memory object are destroyed.\n\n    If cudaExternalMemoryHandleDesc::type is\n    cudaExternalMemoryHandleTypeD3D12Heap, then exactly one of\n    cudaExternalMemoryHandleDesc::handle::win32::handle and\n    cudaExternalMemoryHandleDesc::handle::win32::name must not be NULL. If\n    cudaExternalMemoryHandleDesc::handle::win32::handle is not NULL, then\n    it must represent a valid shared NT handle that is returned by\n    ID3D12Device::CreateSharedHandle when referring to a ID3D12Heap object.\n    This handle holds a reference to the underlying object. If\n    cudaExternalMemoryHandleDesc::handle::win32::name is not NULL, then it\n    must point to a NULL-terminated array of UTF-16 characters that refers\n    to a ID3D12Heap object.\n\n    If cudaExternalMemoryHandleDesc::type is\n    cudaExternalMemoryHandleTypeD3D12Resource, then exactly one of\n    cudaExternalMemoryHandleDesc::handle::win32::handle and\n    cudaExternalMemoryHandleDesc::handle::win32::name must not be NULL. If\n    cudaExternalMemoryHandleDesc::handle::win32::handle is not NULL, then\n    it must"" represent a valid shared NT handle that is returned by\n    ID3D12Device::CreateSharedHandle when referring to a ID3D12Resource\n    object. This handle holds a reference to the underlying object. If\n    cudaExternalMemoryHandleDesc::handle::win32::name is not NULL, then it\n    must point to a NULL-terminated array of UTF-16 characters that refers\n    to a ID3D12Resource object.\n\n    If cudaExternalMemoryHandleDesc::type is\n    cudaExternalMemoryHandleTypeD3D11Resource,then exactly one of\n    cudaExternalMemoryHandleDesc::handle::win32::handle and\n    cudaExternalMemoryHandleDesc::handle::win32::name must not be NULL. If\n    cudaExternalMemoryHandleDesc::handle::win32::handle is  not NULL, then\n    it must represent a valid shared NT handle that is  returned by\n    IDXGIResource1::CreateSharedHandle when referring to a ID3D11Resource\n    object. If 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 cudaExternalMemoryHandleDesc::type is\n    cudaExternalMemoryHandleTypeD3D11ResourceKmt, then\n    cudaExternalMemoryHandleDesc::handle::win32::handle must be non-NULL\n    and cudaExternalMemoryHandleDesc::handle::win32::name must be NULL. The\n    handle specified must be a valid shared KMT handle that is returned by\n    IDXGIResource::GetSharedHandle when referring to a ID3D11Resource\n    object.\n\n    If cudaExternalMemoryHandleDesc::type is\n    cudaExternalMemoryHandleTypeNvSciBuf, then\n    cudaExternalMemoryHandleDesc::handle::nvSciBufObject must be NON-NULL\n    and reference a valid NvSciBuf object. If the NvSciBuf object imported\n    into CUDA is also mapped by other drivers, then the application must\n    use cudaWaitExternalSemaphoresAsync or\n    cudaSignalExternalSemaphoresAsync as approprriate barriers to maintain\n    coherence between CUDA and the other drivers. See\n    cudaExternalSemaphoreWaitSkipN""vSciBufMemSync and\n    cudaExternalSemaphoreSignalSkipNvSciBufMemSync for memory\n    synchronization.\n\n    The size of the memory object must be specified in\n    cudaExternalMemoryHandleDesc::size.\n\n    Specifying the flag cudaExternalMemoryDedicated in\n    cudaExternalMemoryHandleDesc::flags indicates that the resource is a\n    dedicated resource. The definition of what a dedicated resource is\n    outside the scope of this extension. This flag must be set if\n    cudaExternalMemoryHandleDesc::type is one of the following:\n    cudaExternalMemoryHandleTypeD3D12Resource\n    cudaExternalMemoryHandleTypeD3D11Resource\n    cudaExternalMemoryHandleTypeD3D11ResourceKmt\n\n    Parameters\n    ----------\n    memHandleDesc : cudaExternalMemoryHandleDesc\n        Memory import handle descriptor\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorInvalidResourceHandle\n    extMem_out : cudaExternalMemory_t\n        Returned handle to an external memory object\n\n    See Also\n    --------\n    cudaDestroyExternalMemory\n    cudaExternalMemoryGetMappedBuffer\n    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\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_143cudaImportExternalMemory = {"cudaImportExternalMemory", (PyCFunction)__pyx_pw_4cuda_6cudart_143cudaImportExternalMemory, METH_O, __pyx_doc_4cuda_6cudart_142cudaImportExternalMemory};
static PyObject *__pyx_pw_4cuda_6cudart_143cudaImportExternalMemory(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, 9521, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_142cudaImportExternalMemory(__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_142cudaImportExternalMemory(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 __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleDesc *__pyx_v_cmemHandleDesc_ptr;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  struct __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleDesc *__pyx_t_2;
  int __pyx_t_3;
  __pyx_t_4cuda_7ccudart_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__404)
  __Pyx_RefNannySetupContext("cudaImportExternalMemory", 0);
  __Pyx_TraceCall("cudaImportExternalMemory", __pyx_f[0], 9521, 0, __PYX_ERR(0, 9521, __pyx_L1_error));

  /* "cuda/cudart.pyx":9671
 * 
 *     """
 *     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, 9671, __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":9672
 *     """
 *     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, 9672, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 9672, __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":9673
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 9673, __pyx_L1_error)
  __pyx_v_err = __pyx_t_4;

  /* "cuda/cudart.pyx":9674
 *     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, 9674, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9674, __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, 9674, __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, 9674, __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":9521
 * 
 * @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":9677
 * 
 * @cython.embedsignature(True)
 * def cudaExternalMemoryGetMappedBuffer(extMem not None : cudaExternalMemory_t, bufferDesc : cudaExternalMemoryBufferDesc):             # <<<<<<<<<<<<<<
 *     """ Maps a buffer onto an imported memory object.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_145cudaExternalMemoryGetMappedBuffer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_144cudaExternalMemoryGetMappedBuffer[] = "cudaExternalMemoryGetMappedBuffer(cudaExternalMemory_t extMem: cudaExternalMemory_t, 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 cudaExternalMemoryBufferDesc structure is defined as\n    follows:\n\n    typedefstructcudaExternalMemoryBufferDesc_st{ unsignedlonglongoffset;\n    unsignedlonglongsize; unsignedintflags; }cudaExternalMemoryBufferDesc;\n\n    where cudaExternalMemoryBufferDesc::offset is the offset in the memory\n    object where the buffer's base address is.\n    cudaExternalMemoryBufferDesc::size is the size of the buffer.\n    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 cudaFree.\n\n    Parameters\n    ----------\n    extMem : cudaExternalMemory_t\n        Handle to external memory object\n    bufferDesc : cudaExternalMemoryBufferDesc\n        Buffer descriptor\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorInvalidResourceHandle\n    devPtr : int\n        Returne""d device pointer to buffer\n\n    See Also\n    --------\n    cudaImportExternalMemory\n    cudaDestroyExternalMemory\n    cudaExternalMemoryGetMappedMipmappedArray\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_145cudaExternalMemoryGetMappedBuffer = {"cudaExternalMemoryGetMappedBuffer", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_145cudaExternalMemoryGetMappedBuffer, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_144cudaExternalMemoryGetMappedBuffer};
static PyObject *__pyx_pw_4cuda_6cudart_145cudaExternalMemoryGetMappedBuffer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_4cuda_6cudart_cudaExternalMemory_t *__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, 9677, __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, 9677, __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 = ((struct __pyx_obj_4cuda_6cudart_cudaExternalMemory_t *)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, 9677, __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_extMem), __pyx_ptype_4cuda_6cudart_cudaExternalMemory_t, 0, "extMem", 0))) __PYX_ERR(0, 9677, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_bufferDesc), __pyx_ptype_4cuda_6cudart_cudaExternalMemoryBufferDesc, 1, "bufferDesc", 0))) __PYX_ERR(0, 9677, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_144cudaExternalMemoryGetMappedBuffer(__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_144cudaExternalMemoryGetMappedBuffer(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaExternalMemory_t *__pyx_v_extMem, struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryBufferDesc *__pyx_v_bufferDesc) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v_devPtr;
  struct __pyx_t_4cuda_7ccudart_cudaExternalMemoryBufferDesc *__pyx_v_cbufferDesc_ptr;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  struct __pyx_t_4cuda_7ccudart_cudaExternalMemoryBufferDesc *__pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  __pyx_t_4cuda_7ccudart_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__405)
  __Pyx_RefNannySetupContext("cudaExternalMemoryGetMappedBuffer", 0);
  __Pyx_TraceCall("cudaExternalMemoryGetMappedBuffer", __pyx_f[0], 9677, 0, __PYX_ERR(0, 9677, __pyx_L1_error));

  /* "cuda/cudart.pyx":9730
 *     cudaExternalMemoryGetMappedMipmappedArray
 *     """
 *     cdef void_ptr devPtr = 0             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaExternalMemoryBufferDesc* cbufferDesc_ptr = bufferDesc._ptr if bufferDesc != None else NULL
 *     err = ccudart.cudaExternalMemoryGetMappedBuffer(<void**>&devPtr, extMem._ptr[0], cbufferDesc_ptr)
 */
  __pyx_v_devPtr = 0;

  /* "cuda/cudart.pyx":9731
 *     """
 *     cdef void_ptr devPtr = 0
 *     cdef ccudart.cudaExternalMemoryBufferDesc* cbufferDesc_ptr = bufferDesc._ptr if bufferDesc != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaExternalMemoryGetMappedBuffer(<void**>&devPtr, extMem._ptr[0], cbufferDesc_ptr)
 *     return (cudaError_t(err), devPtr)
 */
  __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_bufferDesc), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9731, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 9731, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {
    __pyx_t_1 = __pyx_v_bufferDesc->_ptr;
  } else {
    __pyx_t_1 = NULL;
  }
  __pyx_v_cbufferDesc_ptr = __pyx_t_1;

  /* "cuda/cudart.pyx":9732
 *     cdef void_ptr devPtr = 0
 *     cdef ccudart.cudaExternalMemoryBufferDesc* cbufferDesc_ptr = bufferDesc._ptr if bufferDesc != None else NULL
 *     err = ccudart.cudaExternalMemoryGetMappedBuffer(<void**>&devPtr, extMem._ptr[0], cbufferDesc_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), devPtr)
 * 
 */
  __pyx_t_4 = __pyx_f_4cuda_7ccudart_cudaExternalMemoryGetMappedBuffer(((void **)(&__pyx_v_devPtr)), (__pyx_v_extMem->_ptr[0]), __pyx_v_cbufferDesc_ptr); if (unlikely(__pyx_t_4 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 9732, __pyx_L1_error)
  __pyx_v_err = __pyx_t_4;

  /* "cuda/cudart.pyx":9733
 *     cdef ccudart.cudaExternalMemoryBufferDesc* cbufferDesc_ptr = bufferDesc._ptr if bufferDesc != None else NULL
 *     err = ccudart.cudaExternalMemoryGetMappedBuffer(<void**>&devPtr, extMem._ptr[0], cbufferDesc_ptr)
 *     return (cudaError_t(err), devPtr)             # <<<<<<<<<<<<<<
 * 
 * @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, 9733, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9733, __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, 9733, __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_devPtr); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 9733, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9733, __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":9677
 * 
 * @cython.embedsignature(True)
 * def cudaExternalMemoryGetMappedBuffer(extMem not None : cudaExternalMemory_t, bufferDesc : cudaExternalMemoryBufferDesc):             # <<<<<<<<<<<<<<
 *     """ Maps a buffer onto an imported memory object.
 * 
 */

  /* 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.cudaExternalMemoryGetMappedBuffer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":9736
 * 
 * @cython.embedsignature(True)
 * def cudaExternalMemoryGetMappedMipmappedArray(extMem not None : cudaExternalMemory_t, mipmapDesc : cudaExternalMemoryMipmappedArrayDesc):             # <<<<<<<<<<<<<<
 *     """ Maps a CUDA mipmapped array onto an external memory object.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_147cudaExternalMemoryGetMappedMipmappedArray(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_146cudaExternalMemoryGetMappedMipmappedArray[] = "cudaExternalMemoryGetMappedMipmappedArray(cudaExternalMemory_t extMem: cudaExternalMemory_t, 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    cudaExternalMemoryMipmappedArrayDesc is defined as follows:\n\n    typedefstructcudaExternalMemoryMipmappedArrayDesc_st{\n    unsignedlonglongoffset; cudaChannelFormatDescformatDesc;\n    cudaExtentextent; unsignedintflags; unsignedintnumLevels;\n    }cudaExternalMemoryMipmappedArrayDesc;\n\n    where cudaExternalMemoryMipmappedArrayDesc::offset is the offset in the\n    memory object where the base level of the mipmap chain is.\n    cudaExternalMemoryMipmappedArrayDesc::formatDesc describes the format\n    of the data. cudaExternalMemoryMipmappedArrayDesc::extent specifies the\n    dimensions of the base level of the mipmap chain.\n    cudaExternalMemoryMipmappedArrayDesc::flags are flags associated with\n    CUDA mipmapped arrays. For further details, please refer to the\n    documentation for cudaMalloc3DArray. Note that if the mipmapped array\n    is bound as a color target in the graphics API, then the flag\n    cudaArrayColorAttachment must be specified in\n    cudaExternalMemoryMipmappedArrayDesc::flags.\n    cudaExternalMemoryMipmappedArrayDesc::numLevels specifies the total\n    number of levels in the mipmap chain.\n\n    The returned CUDA mipmapped array must be freed using\n    cudaFreeMipmappedArray.\n\n    Parameters\n    ----------\n    extMem : cudaExternalMemory_t\n        Handle to external memory object\n    mipmapDesc : cudaExternalMemoryMipmappedArrayDesc\n        CUDA array descriptor\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    ""    cudaErrorInvalidResourceHandle\n    mipmap : cudaMipmappedArray_t\n        Returned CUDA mipmapped array\n\n    See Also\n    --------\n    cudaImportExternalMemory\n    cudaDestroyExternalMemory\n    cudaExternalMemoryGetMappedBuffer\n\n    Notes\n    -----\n    If cudaExternalMemoryHandleDesctype is cudaExternalMemoryHandleTypeNvSciBuf, then cudaExternalMemoryMipmappedArrayDescnumLevels must not be greater than 1. \n\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_147cudaExternalMemoryGetMappedMipmappedArray = {"cudaExternalMemoryGetMappedMipmappedArray", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_147cudaExternalMemoryGetMappedMipmappedArray, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_146cudaExternalMemoryGetMappedMipmappedArray};
static PyObject *__pyx_pw_4cuda_6cudart_147cudaExternalMemoryGetMappedMipmappedArray(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_4cuda_6cudart_cudaExternalMemory_t *__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, 9736, __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, 9736, __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 = ((struct __pyx_obj_4cuda_6cudart_cudaExternalMemory_t *)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, 9736, __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_extMem), __pyx_ptype_4cuda_6cudart_cudaExternalMemory_t, 0, "extMem", 0))) __PYX_ERR(0, 9736, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mipmapDesc), __pyx_ptype_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc, 1, "mipmapDesc", 0))) __PYX_ERR(0, 9736, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_146cudaExternalMemoryGetMappedMipmappedArray(__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_146cudaExternalMemoryGetMappedMipmappedArray(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaExternalMemory_t *__pyx_v_extMem, struct __pyx_obj_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc *__pyx_v_mipmapDesc) {
  struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_t *__pyx_v_mipmap = 0;
  struct __pyx_t_4cuda_7ccudart_cudaExternalMemoryMipmappedArrayDesc *__pyx_v_cmipmapDesc_ptr;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  struct __pyx_t_4cuda_7ccudart_cudaExternalMemoryMipmappedArrayDesc *__pyx_t_2;
  int __pyx_t_3;
  __pyx_t_4cuda_7ccudart_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__406)
  __Pyx_RefNannySetupContext("cudaExternalMemoryGetMappedMipmappedArray", 0);
  __Pyx_TraceCall("cudaExternalMemoryGetMappedMipmappedArray", __pyx_f[0], 9736, 0, __PYX_ERR(0, 9736, __pyx_L1_error));

  /* "cuda/cudart.pyx":9795
 * 
 *     """
 *     cdef cudaMipmappedArray_t mipmap = cudaMipmappedArray_t()             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaExternalMemoryMipmappedArrayDesc* cmipmapDesc_ptr = mipmapDesc._ptr if mipmapDesc != None else NULL
 *     err = ccudart.cudaExternalMemoryGetMappedMipmappedArray(mipmap._ptr, extMem._ptr[0], cmipmapDesc_ptr)
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMipmappedArray_t)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9795, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_mipmap = ((struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_t *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":9796
 *     """
 *     cdef cudaMipmappedArray_t mipmap = cudaMipmappedArray_t()
 *     cdef ccudart.cudaExternalMemoryMipmappedArrayDesc* cmipmapDesc_ptr = mipmapDesc._ptr if mipmapDesc != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaExternalMemoryGetMappedMipmappedArray(mipmap._ptr, extMem._ptr[0], cmipmapDesc_ptr)
 *     return (cudaError_t(err), mipmap)
 */
  __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_mipmapDesc), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9796, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 9796, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_3) {
    __pyx_t_2 = __pyx_v_mipmapDesc->_ptr;
  } else {
    __pyx_t_2 = NULL;
  }
  __pyx_v_cmipmapDesc_ptr = __pyx_t_2;

  /* "cuda/cudart.pyx":9797
 *     cdef cudaMipmappedArray_t mipmap = cudaMipmappedArray_t()
 *     cdef ccudart.cudaExternalMemoryMipmappedArrayDesc* cmipmapDesc_ptr = mipmapDesc._ptr if mipmapDesc != None else NULL
 *     err = ccudart.cudaExternalMemoryGetMappedMipmappedArray(mipmap._ptr, extMem._ptr[0], cmipmapDesc_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), mipmap)
 * 
 */
  __pyx_t_4 = __pyx_f_4cuda_7ccudart_cudaExternalMemoryGetMappedMipmappedArray(__pyx_v_mipmap->_ptr, (__pyx_v_extMem->_ptr[0]), __pyx_v_cmipmapDesc_ptr); if (unlikely(__pyx_t_4 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 9797, __pyx_L1_error)
  __pyx_v_err = __pyx_t_4;

  /* "cuda/cudart.pyx":9798
 *     cdef ccudart.cudaExternalMemoryMipmappedArrayDesc* cmipmapDesc_ptr = mipmapDesc._ptr if mipmapDesc != None else NULL
 *     err = ccudart.cudaExternalMemoryGetMappedMipmappedArray(mipmap._ptr, extMem._ptr[0], cmipmapDesc_ptr)
 *     return (cudaError_t(err), mipmap)             # <<<<<<<<<<<<<<
 * 
 * @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, 9798, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9798, __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, 9798, __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, 9798, __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_mipmap));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_mipmap));
  PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_mipmap));
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":9736
 * 
 * @cython.embedsignature(True)
 * def cudaExternalMemoryGetMappedMipmappedArray(extMem not None : cudaExternalMemory_t, mipmapDesc : cudaExternalMemoryMipmappedArrayDesc):             # <<<<<<<<<<<<<<
 *     """ Maps a CUDA mipmapped array onto 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.cudaExternalMemoryGetMappedMipmappedArray", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_mipmap);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":9801
 * 
 * @cython.embedsignature(True)
 * def cudaDestroyExternalMemory(extMem not None : cudaExternalMemory_t):             # <<<<<<<<<<<<<<
 *     """ Destroys an external memory object.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_149cudaDestroyExternalMemory(PyObject *__pyx_self, PyObject *__pyx_v_extMem); /*proto*/
static char __pyx_doc_4cuda_6cudart_148cudaDestroyExternalMemory[] = "cudaDestroyExternalMemory(cudaExternalMemory_t extMem: cudaExternalMemory_t)\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 cudaFree and cudaFreeMipmappedArray\n    respectively.\n\n    Parameters\n    ----------\n    extMem : cudaExternalMemory_t\n        External memory object to be destroyed\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidResourceHandle\n    None\n        None\n\n    See Also\n    --------\n    cudaImportExternalMemory\n    cudaExternalMemoryGetMappedBuffer\n    cudaExternalMemoryGetMappedMipmappedArray\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_149cudaDestroyExternalMemory = {"cudaDestroyExternalMemory", (PyCFunction)__pyx_pw_4cuda_6cudart_149cudaDestroyExternalMemory, METH_O, __pyx_doc_4cuda_6cudart_148cudaDestroyExternalMemory};
static PyObject *__pyx_pw_4cuda_6cudart_149cudaDestroyExternalMemory(PyObject *__pyx_self, PyObject *__pyx_v_extMem) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaDestroyExternalMemory (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_extMem), __pyx_ptype_4cuda_6cudart_cudaExternalMemory_t, 0, "extMem", 0))) __PYX_ERR(0, 9801, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_148cudaDestroyExternalMemory(__pyx_self, ((struct __pyx_obj_4cuda_6cudart_cudaExternalMemory_t *)__pyx_v_extMem));

  /* 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_148cudaDestroyExternalMemory(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaExternalMemory_t *__pyx_v_extMem) {
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __pyx_t_4cuda_7ccudart_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__407)
  __Pyx_RefNannySetupContext("cudaDestroyExternalMemory", 0);
  __Pyx_TraceCall("cudaDestroyExternalMemory", __pyx_f[0], 9801, 0, __PYX_ERR(0, 9801, __pyx_L1_error));

  /* "cuda/cudart.pyx":9828
 *     cudaExternalMemoryGetMappedMipmappedArray
 *     """
 *     err = ccudart.cudaDestroyExternalMemory(extMem._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_7ccudart_cudaDestroyExternalMemory((__pyx_v_extMem->_ptr[0])); if (unlikely(__pyx_t_1 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 9828, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":9829
 *     """
 *     err = ccudart.cudaDestroyExternalMemory(extMem._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, 9829, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 9829, __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, 9829, __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, 9829, __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":9801
 * 
 * @cython.embedsignature(True)
 * def cudaDestroyExternalMemory(extMem not None : cudaExternalMemory_t):             # <<<<<<<<<<<<<<
 *     """ Destroys an external memory object.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cudart.cudaDestroyExternalMemory", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":9832
 * 
 * @cython.embedsignature(True)
 * def cudaImportExternalSemaphore(semHandleDesc : cudaExternalSemaphoreHandleDesc):             # <<<<<<<<<<<<<<
 *     """ Imports an external semaphore.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_151cudaImportExternalSemaphore(PyObject *__pyx_self, PyObject *__pyx_v_semHandleDesc); /*proto*/
static char __pyx_doc_4cuda_6cudart_150cudaImportExternalSemaphore[] = "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 cudaExternalSemaphoreHandleDesc is defined as\n    follows:\n\n    typedefstructcudaExternalSemaphoreHandleDesc_st{\n    cudaExternalSemaphoreHandleTypetype; union{ intfd; struct{ void*handle;\n    constvoid*name; }win32; constvoid*NvSciSyncObj; }handle;\n    unsignedintflags; }cudaExternalSemaphoreHandleDesc;\n\n    where cudaExternalSemaphoreHandleDesc::type specifies the type of\n    handle being imported. cudaExternalSemaphoreHandleType is defined as:\n\n    typedefenumcudaExternalSemaphoreHandleType_enum{\n    cudaExternalSemaphoreHandleTypeOpaqueFd=1,\n    cudaExternalSemaphoreHandleTypeOpaqueWin32=2,\n    cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt=3,\n    cudaExternalSemaphoreHandleTypeD3D12Fence=4,\n    cudaExternalSemaphoreHandleTypeD3D11Fence=5,\n    cudaExternalSemaphoreHandleTypeNvSciSync=6,\n    cudaExternalSemaphoreHandleTypeKeyedMutex=7,\n    cudaExternalSemaphoreHandleTypeKeyedMutexKmt=8,\n    cudaExternalSemaphoreHandleTypeTimelineSemaphoreFd=9,\n    cudaExternalSemaphoreHandleTypeTimelineSemaphoreWin32=10\n    }cudaExternalSemaphoreHandleType;\n\n    If cudaExternalSemaphoreHandleDesc::type is\n    cudaExternalSemaphoreHandleTypeOpaqueFd, then\n    cudaExternalSemaphoreHandleDesc::handle::fd must be a valid file\n    descriptor referencing a synchronization 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 cudaExternalSemaphoreHandleDesc::type is\n    cudaExternalSemaphoreHandleTypeOpaqueWin32, then exactly one"" of\n    cudaExternalSemaphoreHandleDesc::handle::win32::handle and\n    cudaExternalSemaphoreHandleDesc::handle::win32::name must not be NULL.\n    If cudaExternalSemaphoreHandleDesc::handle::win32::handle is not NULL,\n    then it must represent a valid shared NT handle that references a\n    synchronization object. Ownership of this handle is not transferred to\n    CUDA after the import operation, so the application must release the\n    handle using the appropriate system call. If\n    cudaExternalSemaphoreHandleDesc::handle::win32::name is not NULL, then\n    it must name a valid synchronization object.\n\n    If cudaExternalSemaphoreHandleDesc::type is\n    cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt, then\n    cudaExternalSemaphoreHandleDesc::handle::win32::handle must be non-NULL\n    and cudaExternalSemaphoreHandleDesc::handle::win32::name must be NULL.\n    The handle specified must be a globally shared KMT handle. This handle\n    does not hold a reference to the underlying object, and thus will be\n    invalid when all references to the synchronization object are\n    destroyed.\n\n    If cudaExternalSemaphoreHandleDesc::type is\n    cudaExternalSemaphoreHandleTypeD3D12Fence, then exactly one of\n    cudaExternalSemaphoreHandleDesc::handle::win32::handle and\n    cudaExternalSemaphoreHandleDesc::handle::win32::name must not be NULL.\n    If cudaExternalSemaphoreHandleDesc::handle::win32::handle is not NULL,\n    then it must represent a valid shared NT handle that is returned by\n    ID3D12Device::CreateSharedHandle when referring to a ID3D12Fence\n    object. This handle holds a reference to the underlying object. If\n    cudaExternalSemaphoreHandleDesc::handle::win32::name is not NULL, then\n    it must name a valid synchronization object that refers to a valid\n    ID3D12Fence object.\n\n    If cudaExternalSemaphoreHandleDesc::type is\n    cudaExternalSemaphoreHandleTypeD3D11Fence, then exactly one of\n    cudaExternalSemaphoreHandleDesc::handle::w""in32::handle and\n    cudaExternalSemaphoreHandleDesc::handle::win32::name must not be NULL.\n    If cudaExternalSemaphoreHandleDesc::handle::win32::handle is not NULL,\n    then it must represent a valid shared NT handle that is returned by\n    ID3D11Fence::CreateSharedHandle. If\n    cudaExternalSemaphoreHandleDesc::handle::win32::name is not NULL, then\n    it must name a valid synchronization object that refers to a valid\n    ID3D11Fence object.\n\n    If cudaExternalSemaphoreHandleDesc::type is\n    cudaExternalSemaphoreHandleTypeNvSciSync, then\n    cudaExternalSemaphoreHandleDesc::handle::nvSciSyncObj represents a\n    valid NvSciSyncObj.\n\n    ::cudaExternalSemaphoreHandleTypeKeyedMutex, then exactly one of\n    cudaExternalSemaphoreHandleDesc::handle::win32::handle and\n    cudaExternalSemaphoreHandleDesc::handle::win32::name must not be NULL.\n    If cudaExternalSemaphoreHandleDesc::handle::win32::handle is not NULL,\n    then it represent a valid shared NT handle that is returned by\n    IDXGIResource1::CreateSharedHandle when referring to a IDXGIKeyedMutex\n    object.\n\n    If cudaExternalSemaphoreHandleDesc::type is\n    cudaExternalSemaphoreHandleTypeKeyedMutexKmt, then\n    cudaExternalSemaphoreHandleDesc::handle::win32::handle must be non-NULL\n    and cudaExternalSemaphoreHandleDesc::handle::win32::name must be NULL.\n    The handle specified must represent a valid KMT handle that is returned\n    by IDXGIResource::GetSharedHandle when referring to a IDXGIKeyedMutex\n    object.\n\n    If cudaExternalSemaphoreHandleDesc::type is\n    cudaExternalSemaphoreHandleTypeTimelineSemaphoreFd, then\n    cudaExternalSemaphoreHandleDesc::handle::fd must be a valid file\n    descriptor referencing a synchronization 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 cu""daExternalSemaphoreHandleDesc::type is\n    cudaExternalSemaphoreHandleTypeTimelineSemaphoreWin32, then exactly one\n    of cudaExternalSemaphoreHandleDesc::handle::win32::handle and\n    cudaExternalSemaphoreHandleDesc::handle::win32::name must not be NULL.\n    If cudaExternalSemaphoreHandleDesc::handle::win32::handle is not NULL,\n    then it must represent a valid shared NT handle that references a\n    synchronization object. Ownership of this handle is not transferred to\n    CUDA after the import operation, so the application must release the\n    handle using the appropriate system call. If\n    cudaExternalSemaphoreHandleDesc::handle::win32::name is not NULL, then\n    it must name a valid synchronization object.\n\n    Parameters\n    ----------\n    semHandleDesc : cudaExternalSemaphoreHandleDesc\n        Semaphore import handle descriptor\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidResourceHandle\n    extSem_out : cudaExternalSemaphore_t\n        Returned handle to an external semaphore\n\n    See Also\n    --------\n    cudaDestroyExternalSemaphore\n    cudaSignalExternalSemaphoresAsync\n    cudaWaitExternalSemaphoresAsync\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_151cudaImportExternalSemaphore = {"cudaImportExternalSemaphore", (PyCFunction)__pyx_pw_4cuda_6cudart_151cudaImportExternalSemaphore, METH_O, __pyx_doc_4cuda_6cudart_150cudaImportExternalSemaphore};
static PyObject *__pyx_pw_4cuda_6cudart_151cudaImportExternalSemaphore(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, 9832, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_150cudaImportExternalSemaphore(__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_150cudaImportExternalSemaphore(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 __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleDesc *__pyx_v_csemHandleDesc_ptr;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleDesc *__pyx_t_2;
  int __pyx_t_3;
  __pyx_t_4cuda_7ccudart_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__408)
  __Pyx_RefNannySetupContext("cudaImportExternalSemaphore", 0);
  __Pyx_TraceCall("cudaImportExternalSemaphore", __pyx_f[0], 9832, 0, __PYX_ERR(0, 9832, __pyx_L1_error));

  /* "cuda/cudart.pyx":9975
 *     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, 9975, __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":9976
 *     """
 *     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, 9976, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 9976, __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":9977
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 9977, __pyx_L1_error)
  __pyx_v_err = __pyx_t_4;

  /* "cuda/cudart.pyx":9978
 *     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, 9978, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 9978, __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, 9978, __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, 9978, __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":9832
 * 
 * @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":9981
 * 
 * @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_153cudaSignalExternalSemaphoresAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_152cudaSignalExternalSemaphoresAsync[] = "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    cudaExternalSemaphoreHandleTypeOpaqueFd,\n    cudaExternalSemaphoreHandleTypeOpaqueWin32,\n    cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt then signaling the\n    semaphore will set it to the signaled state.\n\n    If the semaphore object is any one of the following types:\n    cudaExternalSemaphoreHandleTypeD3D12Fence,\n    cudaExternalSemaphoreHandleTypeD3D11Fence,\n    cudaExternalSemaphoreHandleTypeTimelineSemaphoreFd,\n    cudaExternalSemaphoreHandleTypeTimelineSemaphoreWin32 then the\n    semaphore will be set to the value specified in\n    cudaExternalSemaphoreSignalParams::params::fence::value.\n\n    If the semaphore object is of the type\n    cudaExternalSemaphoreHandleTypeNvSciSync this API sets\n    cudaExternalSemaphoreSignalParams::params::nvSciSync::fence to a value\n    that can be used by subsequent waiters of the same NvSciSync object to\n    order operations with those currently submitted in `stream`. Such an\n    update will overwrite previous contents of\n    cudaExternalSemaphoreSignalParams::params::nvSciSync::fence. By\n    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    cudaExternalMemoryHandleTypeNvSciBuf. This ensures that any subsequent\n    accesses made by other importers of the same set of NvSciBuf memory\n    object(s) ar""e coherent. These operations can be skipped by specifying\n    the flag cudaExternalSemaphoreSignalSkipNvSciBufMemSync, 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    cudaExternalSemaphoreHandleTypeNvSciSync, if the NvSciSyncAttrList used\n    to create the NvSciSyncObj had not set the flags in\n    cudaDeviceGetNvSciSyncAttributes to cudaNvSciSyncAttrSignal, this API\n    will return cudaErrorNotSupported.\n\n    If the semaphore object is any one of the following types:\n    cudaExternalSemaphoreHandleTypeKeyedMutex,\n    cudaExternalSemaphoreHandleTypeKeyedMutexKmt, then the keyed mutex will\n    be released with the key specified in\n    cudaExternalSemaphoreSignalParams::params::keyedmutex::key.\n\n    Parameters\n    ----------\n    extSemArray : List[cudaExternalSemaphore_t]\n        Set of external semaphores to be signaled\n    paramsArray : List[cudaExternalSemaphoreSignalParams]\n        Array of semaphore parameters\n    numExtSems : unsigned int\n        Number of semaphores to signal\n    stream : CUstream or cudaStream_t\n        Stream to enqueue the signal operations in\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidResourceHandle\n    None\n        None\n\n    See Also\n    --------\n    cudaImportExternalSemaphore\n    cudaDestroyExternalSemaphore\n    cudaWaitExternalSemaphoresAsync\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_153cudaSignalExternalSemaphoresAsync = {"cudaSignalExternalSemaphoresAsync", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_153cudaSignalExternalSemaphoresAsync, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_152cudaSignalExternalSemaphoresAsync};
static PyObject *__pyx_pw_4cuda_6cudart_153cudaSignalExternalSemaphoresAsync(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, 9981, __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, 9981, __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, 9981, __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, 9981, __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, 9981, __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, 9981, __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_152cudaSignalExternalSemaphoresAsync(__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":10061
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     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
 */

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, 10061, __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, 10061, __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], 10061, 0, __PYX_ERR(0, 10061, __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, 10061, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_paramsArray)) { __Pyx_RaiseClosureNameError("paramsArray"); __PYX_ERR(0, 10061, __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, 10061, __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, 10061, __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, 10061, __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, 10061, __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, 10061, __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, 10061, __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, 10061, __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":10064
 *         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]")
 *     cdef ccudart.cudaExternalSemaphore_t* cextSemArray = NULL
 */

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, 10064, __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, 10064, __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], 10064, 0, __PYX_ERR(0, 10064, __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, 10064, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_extSemArray)) { __Pyx_RaiseClosureNameError("extSemArray"); __PYX_ERR(0, 10064, __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, 10064, __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, 10064, __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, 10064, __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, 10064, __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, 10064, __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, 10064, __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, 10064, __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":9981
 * 
 * @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_152cudaSignalExternalSemaphoresAsync(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;
  __pyx_t_4cuda_7ccudart_cudaExternalSemaphore_t *__pyx_v_cextSemArray;
  Py_ssize_t __pyx_v_idx;
  struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreSignalParams *__pyx_v_cparamsArray;
  __pyx_t_4cuda_7ccudart_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;
  PyObject *__pyx_t_5 = NULL;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  __pyx_t_4cuda_7ccudart_cudaExternalSemaphore_t *__pyx_t_10;
  struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreSignalParams *__pyx_t_11;
  __pyx_t_4cuda_7ccudart_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__409)
  __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, 9981, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __Pyx_TraceCall("cudaSignalExternalSemaphoresAsync", __pyx_f[0], 9981, 0, __PYX_ERR(0, 9981, __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":10058
 *     cudaWaitExternalSemaphoresAsync
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     paramsArray = [] if paramsArray is None else paramsArray
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":10059
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))             # <<<<<<<<<<<<<<
 *     paramsArray = [] if paramsArray is None else paramsArray
 *     if not all(isinstance(_x, (cudaExternalSemaphoreSignalParams)) for _x in paramsArray):
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_stream))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10059, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_stream_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10059, __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, 10059, __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, 10059, __pyx_L1_error)

    /* "cuda/cudart.pyx":10058
 *     cudaWaitExternalSemaphoresAsync
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     paramsArray = [] if paramsArray is None else paramsArray
 */
  }

  /* "cuda/cudart.pyx":10060
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     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_2 = (__pyx_cur_scope->__pyx_v_paramsArray == Py_None);
  if ((__pyx_t_2 != 0)) {
    __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10060, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_4 = __pyx_t_5;
    __pyx_t_5 = 0;
  } else {
    __Pyx_INCREF(__pyx_cur_scope->__pyx_v_paramsArray);
    __pyx_t_4 = __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_4);
  __Pyx_GIVEREF(__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":10061
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     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_pf_4cuda_6cudart_33cudaSignalExternalSemaphoresAsync_genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10061, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_Generator_Next(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10061, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 10061, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_1 = ((!__pyx_t_2) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "cuda/cudart.pyx":10062
 *     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
 *     if not all(isinstance(_x, (cudaExternalSemaphore_t)) for _x in extSemArray):
 */
    __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__410, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10062, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_Raise(__pyx_t_5, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __PYX_ERR(0, 10062, __pyx_L1_error)

    /* "cuda/cudart.pyx":10061
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     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
 */
  }

  /* "cuda/cudart.pyx":10063
 *     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             # <<<<<<<<<<<<<<
 *     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_1 = (__pyx_cur_scope->__pyx_v_extSemArray == Py_None);
  if ((__pyx_t_1 != 0)) {
    __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10063, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __pyx_t_4;
    __pyx_t_4 = 0;
  } else {
    __Pyx_INCREF(__pyx_cur_scope->__pyx_v_extSemArray);
    __pyx_t_5 = __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_5);
  __Pyx_GIVEREF(__pyx_t_5);
  __pyx_t_5 = 0;

  /* "cuda/cudart.pyx":10064
 *         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]")
 *     cdef ccudart.cudaExternalSemaphore_t* cextSemArray = NULL
 */
  __pyx_t_5 = __pyx_pf_4cuda_6cudart_33cudaSignalExternalSemaphoresAsync_3genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10064, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = __Pyx_Generator_Next(__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10064, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 10064, __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":10065
 *     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
 *     if len(extSemArray) > 0:
 */
    __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__411, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10065, __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, 10065, __pyx_L1_error)

    /* "cuda/cudart.pyx":10064
 *         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]")
 *     cdef ccudart.cudaExternalSemaphore_t* cextSemArray = NULL
 */
  }

  /* "cuda/cudart.pyx":10066
 *     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             # <<<<<<<<<<<<<<
 *     if len(extSemArray) > 0:
 *         cextSemArray = <ccudart.cudaExternalSemaphore_t*> calloc(len(extSemArray), sizeof(ccudart.cudaExternalSemaphore_t))
 */
  __pyx_v_cextSemArray = NULL;

  /* "cuda/cudart.pyx":10067
 *         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))
 *         if cextSemArray is NULL:
 */
  __pyx_t_4 = __pyx_cur_scope->__pyx_v_extSemArray;
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_6 = PyObject_Length(__pyx_t_4); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 10067, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_2 = ((__pyx_t_6 > 0) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":10068
 *     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_4 = __pyx_cur_scope->__pyx_v_extSemArray;
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_6 = PyObject_Length(__pyx_t_4); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 10068, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_cextSemArray = ((__pyx_t_4cuda_7ccudart_cudaExternalSemaphore_t *)calloc(__pyx_t_6, (sizeof(__pyx_t_4cuda_7ccudart_cudaExternalSemaphore_t))));

    /* "cuda/cudart.pyx":10069
 *     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_2 = ((__pyx_v_cextSemArray == NULL) != 0);
    if (unlikely(__pyx_t_2)) {

      /* "cuda/cudart.pyx":10070
 *         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_4 = __pyx_cur_scope->__pyx_v_extSemArray;
      __Pyx_INCREF(__pyx_t_4);
      __pyx_t_6 = PyObject_Length(__pyx_t_4); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 10070, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10070, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10070, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Failed_to_allocate_length_x_size_2, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10070, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_t_4, __pyx_n_u_x_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10070, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_4cuda_7ccudart_cudaExternalSemaphore_t))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10070, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10070, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_t_5, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10070, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10070, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(0, 10070, __pyx_L1_error)

      /* "cuda/cudart.pyx":10069
 *     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":10072
 *             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_7 = __pyx_cur_scope->__pyx_v_extSemArray;
      __Pyx_INCREF(__pyx_t_7);
      __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 10072, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_8 = __pyx_t_6;
      for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
        __pyx_v_idx = __pyx_t_9;

        /* "cuda/cudart.pyx":10073
 *         else:
 *             for idx in range(len(extSemArray)):
 *                 cextSemArray[idx] = (<cudaExternalSemaphore_t>extSemArray[idx])._ptr[0]             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaExternalSemaphoreSignalParams* cparamsArray = NULL
 */
        __pyx_t_7 = __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_7)) __PYX_ERR(0, 10073, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        (__pyx_v_cextSemArray[__pyx_v_idx]) = (((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphore_t *)__pyx_t_7)->_ptr[0]);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }

    /* "cuda/cudart.pyx":10067
 *         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))
 *         if cextSemArray is NULL:
 */
  }

  /* "cuda/cudart.pyx":10075
 *                 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":10076
 * 
 *     cdef ccudart.cudaExternalSemaphoreSignalParams* cparamsArray = NULL
 *     if len(paramsArray) > 0:             # <<<<<<<<<<<<<<
 *         cparamsArray = <ccudart.cudaExternalSemaphoreSignalParams*> calloc(len(paramsArray), sizeof(ccudart.cudaExternalSemaphoreSignalParams))
 *         if cparamsArray is NULL:
 */
  __pyx_t_7 = __pyx_cur_scope->__pyx_v_paramsArray;
  __Pyx_INCREF(__pyx_t_7);
  __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 10076, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_2 = ((__pyx_t_6 > 0) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":10077
 *     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_7 = __pyx_cur_scope->__pyx_v_paramsArray;
    __Pyx_INCREF(__pyx_t_7);
    __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 10077, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_v_cparamsArray = ((struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreSignalParams *)calloc(__pyx_t_6, (sizeof(struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreSignalParams))));

    /* "cuda/cudart.pyx":10078
 *     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_2 = ((__pyx_v_cparamsArray == NULL) != 0);
    if (unlikely(__pyx_t_2)) {

      /* "cuda/cudart.pyx":10079
 *         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_7 = __pyx_cur_scope->__pyx_v_paramsArray;
      __Pyx_INCREF(__pyx_t_7);
      __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 10079, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10079, __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, 10079, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Failed_to_allocate_length_x_size_2, __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10079, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_t_7, __pyx_n_u_x_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10079, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyInt_FromSize_t((sizeof(struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreSignalParams))); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10079, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10079, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10079, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __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_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10079, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_Raise(__pyx_t_5, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __PYX_ERR(0, 10079, __pyx_L1_error)

      /* "cuda/cudart.pyx":10078
 *     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":10080
 *         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_5 = __pyx_cur_scope->__pyx_v_paramsArray;
    __Pyx_INCREF(__pyx_t_5);
    __pyx_t_6 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 10080, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_8 = __pyx_t_6;
    for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
      __pyx_v_idx = __pyx_t_9;

      /* "cuda/cudart.pyx":10081
 *             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_5 = __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_5)) __PYX_ERR(0, 10081, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      (void)(memcpy((&(__pyx_v_cparamsArray[__pyx_v_idx])), ((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalParams *)__pyx_t_5)->_ptr, (sizeof(struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreSignalParams))));
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }

    /* "cuda/cudart.pyx":10076
 * 
 *     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":10083
 *             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, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 */
  __pyx_t_5 = __pyx_cur_scope->__pyx_v_extSemArray;
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_6 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 10083, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_2 = ((__pyx_v_numExtSems > __pyx_t_6) != 0);
  if (unlikely(__pyx_t_2)) {
    __pyx_t_5 = __pyx_cur_scope->__pyx_v_extSemArray;
    __Pyx_INCREF(__pyx_t_5);
    __pyx_t_6 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 10083, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10083, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_7 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10083, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_List_is_too_small, __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10083, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_t_5, __pyx_kp_u__395); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10083, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyInt_From_unsigned_int(__pyx_v_numExtSems); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10083, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10083, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_t_7, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10083, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10083, __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, 10083, __pyx_L1_error)
  }

  /* "cuda/cudart.pyx":10084
 * 
 *     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, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     if cextSemArray is not NULL:
 */
  __pyx_t_4 = __pyx_cur_scope->__pyx_v_paramsArray;
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_6 = PyObject_Length(__pyx_t_4); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 10084, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_2 = ((__pyx_v_numExtSems > __pyx_t_6) != 0);
  if (unlikely(__pyx_t_2)) {
    __pyx_t_4 = __pyx_cur_scope->__pyx_v_paramsArray;
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_6 = PyObject_Length(__pyx_t_4); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 10084, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10084, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10084, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_kp_u_List_is_too_small, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10084, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_t_4, __pyx_kp_u__395); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10084, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __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, 10084, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_7 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10084, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_t_5, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10084, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10084, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_Raise(__pyx_t_7, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __PYX_ERR(0, 10084, __pyx_L1_error)
  }

  /* "cuda/cudart.pyx":10085
 *     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, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])             # <<<<<<<<<<<<<<
 *     if cextSemArray is not NULL:
 *         free(cextSemArray)
 */
  __pyx_t_7 = __pyx_cur_scope->__pyx_v_extSemArray;
  __Pyx_INCREF(__pyx_t_7);
  __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 10085, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (((__pyx_t_6 == 1) != 0)) {
    __pyx_t_7 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_extSemArray, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10085, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_10 = ((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphore_t *)__pyx_t_7)->_ptr;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  } else {
    __pyx_t_10 = __pyx_v_cextSemArray;
  }
  __pyx_t_7 = __pyx_cur_scope->__pyx_v_paramsArray;
  __Pyx_INCREF(__pyx_t_7);
  __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 10085, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (((__pyx_t_6 == 1) != 0)) {
    __pyx_t_7 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_paramsArray, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10085, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_11 = ((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalParams *)__pyx_t_7)->_ptr;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  } else {
    __pyx_t_11 = __pyx_v_cparamsArray;
  }
  __pyx_t_12 = __pyx_f_4cuda_7ccudart_cudaSignalExternalSemaphoresAsync(__pyx_t_10, __pyx_t_11, __pyx_v_numExtSems, ((__pyx_t_4cuda_7ccudart_cudaStream_t)(((struct __pyx_obj_4cuda_6cudart_cudaStream_t *)__pyx_v_stream)->__pyx_base._ptr[0]))); if (unlikely(__pyx_t_12 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 10085, __pyx_L1_error)
  __pyx_v_err = __pyx_t_12;

  /* "cuda/cudart.pyx":10086
 *     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, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     if cextSemArray is not NULL:             # <<<<<<<<<<<<<<
 *         free(cextSemArray)
 *     if cparamsArray is not NULL:
 */
  __pyx_t_2 = ((__pyx_v_cextSemArray != NULL) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":10087
 *     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, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     if cextSemArray is not NULL:
 *         free(cextSemArray)             # <<<<<<<<<<<<<<
 *     if cparamsArray is not NULL:
 *         free(cparamsArray)
 */
    free(__pyx_v_cextSemArray);

    /* "cuda/cudart.pyx":10086
 *     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, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     if cextSemArray is not NULL:             # <<<<<<<<<<<<<<
 *         free(cextSemArray)
 *     if cparamsArray is not NULL:
 */
  }

  /* "cuda/cudart.pyx":10088
 *     if cextSemArray is not NULL:
 *         free(cextSemArray)
 *     if cparamsArray is not NULL:             # <<<<<<<<<<<<<<
 *         free(cparamsArray)
 *     return (cudaError_t(err),)
 */
  __pyx_t_2 = ((__pyx_v_cparamsArray != NULL) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":10089
 *         free(cextSemArray)
 *     if cparamsArray is not NULL:
 *         free(cparamsArray)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
    free(__pyx_v_cparamsArray);

    /* "cuda/cudart.pyx":10088
 *     if cextSemArray is not NULL:
 *         free(cextSemArray)
 *     if cparamsArray is not NULL:             # <<<<<<<<<<<<<<
 *         free(cparamsArray)
 *     return (cudaError_t(err),)
 */
  }

  /* "cuda/cudart.pyx":10090
 *     if cparamsArray is not NULL:
 *         free(cparamsArray)
 *     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, 10090, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10090, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __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_7 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_13, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5);
  __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10090, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10090, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_7);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_7);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":9981
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_AddTraceback("cuda.cudart.cudaSignalExternalSemaphoresAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __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":10093
 * 
 * @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_155cudaWaitExternalSemaphoresAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_154cudaWaitExternalSemaphoresAsync[] = "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    cudaExternalSemaphoreHandleTypeOpaqueFd,\n    cudaExternalSemaphoreHandleTypeOpaqueWin32,\n    cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt then waiting on the\n    semaphore will wait until the semaphore reaches the signaled state. The\n    semaphore will then be reset to the unsignaled state. Therefore for\n    every signal operation, there can only be one wait operation.\n\n    If the semaphore object is any one of the following types:\n    cudaExternalSemaphoreHandleTypeD3D12Fence,\n    cudaExternalSemaphoreHandleTypeD3D11Fence,\n    cudaExternalSemaphoreHandleTypeTimelineSemaphoreFd,\n    cudaExternalSemaphoreHandleTypeTimelineSemaphoreWin32 then waiting on\n    the semaphore will wait until the value of the semaphore is greater\n    than or equal to cudaExternalSemaphoreWaitParams::params::fence::value.\n\n    If the semaphore object is of the type\n    cudaExternalSemaphoreHandleTypeNvSciSync then, waiting on the semaphore\n    will wait until the\n    cudaExternalSemaphoreSignalParams::params::nvSciSync::fence is signaled\n    by the signaler of the NvSciSyncObj that was associated with this\n    semaphore object. By default, waiting on such an external semaphore\n    object causes appropriate memory synchronization operations to be\n    performed over all external memory objects that are imported as\n    cudaExternalMemoryHandleTypeNvSciBuf. This ensures that any subsequent\n    accesses made b""y other importers of the same set of NvSciBuf memory\n    object(s) are coherent. These operations can be skipped by specifying\n    the flag 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    cudaExternalSemaphoreHandleTypeNvSciSync, if the NvSciSyncAttrList used\n    to create the NvSciSyncObj had not set the flags in\n    cudaDeviceGetNvSciSyncAttributes to cudaNvSciSyncAttrWait, this API\n    will return cudaErrorNotSupported.\n\n    If the semaphore object is any one of the following types:\n    cudaExternalSemaphoreHandleTypeKeyedMutex,\n    cudaExternalSemaphoreHandleTypeKeyedMutexKmt, then the keyed mutex will\n    be acquired when it is released with the key specified in\n    cudaExternalSemaphoreSignalParams::params::keyedmutex::key or until the\n    timeout specified by\n    cudaExternalSemaphoreSignalParams::params::keyedmutex::timeoutMs has\n    lapsed. The timeout interval can either be a finite value specified in\n    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[cudaExternalSemaphore_t]\n        External semaphores to be waited on\n    paramsArray : List[cudaExternalSemaphoreWaitParams]\n        Array of semaphore parameters\n    numExtSems : unsigned int\n        Number of semaphores to wait on\n    stream : CUstream or cudaStream_t\n        Stream to enqueue the wait operations in\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidResourceHandle\n        cudaErrorTimeout\n    None\n        None\n\n    See Also\n    --------\n    cudaImportExternalSemaphore\n    cudaDestroyExternalSemap""hore\n    cudaSignalExternalSemaphoresAsync\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_155cudaWaitExternalSemaphoresAsync = {"cudaWaitExternalSemaphoresAsync", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_155cudaWaitExternalSemaphoresAsync, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_154cudaWaitExternalSemaphoresAsync};
static PyObject *__pyx_pw_4cuda_6cudart_155cudaWaitExternalSemaphoresAsync(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, 10093, __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, 10093, __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, 10093, __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, 10093, __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, 10093, __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, 10093, __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_154cudaWaitExternalSemaphoresAsync(__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":10180
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     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
 */

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, 10180, __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, 10180, __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], 10180, 0, __PYX_ERR(0, 10180, __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, 10180, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_paramsArray)) { __Pyx_RaiseClosureNameError("paramsArray"); __PYX_ERR(0, 10180, __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, 10180, __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, 10180, __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, 10180, __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, 10180, __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, 10180, __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, 10180, __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, 10180, __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":10183
 *         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]")
 *     cdef ccudart.cudaExternalSemaphore_t* cextSemArray = NULL
 */

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, 10183, __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, 10183, __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], 10183, 0, __PYX_ERR(0, 10183, __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, 10183, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_extSemArray)) { __Pyx_RaiseClosureNameError("extSemArray"); __PYX_ERR(0, 10183, __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, 10183, __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, 10183, __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, 10183, __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, 10183, __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, 10183, __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, 10183, __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, 10183, __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":10093
 * 
 * @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_154cudaWaitExternalSemaphoresAsync(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;
  __pyx_t_4cuda_7ccudart_cudaExternalSemaphore_t *__pyx_v_cextSemArray;
  Py_ssize_t __pyx_v_idx;
  struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreWaitParams *__pyx_v_cparamsArray;
  __pyx_t_4cuda_7ccudart_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;
  PyObject *__pyx_t_5 = NULL;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  __pyx_t_4cuda_7ccudart_cudaExternalSemaphore_t *__pyx_t_10;
  struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreWaitParams *__pyx_t_11;
  __pyx_t_4cuda_7ccudart_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__412)
  __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, 10093, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __Pyx_TraceCall("cudaWaitExternalSemaphoresAsync", __pyx_f[0], 10093, 0, __PYX_ERR(0, 10093, __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":10177
 *     cudaSignalExternalSemaphoresAsync
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     paramsArray = [] if paramsArray is None else paramsArray
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":10178
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))             # <<<<<<<<<<<<<<
 *     paramsArray = [] if paramsArray is None else paramsArray
 *     if not all(isinstance(_x, (cudaExternalSemaphoreWaitParams)) for _x in paramsArray):
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_stream))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10178, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_stream_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10178, __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, 10178, __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, 10178, __pyx_L1_error)

    /* "cuda/cudart.pyx":10177
 *     cudaSignalExternalSemaphoresAsync
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     paramsArray = [] if paramsArray is None else paramsArray
 */
  }

  /* "cuda/cudart.pyx":10179
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     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_2 = (__pyx_cur_scope->__pyx_v_paramsArray == Py_None);
  if ((__pyx_t_2 != 0)) {
    __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10179, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_4 = __pyx_t_5;
    __pyx_t_5 = 0;
  } else {
    __Pyx_INCREF(__pyx_cur_scope->__pyx_v_paramsArray);
    __pyx_t_4 = __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_4);
  __Pyx_GIVEREF(__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":10180
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     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_pf_4cuda_6cudart_31cudaWaitExternalSemaphoresAsync_genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10180, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_Generator_Next(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10180, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 10180, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_1 = ((!__pyx_t_2) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "cuda/cudart.pyx":10181
 *     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
 *     if not all(isinstance(_x, (cudaExternalSemaphore_t)) for _x in extSemArray):
 */
    __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__413, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10181, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_Raise(__pyx_t_5, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __PYX_ERR(0, 10181, __pyx_L1_error)

    /* "cuda/cudart.pyx":10180
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     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
 */
  }

  /* "cuda/cudart.pyx":10182
 *     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             # <<<<<<<<<<<<<<
 *     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_1 = (__pyx_cur_scope->__pyx_v_extSemArray == Py_None);
  if ((__pyx_t_1 != 0)) {
    __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10182, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __pyx_t_4;
    __pyx_t_4 = 0;
  } else {
    __Pyx_INCREF(__pyx_cur_scope->__pyx_v_extSemArray);
    __pyx_t_5 = __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_5);
  __Pyx_GIVEREF(__pyx_t_5);
  __pyx_t_5 = 0;

  /* "cuda/cudart.pyx":10183
 *         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]")
 *     cdef ccudart.cudaExternalSemaphore_t* cextSemArray = NULL
 */
  __pyx_t_5 = __pyx_pf_4cuda_6cudart_31cudaWaitExternalSemaphoresAsync_3genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10183, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = __Pyx_Generator_Next(__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10183, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 10183, __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":10184
 *     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
 *     if len(extSemArray) > 0:
 */
    __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__411, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10184, __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, 10184, __pyx_L1_error)

    /* "cuda/cudart.pyx":10183
 *         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]")
 *     cdef ccudart.cudaExternalSemaphore_t* cextSemArray = NULL
 */
  }

  /* "cuda/cudart.pyx":10185
 *     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             # <<<<<<<<<<<<<<
 *     if len(extSemArray) > 0:
 *         cextSemArray = <ccudart.cudaExternalSemaphore_t*> calloc(len(extSemArray), sizeof(ccudart.cudaExternalSemaphore_t))
 */
  __pyx_v_cextSemArray = NULL;

  /* "cuda/cudart.pyx":10186
 *         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))
 *         if cextSemArray is NULL:
 */
  __pyx_t_4 = __pyx_cur_scope->__pyx_v_extSemArray;
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_6 = PyObject_Length(__pyx_t_4); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 10186, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_2 = ((__pyx_t_6 > 0) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":10187
 *     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_4 = __pyx_cur_scope->__pyx_v_extSemArray;
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_6 = PyObject_Length(__pyx_t_4); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 10187, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_cextSemArray = ((__pyx_t_4cuda_7ccudart_cudaExternalSemaphore_t *)calloc(__pyx_t_6, (sizeof(__pyx_t_4cuda_7ccudart_cudaExternalSemaphore_t))));

    /* "cuda/cudart.pyx":10188
 *     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_2 = ((__pyx_v_cextSemArray == NULL) != 0);
    if (unlikely(__pyx_t_2)) {

      /* "cuda/cudart.pyx":10189
 *         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_4 = __pyx_cur_scope->__pyx_v_extSemArray;
      __Pyx_INCREF(__pyx_t_4);
      __pyx_t_6 = PyObject_Length(__pyx_t_4); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 10189, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10189, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10189, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Failed_to_allocate_length_x_size_2, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10189, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_t_4, __pyx_n_u_x_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10189, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_4cuda_7ccudart_cudaExternalSemaphore_t))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10189, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10189, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_t_5, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10189, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10189, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(0, 10189, __pyx_L1_error)

      /* "cuda/cudart.pyx":10188
 *     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":10191
 *             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_7 = __pyx_cur_scope->__pyx_v_extSemArray;
      __Pyx_INCREF(__pyx_t_7);
      __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 10191, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_8 = __pyx_t_6;
      for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
        __pyx_v_idx = __pyx_t_9;

        /* "cuda/cudart.pyx":10192
 *         else:
 *             for idx in range(len(extSemArray)):
 *                 cextSemArray[idx] = (<cudaExternalSemaphore_t>extSemArray[idx])._ptr[0]             # <<<<<<<<<<<<<<
 * 
 *     cdef ccudart.cudaExternalSemaphoreWaitParams* cparamsArray = NULL
 */
        __pyx_t_7 = __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_7)) __PYX_ERR(0, 10192, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        (__pyx_v_cextSemArray[__pyx_v_idx]) = (((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphore_t *)__pyx_t_7)->_ptr[0]);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }

    /* "cuda/cudart.pyx":10186
 *         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))
 *         if cextSemArray is NULL:
 */
  }

  /* "cuda/cudart.pyx":10194
 *                 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":10195
 * 
 *     cdef ccudart.cudaExternalSemaphoreWaitParams* cparamsArray = NULL
 *     if len(paramsArray) > 0:             # <<<<<<<<<<<<<<
 *         cparamsArray = <ccudart.cudaExternalSemaphoreWaitParams*> calloc(len(paramsArray), sizeof(ccudart.cudaExternalSemaphoreWaitParams))
 *         if cparamsArray is NULL:
 */
  __pyx_t_7 = __pyx_cur_scope->__pyx_v_paramsArray;
  __Pyx_INCREF(__pyx_t_7);
  __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 10195, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_2 = ((__pyx_t_6 > 0) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":10196
 *     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_7 = __pyx_cur_scope->__pyx_v_paramsArray;
    __Pyx_INCREF(__pyx_t_7);
    __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 10196, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_v_cparamsArray = ((struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreWaitParams *)calloc(__pyx_t_6, (sizeof(struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreWaitParams))));

    /* "cuda/cudart.pyx":10197
 *     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_2 = ((__pyx_v_cparamsArray == NULL) != 0);
    if (unlikely(__pyx_t_2)) {

      /* "cuda/cudart.pyx":10198
 *         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_7 = __pyx_cur_scope->__pyx_v_paramsArray;
      __Pyx_INCREF(__pyx_t_7);
      __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 10198, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10198, __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, 10198, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Failed_to_allocate_length_x_size_2, __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10198, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_t_7, __pyx_n_u_x_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10198, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyInt_FromSize_t((sizeof(struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreWaitParams))); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10198, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10198, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10198, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __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_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10198, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_Raise(__pyx_t_5, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __PYX_ERR(0, 10198, __pyx_L1_error)

      /* "cuda/cudart.pyx":10197
 *     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":10199
 *         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_5 = __pyx_cur_scope->__pyx_v_paramsArray;
    __Pyx_INCREF(__pyx_t_5);
    __pyx_t_6 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 10199, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_8 = __pyx_t_6;
    for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
      __pyx_v_idx = __pyx_t_9;

      /* "cuda/cudart.pyx":10200
 *             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_5 = __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_5)) __PYX_ERR(0, 10200, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      (void)(memcpy((&(__pyx_v_cparamsArray[__pyx_v_idx])), ((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitParams *)__pyx_t_5)->_ptr, (sizeof(struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreWaitParams))));
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }

    /* "cuda/cudart.pyx":10195
 * 
 *     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":10202
 *             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, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 */
  __pyx_t_5 = __pyx_cur_scope->__pyx_v_extSemArray;
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_6 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 10202, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_2 = ((__pyx_v_numExtSems > __pyx_t_6) != 0);
  if (unlikely(__pyx_t_2)) {
    __pyx_t_5 = __pyx_cur_scope->__pyx_v_extSemArray;
    __Pyx_INCREF(__pyx_t_5);
    __pyx_t_6 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 10202, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10202, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_7 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10202, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_List_is_too_small, __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10202, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_t_5, __pyx_kp_u__395); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10202, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyInt_From_unsigned_int(__pyx_v_numExtSems); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10202, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10202, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_t_7, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10202, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10202, __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, 10202, __pyx_L1_error)
  }

  /* "cuda/cudart.pyx":10203
 * 
 *     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, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     if cextSemArray is not NULL:
 */
  __pyx_t_4 = __pyx_cur_scope->__pyx_v_paramsArray;
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_6 = PyObject_Length(__pyx_t_4); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 10203, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_2 = ((__pyx_v_numExtSems > __pyx_t_6) != 0);
  if (unlikely(__pyx_t_2)) {
    __pyx_t_4 = __pyx_cur_scope->__pyx_v_paramsArray;
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_6 = PyObject_Length(__pyx_t_4); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 10203, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10203, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10203, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_kp_u_List_is_too_small, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10203, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_t_4, __pyx_kp_u__395); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10203, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __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, 10203, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_7 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10203, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_t_5, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10203, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10203, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_Raise(__pyx_t_7, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __PYX_ERR(0, 10203, __pyx_L1_error)
  }

  /* "cuda/cudart.pyx":10204
 *     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, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])             # <<<<<<<<<<<<<<
 *     if cextSemArray is not NULL:
 *         free(cextSemArray)
 */
  __pyx_t_7 = __pyx_cur_scope->__pyx_v_extSemArray;
  __Pyx_INCREF(__pyx_t_7);
  __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 10204, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (((__pyx_t_6 == 1) != 0)) {
    __pyx_t_7 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_extSemArray, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10204, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_10 = ((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphore_t *)__pyx_t_7)->_ptr;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  } else {
    __pyx_t_10 = __pyx_v_cextSemArray;
  }
  __pyx_t_7 = __pyx_cur_scope->__pyx_v_paramsArray;
  __Pyx_INCREF(__pyx_t_7);
  __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 10204, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (((__pyx_t_6 == 1) != 0)) {
    __pyx_t_7 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_paramsArray, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10204, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_11 = ((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitParams *)__pyx_t_7)->_ptr;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  } else {
    __pyx_t_11 = __pyx_v_cparamsArray;
  }
  __pyx_t_12 = __pyx_f_4cuda_7ccudart_cudaWaitExternalSemaphoresAsync(__pyx_t_10, __pyx_t_11, __pyx_v_numExtSems, ((__pyx_t_4cuda_7ccudart_cudaStream_t)(((struct __pyx_obj_4cuda_6cudart_cudaStream_t *)__pyx_v_stream)->__pyx_base._ptr[0]))); if (unlikely(__pyx_t_12 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 10204, __pyx_L1_error)
  __pyx_v_err = __pyx_t_12;

  /* "cuda/cudart.pyx":10205
 *     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, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     if cextSemArray is not NULL:             # <<<<<<<<<<<<<<
 *         free(cextSemArray)
 *     if cparamsArray is not NULL:
 */
  __pyx_t_2 = ((__pyx_v_cextSemArray != NULL) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":10206
 *     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, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     if cextSemArray is not NULL:
 *         free(cextSemArray)             # <<<<<<<<<<<<<<
 *     if cparamsArray is not NULL:
 *         free(cparamsArray)
 */
    free(__pyx_v_cextSemArray);

    /* "cuda/cudart.pyx":10205
 *     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, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     if cextSemArray is not NULL:             # <<<<<<<<<<<<<<
 *         free(cextSemArray)
 *     if cparamsArray is not NULL:
 */
  }

  /* "cuda/cudart.pyx":10207
 *     if cextSemArray is not NULL:
 *         free(cextSemArray)
 *     if cparamsArray is not NULL:             # <<<<<<<<<<<<<<
 *         free(cparamsArray)
 *     return (cudaError_t(err),)
 */
  __pyx_t_2 = ((__pyx_v_cparamsArray != NULL) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":10208
 *         free(cextSemArray)
 *     if cparamsArray is not NULL:
 *         free(cparamsArray)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
    free(__pyx_v_cparamsArray);

    /* "cuda/cudart.pyx":10207
 *     if cextSemArray is not NULL:
 *         free(cextSemArray)
 *     if cparamsArray is not NULL:             # <<<<<<<<<<<<<<
 *         free(cparamsArray)
 *     return (cudaError_t(err),)
 */
  }

  /* "cuda/cudart.pyx":10209
 *     if cparamsArray is not NULL:
 *         free(cparamsArray)
 *     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, 10209, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10209, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __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_7 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_13, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5);
  __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10209, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10209, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_7);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_7);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":10093
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_AddTraceback("cuda.cudart.cudaWaitExternalSemaphoresAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __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":10212
 * 
 * @cython.embedsignature(True)
 * def cudaDestroyExternalSemaphore(extSem not None : cudaExternalSemaphore_t):             # <<<<<<<<<<<<<<
 *     """ Destroys an external semaphore.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_157cudaDestroyExternalSemaphore(PyObject *__pyx_self, PyObject *__pyx_v_extSem); /*proto*/
static char __pyx_doc_4cuda_6cudart_156cudaDestroyExternalSemaphore[] = "cudaDestroyExternalSemaphore(cudaExternalSemaphore_t extSem: cudaExternalSemaphore_t)\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 : cudaExternalSemaphore_t\n        External semaphore to be destroyed\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidResourceHandle\n    None\n        None\n\n    See Also\n    --------\n    cudaImportExternalSemaphore\n    cudaSignalExternalSemaphoresAsync\n    cudaWaitExternalSemaphoresAsync\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_157cudaDestroyExternalSemaphore = {"cudaDestroyExternalSemaphore", (PyCFunction)__pyx_pw_4cuda_6cudart_157cudaDestroyExternalSemaphore, METH_O, __pyx_doc_4cuda_6cudart_156cudaDestroyExternalSemaphore};
static PyObject *__pyx_pw_4cuda_6cudart_157cudaDestroyExternalSemaphore(PyObject *__pyx_self, PyObject *__pyx_v_extSem) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaDestroyExternalSemaphore (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_extSem), __pyx_ptype_4cuda_6cudart_cudaExternalSemaphore_t, 0, "extSem", 0))) __PYX_ERR(0, 10212, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_156cudaDestroyExternalSemaphore(__pyx_self, ((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphore_t *)__pyx_v_extSem));

  /* 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_156cudaDestroyExternalSemaphore(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphore_t *__pyx_v_extSem) {
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __pyx_t_4cuda_7ccudart_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__414)
  __Pyx_RefNannySetupContext("cudaDestroyExternalSemaphore", 0);
  __Pyx_TraceCall("cudaDestroyExternalSemaphore", __pyx_f[0], 10212, 0, __PYX_ERR(0, 10212, __pyx_L1_error));

  /* "cuda/cudart.pyx":10238
 *     cudaWaitExternalSemaphoresAsync
 *     """
 *     err = ccudart.cudaDestroyExternalSemaphore(extSem._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_7ccudart_cudaDestroyExternalSemaphore((__pyx_v_extSem->_ptr[0])); if (unlikely(__pyx_t_1 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 10238, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":10239
 *     """
 *     err = ccudart.cudaDestroyExternalSemaphore(extSem._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, 10239, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10239, __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, 10239, __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, 10239, __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":10212
 * 
 * @cython.embedsignature(True)
 * def cudaDestroyExternalSemaphore(extSem not None : cudaExternalSemaphore_t):             # <<<<<<<<<<<<<<
 *     """ Destroys an external semaphore.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cudart.cudaDestroyExternalSemaphore", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":10242
 * 
 * @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_159cudaFuncSetCacheConfig(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_158cudaFuncSetCacheConfig[] = "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\n    `None`global function. If the specified function does not exist, then\n    cudaErrorInvalidDeviceFunction is returned. For templated functions,\n    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: ::cudaFuncCachePreferNone: no\n    preference for shared memory or L1 (default)\n    ::cudaFuncCachePreferShared: prefer larger shared memory and smaller L1\n    cache ::cudaFuncCachePreferL1: prefer larger L1 cache and smaller\n    shared memory ::cudaFuncCachePreferEqual: prefer equal size L1 cache\n    and shared memory\n\n    Parameters\n    ----------\n    func : Any\n        Device function symbol\n    cacheConfig : cudaFuncCache\n        Requested cache configuration\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidDeviceFunction\n    None\n        None\n\n    See Also\n    --------\n    cudaFuncGetAttributes\n    cudaLaunchKernel\n    cudaThreadGetCacheConfig\n    cudaThreadSetCacheConfig\n    cuFuncSetCacheConfig\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_159cudaFuncSetCacheConfig = {"cudaFuncSetCacheConfig", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_159cudaFuncSetCacheConfig, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_158cudaFuncSetCacheConfig};
static PyObject *__pyx_pw_4cuda_6cudart_159cudaFuncSetCacheConfig(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, 10242, __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, 10242, __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, 10242, __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, 10242, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_158cudaFuncSetCacheConfig(__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_158cudaFuncSetCacheConfig(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, PyObject *__pyx_v_cacheConfig) {
  PyObject *__pyx_v_cfunc = NULL;
  void *__pyx_v_cfunc_ptr;
  enum __pyx_t_4cuda_7ccudart_cudaFuncCache __pyx_v_ccacheConfig;
  __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaFuncCache __pyx_t_3;
  __pyx_t_4cuda_7ccudart_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__415)
  __Pyx_RefNannySetupContext("cudaFuncSetCacheConfig", 0);
  __Pyx_TraceCall("cudaFuncSetCacheConfig", __pyx_f[0], 10242, 0, __PYX_ERR(0, 10242, __pyx_L1_error));

  /* "cuda/cudart.pyx":10294
 *     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, 10294, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cfunc = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":10295
 *     """
 *     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, 10295, __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, 10295, __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":10296
 *     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, 10296, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = ((enum __pyx_t_4cuda_7ccudart_cudaFuncCache)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaFuncCache(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 10296, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_ccacheConfig = __pyx_t_3;

  /* "cuda/cudart.pyx":10297
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 10297, __pyx_L1_error)
  __pyx_v_err = __pyx_t_4;

  /* "cuda/cudart.pyx":10298
 *     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, 10298, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10298, __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, 10298, __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, 10298, __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":10242
 * 
 * @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":10301
 * 
 * @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_161cudaFuncSetSharedMemConfig(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_160cudaFuncSetSharedMemConfig[] = "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    cudaFuncSetSharedMemConfig will override the device wide setting set by\n    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: ::cudaSharedMemBankSizeDefault:\n    use the device's shared memory configuration when launching this\n    function. ::cudaSharedMemBankSizeFourByte: set shared memory bank width\n    to be four bytes natively when launching this function.\n    ::cudaSharedMemBankSizeEightByte: set shared memory bank width to be\n    eight bytes natively when launching this function.\n\n    Parameters\n    ----------\n    func : Any\n        Device function symbol\n    config : cudaSharedMemConfig\n        Requested shared memory configuration\n\n    Returns\n    -------\n    cu""daError_t\n        cudaSuccess\n        cudaErrorInvalidDeviceFunction\n        cudaErrorInvalidValue\n    None\n        None\n\n    See Also\n    --------\n    cudaDeviceSetSharedMemConfig\n    cudaDeviceGetSharedMemConfig\n    cudaDeviceSetCacheConfig\n    cudaDeviceGetCacheConfig\n    cudaFuncSetCacheConfig\n    cuFuncSetSharedMemConfig\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_161cudaFuncSetSharedMemConfig = {"cudaFuncSetSharedMemConfig", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_161cudaFuncSetSharedMemConfig, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_160cudaFuncSetSharedMemConfig};
static PyObject *__pyx_pw_4cuda_6cudart_161cudaFuncSetSharedMemConfig(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, 10301, __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, 10301, __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, 10301, __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, 10301, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_160cudaFuncSetSharedMemConfig(__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_160cudaFuncSetSharedMemConfig(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, PyObject *__pyx_v_config) {
  PyObject *__pyx_v_cfunc = NULL;
  void *__pyx_v_cfunc_ptr;
  enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig __pyx_v_cconfig;
  __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaSharedMemConfig __pyx_t_3;
  __pyx_t_4cuda_7ccudart_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__416)
  __Pyx_RefNannySetupContext("cudaFuncSetSharedMemConfig", 0);
  __Pyx_TraceCall("cudaFuncSetSharedMemConfig", __pyx_f[0], 10301, 0, __PYX_ERR(0, 10301, __pyx_L1_error));

  /* "cuda/cudart.pyx":10361
 *     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, 10361, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cfunc = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":10362
 *     """
 *     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, 10362, __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, 10362, __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":10363
 *     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, 10363, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = ((enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaSharedMemConfig(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 10363, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cconfig = __pyx_t_3;

  /* "cuda/cudart.pyx":10364
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 10364, __pyx_L1_error)
  __pyx_v_err = __pyx_t_4;

  /* "cuda/cudart.pyx":10365
 *     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, 10365, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10365, __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, 10365, __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, 10365, __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":10301
 * 
 * @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":10368
 * 
 * @cython.embedsignature(True)
 * def cudaFuncGetAttributes(func):             # <<<<<<<<<<<<<<
 *     """ Find out attributes for a given function.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_163cudaFuncGetAttributes(PyObject *__pyx_self, PyObject *__pyx_v_func); /*proto*/
static char __pyx_doc_4cuda_6cudart_162cudaFuncGetAttributes[] = "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`global function. The fetched attributes are placed in `attr`. If\n    the specified function does not exist, then\n    cudaErrorInvalidDeviceFunction is returned. For templated functions,\n    pass the function symbol as follows:\n    func_name<template_arg_0,...,template_arg_N>\n\n    Note that some function attributes such as maxThreadsPerBlock may vary\n    based on the device that is currently being used.\n\n    Parameters\n    ----------\n    func : Any\n        Device function symbol\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidDeviceFunction\n    attr : cudaFuncAttributes\n        Return pointer to function's attributes\n\n    See Also\n    --------\n    cudaFuncSetCacheConfig\n    cudaFuncGetAttributes\n    cudaLaunchKernel\n    cuFuncGetAttribute\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_163cudaFuncGetAttributes = {"cudaFuncGetAttributes", (PyCFunction)__pyx_pw_4cuda_6cudart_163cudaFuncGetAttributes, METH_O, __pyx_doc_4cuda_6cudart_162cudaFuncGetAttributes};
static PyObject *__pyx_pw_4cuda_6cudart_163cudaFuncGetAttributes(PyObject *__pyx_self, PyObject *__pyx_v_func) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaFuncGetAttributes (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_162cudaFuncGetAttributes(__pyx_self, ((PyObject *)__pyx_v_func));

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

static PyObject *__pyx_pf_4cuda_6cudart_162cudaFuncGetAttributes(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;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__417)
  __Pyx_RefNannySetupContext("cudaFuncGetAttributes", 0);
  __Pyx_TraceCall("cudaFuncGetAttributes", __pyx_f[0], 10368, 0, __PYX_ERR(0, 10368, __pyx_L1_error));

  /* "cuda/cudart.pyx":10402
 *     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, 10402, __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":10403
 *     """
 *     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, 10403, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cfunc = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":10404
 *     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, 10404, __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, 10404, __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":10405
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 10405, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cudart.pyx":10406
 *     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, 10406, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10406, __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, 10406, __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, 10406, __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":10368
 * 
 * @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":10409
 * 
 * @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_165cudaFuncSetAttribute(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_164cudaFuncSetAttribute[] = "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`global function. The enumeration defined by `attr` is set to the\n    value defined by `value`. If the specified function does not exist,\n    then cudaErrorInvalidDeviceFunction is returned. If the specified\n    attribute cannot be written, or if the value is incorrect, then\n    cudaErrorInvalidValue is returned.\n\n    Valid values for `attr` are:\n    ::cudaFuncAttributeMaxDynamicSharedMemorySize - The requested maximum\n    size in bytes of dynamically-allocated shared memory. The sum of this\n    value and the function attribute sharedSizeBytes cannot exceed the\n    device attribute cudaDevAttrMaxSharedMemoryPerBlockOptin. The maximal\n    size of requestable dynamic shared memory may differ by GPU\n    architecture. ::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 percent\n    of the total shared memory. See\n    cudaDevAttrMaxSharedMemoryPerMultiprocessor. This is only a hint, and\n    the driver can choose a different ratio if required to execute the\n    function.\n\n    Parameters\n    ----------\n    func : Any\n        Function to get attributes of\n    attr : cudaFuncAttribute\n        Attribute to set\n    value : int\n        Value to set\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidDeviceFunction\n        cudaErrorInvalidValue\n    None\n        None\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_165cudaFuncSetAttribute = {"cudaFuncSetAttribute", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_165cudaFuncSetAttribute, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_164cudaFuncSetAttribute};
static PyObject *__pyx_pw_4cuda_6cudart_165cudaFuncSetAttribute(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, 10409, __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, 10409, __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, 10409, __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, 10409, __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, 10409, __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, 10409, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_164cudaFuncSetAttribute(__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_164cudaFuncSetAttribute(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 __pyx_t_4cuda_7ccudart_cudaFuncAttribute __pyx_v_cattr;
  __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaFuncAttribute __pyx_t_3;
  __pyx_t_4cuda_7ccudart_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__418)
  __Pyx_RefNannySetupContext("cudaFuncSetAttribute", 0);
  __Pyx_TraceCall("cudaFuncSetAttribute", __pyx_f[0], 10409, 0, __PYX_ERR(0, 10409, __pyx_L1_error));

  /* "cuda/cudart.pyx":10453
 *         None
 *     """
 *     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, 10453, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cfunc = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":10454
 *     """
 *     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, 10454, __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, 10454, __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":10455
 *     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, 10455, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = ((enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaFuncAttribute(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 10455, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cattr = __pyx_t_3;

  /* "cuda/cudart.pyx":10456
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 10456, __pyx_L1_error)
  __pyx_v_err = __pyx_t_4;

  /* "cuda/cudart.pyx":10457
 *     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, 10457, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 10457, __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, 10457, __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, 10457, __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":10409
 * 
 * @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":10460
 * 
 * @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_167cudaSetDoubleForDevice(PyObject *__pyx_self, PyObject *__pyx_arg_d); /*proto*/
static char __pyx_doc_4cuda_6cudart_166cudaSetDoubleForDevice[] = "cudaSetDoubleForDevice(double d)\n Converts a double argument to be executed on a device.\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        cudaSuccess\n    None\n        None\n\n    See Also\n    --------\n    cudaFuncSetCacheConfig\n    cudaFuncGetAttributes\n    cudaSetDoubleForHost\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_167cudaSetDoubleForDevice = {"cudaSetDoubleForDevice", (PyCFunction)__pyx_pw_4cuda_6cudart_167cudaSetDoubleForDevice, METH_O, __pyx_doc_4cuda_6cudart_166cudaSetDoubleForDevice};
static PyObject *__pyx_pw_4cuda_6cudart_167cudaSetDoubleForDevice(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, 10460, __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_166cudaSetDoubleForDevice(__pyx_self, ((double)__pyx_v_d));

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

static PyObject *__pyx_pf_4cuda_6cudart_166cudaSetDoubleForDevice(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_d) {
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __pyx_t_4cuda_7ccudart_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__419)
  __Pyx_RefNannySetupContext("cudaSetDoubleForDevice", 0);
  __Pyx_TraceCall("cudaSetDoubleForDevice", __pyx_f[0], 10460, 0, __PYX_ERR(0, 10460, __pyx_L1_error));

  /* "cuda/cudart.pyx":10485
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 10485, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":10486
 *     """
 *     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, 10486, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10486, __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, 10486, __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, 10486, __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":10460
 * 
 * @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":10489
 * 
 * @cython.embedsignature(True)
 * def cudaSetDoubleForHost(double d):             # <<<<<<<<<<<<<<
 *     """ Converts a double argument after execution on a device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_169cudaSetDoubleForHost(PyObject *__pyx_self, PyObject *__pyx_arg_d); /*proto*/
static char __pyx_doc_4cuda_6cudart_168cudaSetDoubleForHost[] = "cudaSetDoubleForHost(double d)\n Converts a double argument after execution on a device.\n\n    DeprecatedThis function is deprecated as of CUDA 7.5\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        cudaSuccess\n    None\n        None\n\n    See Also\n    --------\n    cudaFuncSetCacheConfig\n    cudaFuncGetAttributes\n    cudaSetDoubleForDevice\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_169cudaSetDoubleForHost = {"cudaSetDoubleForHost", (PyCFunction)__pyx_pw_4cuda_6cudart_169cudaSetDoubleForHost, METH_O, __pyx_doc_4cuda_6cudart_168cudaSetDoubleForHost};
static PyObject *__pyx_pw_4cuda_6cudart_169cudaSetDoubleForHost(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, 10489, __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_168cudaSetDoubleForHost(__pyx_self, ((double)__pyx_v_d));

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

static PyObject *__pyx_pf_4cuda_6cudart_168cudaSetDoubleForHost(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_d) {
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __pyx_t_4cuda_7ccudart_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__420)
  __Pyx_RefNannySetupContext("cudaSetDoubleForHost", 0);
  __Pyx_TraceCall("cudaSetDoubleForHost", __pyx_f[0], 10489, 0, __PYX_ERR(0, 10489, __pyx_L1_error));

  /* "cuda/cudart.pyx":10516
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 10516, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":10517
 *     """
 *     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, 10517, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10517, __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, 10517, __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, 10517, __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":10489
 * 
 * @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":10520
 * 
 * @cython.embedsignature(True)
 * def cudaLaunchHostFunc(stream, fn not None : cudaHostFn_t, userData):             # <<<<<<<<<<<<<<
 *     """ Enqueues a host function call in a stream.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_171cudaLaunchHostFunc(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_170cudaLaunchHostFunc[] = "cudaLaunchHostFunc(stream, cudaHostFn_t fn: cudaHostFn_t, 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 cudaErrorNotPermitted, but this is not required.\n    The host function must not perform any synchronization that may depend\n    on outstanding CUDA work not mandated to run earlier. Host functions\n    without a mandated order (such as in independent streams) execute in\n    undefined order and may be serialized.\n\n    For the purposes of Unified Memory, execution makes a number of\n    guarantees:   The stream is considered idle for the duration of the\n    function's execution. Thus, for example, the function may always use\n    memory attached to the stream it was enqueued in.    The start of\n    execution of the function has the same effect as synchronizing an event\n    recorded in the same stream immediately prior to the function. It thus\n    synchronizes streams which have been \"joined\" prior to the function.\n    Adding device work to any stream does not have the effect of making the\n    stream active until all preceding host functions and stream callbacks\n    have executed. Thus, for example, a function might use global attached\n    memory even if work has been added to another stream, if the work has\n    been ordered behind the function call with an event.    Completion of\n    the function does not cause a stream to become active except as\n    described above. The stream will remain idle if no device work follows\n    the function, and will remain idle across consecutive host functions or\n    stream callbacks without device work in between. Thus, for example,\n    stream synchronization can be done by signaling from a host function at\n    the end of the stream.\n\n    Note"" that, in constrast to cuStreamAddCallback, the function will not\n    be called in the event of an error in the CUDA context.\n\n    Parameters\n    ----------\n    hStream : CUstream or cudaStream_t\n        Stream to enqueue function call in\n    fn : 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        cudaSuccess\n        cudaErrorInvalidResourceHandle\n        cudaErrorInvalidValue\n        cudaErrorNotSupported\n    None\n        None\n\n    See Also\n    --------\n    cudaStreamCreate\n    cudaStreamQuery\n    cudaStreamSynchronize\n    cudaStreamWaitEvent\n    cudaStreamDestroy\n    cudaMallocManaged\n    cudaStreamAttachMemAsync\n    cudaStreamAddCallback\n    cuLaunchHostFunc\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_171cudaLaunchHostFunc = {"cudaLaunchHostFunc", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_171cudaLaunchHostFunc, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_170cudaLaunchHostFunc};
static PyObject *__pyx_pw_4cuda_6cudart_171cudaLaunchHostFunc(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_stream = 0;
  struct __pyx_obj_4cuda_6cudart_cudaHostFn_t *__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, 10520, __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, 10520, __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, 10520, __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 = ((struct __pyx_obj_4cuda_6cudart_cudaHostFn_t *)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, 10520, __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:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_fn), __pyx_ptype_4cuda_6cudart_cudaHostFn_t, 0, "fn", 0))) __PYX_ERR(0, 10520, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_170cudaLaunchHostFunc(__pyx_self, __pyx_v_stream, __pyx_v_fn, __pyx_v_userData);

  /* 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_170cudaLaunchHostFunc(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream, struct __pyx_obj_4cuda_6cudart_cudaHostFn_t *__pyx_v_fn, PyObject *__pyx_v_userData) {
  PyObject *__pyx_v_cuserData = NULL;
  void *__pyx_v_cuserData_ptr;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_6;
  __pyx_t_4cuda_7ccudart_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__421)
  __Pyx_RefNannySetupContext("cudaLaunchHostFunc", 0);
  __Pyx_TraceCall("cudaLaunchHostFunc", __pyx_f[0], 10520, 0, __PYX_ERR(0, 10520, __pyx_L1_error));

  /* "cuda/cudart.pyx":10587
 *     cuLaunchHostFunc
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cuserData = utils.HelperInputVoidPtr(userData)
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":10588
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))             # <<<<<<<<<<<<<<
 *     cuserData = utils.HelperInputVoidPtr(userData)
 *     cdef void* cuserData_ptr = <void*><void_ptr>cuserData.cptr
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_stream))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10588, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_stream_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10588, __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, 10588, __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, 10588, __pyx_L1_error)

    /* "cuda/cudart.pyx":10587
 *     cuLaunchHostFunc
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cuserData = utils.HelperInputVoidPtr(userData)
 */
  }

  /* "cuda/cudart.pyx":10589
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cuserData = utils.HelperInputVoidPtr(userData)             # <<<<<<<<<<<<<<
 *     cdef void* cuserData_ptr = <void*><void_ptr>cuserData.cptr
 *     with nogil:
 */
  __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_userData); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10589, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_cuserData = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":10590
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cuserData = utils.HelperInputVoidPtr(userData)
 *     cdef void* cuserData_ptr = <void*><void_ptr>cuserData.cptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = ccudart.cudaLaunchHostFunc(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0], fn._ptr[0], cuserData_ptr)
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_cuserData, __pyx_n_s_cptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10590, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 10590, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cuserData_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_6));

  /* "cuda/cudart.pyx":10591
 *     cuserData = utils.HelperInputVoidPtr(userData)
 *     cdef void* cuserData_ptr = <void*><void_ptr>cuserData.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaLaunchHostFunc(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0], fn._ptr[0], cuserData_ptr)
 *     return (cudaError_t(err),)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":10592
 *     cdef void* cuserData_ptr = <void*><void_ptr>cuserData.cptr
 *     with nogil:
 *         err = ccudart.cudaLaunchHostFunc(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0], fn._ptr[0], cuserData_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
        __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaLaunchHostFunc(((__pyx_t_4cuda_7ccudart_cudaStream_t)(((struct __pyx_obj_4cuda_6cudart_cudaStream_t *)__pyx_v_stream)->__pyx_base._ptr[0])), (__pyx_v_fn->_ptr[0]), __pyx_v_cuserData_ptr); if (unlikely(__pyx_t_7 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 10592, __pyx_L7_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/cudart.pyx":10591
 *     cuserData = utils.HelperInputVoidPtr(userData)
 *     cdef void* cuserData_ptr = <void*><void_ptr>cuserData.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaLaunchHostFunc(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0], fn._ptr[0], cuserData_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":10593
 *     with nogil:
 *         err = ccudart.cudaLaunchHostFunc(<ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0], fn._ptr[0], 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, 10593, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_8 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 10593, __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_4 = (__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_4)) __PYX_ERR(0, 10593, __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, 10593, __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":10520
 * 
 * @cython.embedsignature(True)
 * def cudaLaunchHostFunc(stream, fn not None : cudaHostFn_t, userData):             # <<<<<<<<<<<<<<
 *     """ Enqueues a host function call in a stream.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __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_cuserData);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":10596
 * 
 * @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_173cudaOccupancyMaxActiveBlocksPerMultiprocessor(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_172cudaOccupancyMaxActiveBlocksPerMultiprocessor[] = "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        cudaSuccess\n        cudaErrorInvalidDevice\n        cudaErrorInvalidDeviceFunction\n        cudaErrorInvalidValue\n        cudaErrorUnknown\n    numBlocks : int\n        Returned occupancy\n\n    See Also\n    --------\n    cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags\n    cudaOccupancyMaxPotentialBlockSize\n    cudaOccupancyMaxPotentialBlockSizeWithFlags\n    cudaOccupancyMaxPotentialBlockSizeVariableSMem\n    cudaOccupancyMaxPotentialBlockSizeVariableSMemWithFlags\n    cudaOccupancyAvailableDynamicSMemPerBlock\n    cuOccupancyMaxActiveBlocksPerMultiprocessor\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_173cudaOccupancyMaxActiveBlocksPerMultiprocessor = {"cudaOccupancyMaxActiveBlocksPerMultiprocessor", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_173cudaOccupancyMaxActiveBlocksPerMultiprocessor, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_172cudaOccupancyMaxActiveBlocksPerMultiprocessor};
static PyObject *__pyx_pw_4cuda_6cudart_173cudaOccupancyMaxActiveBlocksPerMultiprocessor(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, 10596, __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, 10596, __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, 10596, __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, 10596, __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, 10596, __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, 10596, __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_172cudaOccupancyMaxActiveBlocksPerMultiprocessor(__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_172cudaOccupancyMaxActiveBlocksPerMultiprocessor(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;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__422)
  __Pyx_RefNannySetupContext("cudaOccupancyMaxActiveBlocksPerMultiprocessor", 0);
  __Pyx_TraceCall("cudaOccupancyMaxActiveBlocksPerMultiprocessor", __pyx_f[0], 10596, 0, __PYX_ERR(0, 10596, __pyx_L1_error));

  /* "cuda/cudart.pyx":10632
 *     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":10633
 *     """
 *     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, 10633, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cfunc = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":10634
 *     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, 10634, __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, 10634, __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":10635
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 10635, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cudart.pyx":10636
 *     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, 10636, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10636, __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, 10636, __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, 10636, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10636, __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":10596
 * 
 * @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":10639
 * 
 * @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_175cudaOccupancyAvailableDynamicSMemPerBlock(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_174cudaOccupancyAvailableDynamicSMemPerBlock[] = "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        cudaSuccess\n        cudaErrorInvalidDevice\n        cudaErrorInvalidDeviceFunction\n        cudaErrorInvalidValue\n        cudaErrorUnknown\n    dynamicSmemSize : int\n        Returned maximum dynamic shared memory\n\n    See Also\n    --------\n    cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags\n    cudaOccupancyMaxPotentialBlockSize\n    cudaOccupancyMaxPotentialBlockSizeWithFlags\n    cudaOccupancyMaxPotentialBlockSizeVariableSMem\n    cudaOccupancyMaxPotentialBlockSizeVariableSMemWithFlags\n    cudaOccupancyAvailableDynamicSMemPerBlock\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_175cudaOccupancyAvailableDynamicSMemPerBlock = {"cudaOccupancyAvailableDynamicSMemPerBlock", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_175cudaOccupancyAvailableDynamicSMemPerBlock, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_174cudaOccupancyAvailableDynamicSMemPerBlock};
static PyObject *__pyx_pw_4cuda_6cudart_175cudaOccupancyAvailableDynamicSMemPerBlock(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, 10639, __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, 10639, __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, 10639, __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, 10639, __pyx_L3_error)
    __pyx_v_blockSize = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_blockSize == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 10639, __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, 10639, __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_174cudaOccupancyAvailableDynamicSMemPerBlock(__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_174cudaOccupancyAvailableDynamicSMemPerBlock(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;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__423)
  __Pyx_RefNannySetupContext("cudaOccupancyAvailableDynamicSMemPerBlock", 0);
  __Pyx_TraceCall("cudaOccupancyAvailableDynamicSMemPerBlock", __pyx_f[0], 10639, 0, __PYX_ERR(0, 10639, __pyx_L1_error));

  /* "cuda/cudart.pyx":10674
 *     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":10675
 *     """
 *     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, 10675, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cfunc = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":10676
 *     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, 10676, __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, 10676, __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":10677
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 10677, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cudart.pyx":10678
 *     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, 10678, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10678, __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, 10678, __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, 10678, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10678, __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":10639
 * 
 * @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":10681
 * 
 * @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_177cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_176cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags[] = "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    cudaOccupancyDefault: keeps the default behavior as\n    cudaOccupancyMaxActiveBlocksPerMultiprocessor\n    cudaOccupancyDisableCachingOverride: This flag suppresses the default\n    behavior on platform where global caching affects occupancy. On such\n    platforms, if caching is enabled, but per-block SM resource usage would\n    result in zero occupancy, the occupancy calculator will calculate the\n    occupancy as if caching is disabled. Setting this flag makes the\n    occupancy calculator to return 0 in such cases. More information can be\n    found about this feature in the \"Unified L1/Texture Cache\" section of\n    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        cudaSuccess\n        cudaErrorInvalidDevice\n        cudaErrorInvalidDeviceFunction\n        cudaErrorInvalidValue\n        cudaErrorUnknown\n    numBlocks : int\n        Returned occupancy\n\n    See Also\n    --------\n    cudaOccupancyMaxActiveBlocksPerMultiprocessor\n    cudaOccupancyMaxPotentialBlockSize\n    cudaOccupancyMaxPotentialBlockSizeWithFlags\n    cudaOccupancyMaxPotentialBlockSizeVariableSMem\n    cudaOccupancyMaxPotentialBlockSizeVariableSMemWithFlags\n    cudaOccupancyAvailabl""eDynamicSMemPerBlock\n    cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_177cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags = {"cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_177cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_176cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags};
static PyObject *__pyx_pw_4cuda_6cudart_177cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(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, 10681, __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, 10681, __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, 10681, __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, 10681, __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, 10681, __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, 10681, __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, 10681, __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, 10681, __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_176cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(__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_176cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(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;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__424)
  __Pyx_RefNannySetupContext("cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags", 0);
  __Pyx_TraceCall("cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags", __pyx_f[0], 10681, 0, __PYX_ERR(0, 10681, __pyx_L1_error));

  /* "cuda/cudart.pyx":10733
 *     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":10734
 *     """
 *     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, 10734, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cfunc = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":10735
 *     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, 10735, __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, 10735, __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":10736
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 10736, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cudart.pyx":10737
 *     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, 10737, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10737, __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, 10737, __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, 10737, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10737, __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":10681
 * 
 * @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":10740
 * 
 * @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_179cudaMallocManaged(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_178cudaMallocManaged[] = "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, cudaErrorNotSupported is returned.\n    Support for managed memory can be queried using the device attribute\n    cudaDevAttrManagedMemory. The allocated memory is suitably aligned for\n    any kind of variable. The memory is not cleared. If `size` is 0,\n    cudaMallocManaged returns cudaErrorInvalidValue. The pointer is valid\n    on the CPU and on all GPUs in the system that support managed memory.\n    All accesses to this pointer must obey the Unified Memory programming\n    model.\n\n    `flags` specifies the default stream association for this allocation.\n    `flags` must be one of cudaMemAttachGlobal or cudaMemAttachHost. The\n    default value for `flags` is cudaMemAttachGlobal. If\n    cudaMemAttachGlobal is specified, then this memory is accessible from\n    any stream on any device. If cudaMemAttachHost is specified, then the\n    allocation should not be accessed from devices that have a zero value\n    for the device attribute cudaDevAttrConcurrentManagedAccess; an\n    explicit call to cudaStreamAttachMemAsync will be required to enable\n    access on such devices.\n\n    If the association is later changed via cudaStreamAttachMemAsync to a\n    single stream, the default association, as specifed during\n    cudaMallocManaged, is restored when that stream is destroyed. For\n    managed variables, the default association is always\n    cudaMemAttachGlobal. Note that destroying a stream is an asynchronous\n    operation, and as a result, the change to default association won't\n    happen until all work in the stream has completed.\n\n    Memory allocated with cudaMallocManaged should be released with\n    cudaFree.\n\n    Device memo""ry oversubscription is possible for GPUs that have a non-\n    zero value for the device attribute cudaDevAttrConcurrentManagedAccess.\n    Managed memory on such GPUs may be evicted from device memory to host\n    memory at any time by the Unified Memory driver in order to make room\n    for other allocations.\n\n    In a multi-GPU system where all GPUs have a non-zero value for the\n    device attribute cudaDevAttrConcurrentManagedAccess, managed memory may\n    not be populated when this API returns and instead may be populated on\n    access. In such systems, managed memory can migrate to any processor's\n    memory at any time. The Unified Memory driver will employ heuristics to\n    maintain data locality and prevent excessive page faults to the extent\n    possible. The application can also guide the driver about memory usage\n    patterns via cudaMemAdvise. The application can also explicitly migrate\n    memory to a desired processor's memory via cudaMemPrefetchAsync.\n\n    In a multi-GPU system where all of the GPUs have a zero value for the\n    device attribute cudaDevAttrConcurrentManagedAccess and all the GPUs\n    have peer-to-peer support with each other, the physical storage for\n    managed memory is created on the GPU which is active at the time\n    cudaMallocManaged is called. All other GPUs will reference the data at\n    reduced bandwidth via peer mappings over the PCIe bus. The Unified\n    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    cudaDevAttrConcurrentManagedAccess is zero for at least one of those\n    GPUs, the location chosen for physical storage of managed memory is\n    system-dependent. On Linux, the location chosen will be device memory\n    as long as the current set of active contexts are on devices that\n    either have peer-to-peer support with each other or have a non-zero""\n    value for the device attribute cudaDevAttrConcurrentManagedAccess. If\n    there is an active context on a GPU that does not have a non-zero value\n    for that device attribute and it does not have peer-to-peer support\n    with the other devices that have active contexts on them, then the\n    location for physical storage will be 'zero-copy' or host memory. Note\n    that this means that managed memory that is located in device memory is\n    migrated to host memory if a new context is created on a GPU that\n    doesn't have a non-zero value for the device attribute and does not\n    support peer-to-peer with at least one of the other devices that has an\n    active context. This in turn implies that context creation may fail if\n    there is insufficient host memory to migrate all managed allocations.\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 over\n    the PCIe bus. In these circumstances, use of the environment variable\n    CUDA_VISIBLE_DEVICES is recommended to restrict CUDA to only use those\n    GPUs that have peer-to-peer support. Alternatively, users can also set\n    CUDA_MANAGED_FORCE_DEVICE_ALLOC to a non-zero value to force the driver\n    to always use device memory for physical storage. When this environment\n    variable is set to a non-zero value, all devices used in that process\n    that support managed memory have to be peer-to-peer compatible with\n    each other. The error cudaErrorInvalidDevice will be returned if a\n    device that supports managed memory is used and it is not peer-to-peer\n    compatible with any of the other managed memory supporting devices that\n    were previously used in that process, even if cudaDeviceReset has been\n    called on those devices. These environment variables are described in\n    the CUDA programming guide under the \"CUDA environment variables\"\n    section.\n\n    Parameters\n    ----------""\n    size : size_t\n        Requested allocation size in bytes\n    flags : unsigned int\n        Must be either cudaMemAttachGlobal or cudaMemAttachHost (defaults\n        to cudaMemAttachGlobal)\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorMemoryAllocation\n        cudaErrorNotSupported\n        cudaErrorInvalidValue\n    devPtr : int\n        Pointer to allocated device memory\n\n    See Also\n    --------\n    cudaMallocPitch\n    cudaFree\n    cudaMallocArray\n    cudaFreeArray\n    cudaMalloc3D\n    cudaMalloc3DArray\n    cudaMallocHost\n    cudaFreeHost\n    cudaHostAlloc\n    cudaDeviceGetAttribute\n    cudaStreamAttachMemAsync\n    cuMemAllocManaged\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_179cudaMallocManaged = {"cudaMallocManaged", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_179cudaMallocManaged, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_178cudaMallocManaged};
static PyObject *__pyx_pw_4cuda_6cudart_179cudaMallocManaged(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, 10740, __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, 10740, __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, 10740, __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, 10740, __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, 10740, __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_178cudaMallocManaged(__pyx_self, __pyx_v_size, __pyx_v_flags);

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

static PyObject *__pyx_pf_4cuda_6cudart_178cudaMallocManaged(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_size, unsigned int __pyx_v_flags) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v_devPtr;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __pyx_t_4cuda_7ccudart_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__425)
  __Pyx_RefNannySetupContext("cudaMallocManaged", 0);
  __Pyx_TraceCall("cudaMallocManaged", __pyx_f[0], 10740, 0, __PYX_ERR(0, 10740, __pyx_L1_error));

  /* "cuda/cudart.pyx":10867
 *     cuMemAllocManaged
 *     """
 *     cdef void_ptr devPtr = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = ccudart.cudaMallocManaged(<void**>&devPtr, size, flags)
 */
  __pyx_v_devPtr = 0;

  /* "cuda/cudart.pyx":10868
 *     """
 *     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":10869
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 10869, __pyx_L4_error)
        __pyx_v_err = __pyx_t_1;
      }

      /* "cuda/cudart.pyx":10868
 *     """
 *     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":10870
 *     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, 10870, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10870, __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, 10870, __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, 10870, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10870, __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":10740
 * 
 * @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":10873
 * 
 * @cython.embedsignature(True)
 * def cudaMalloc(size_t size):             # <<<<<<<<<<<<<<
 *     """ Allocate memory on the device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_181cudaMalloc(PyObject *__pyx_self, PyObject *__pyx_arg_size); /*proto*/
static char __pyx_doc_4cuda_6cudart_180cudaMalloc[] = "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    cudaMalloc() returns cudaErrorMemoryAllocation in case of failure.\n\n    The device version of cudaFree cannot be used with a `*devPtr`\n    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        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorMemoryAllocation\n    devPtr : int\n        Pointer to allocated device memory\n\n    See Also\n    --------\n    cudaMallocPitch\n    cudaFree\n    cudaMallocArray\n    cudaFreeArray\n    cudaMalloc3D\n    cudaMalloc3DArray\n    cudaMallocHost\n    cudaFreeHost\n    cudaHostAlloc\n    cuMemAlloc\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_181cudaMalloc = {"cudaMalloc", (PyCFunction)__pyx_pw_4cuda_6cudart_181cudaMalloc, METH_O, __pyx_doc_4cuda_6cudart_180cudaMalloc};
static PyObject *__pyx_pw_4cuda_6cudart_181cudaMalloc(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, 10873, __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_180cudaMalloc(__pyx_self, ((size_t)__pyx_v_size));

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

static PyObject *__pyx_pf_4cuda_6cudart_180cudaMalloc(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_size) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v_devPtr;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __pyx_t_4cuda_7ccudart_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__426)
  __Pyx_RefNannySetupContext("cudaMalloc", 0);
  __Pyx_TraceCall("cudaMalloc", __pyx_f[0], 10873, 0, __PYX_ERR(0, 10873, __pyx_L1_error));

  /* "cuda/cudart.pyx":10911
 *     cuMemAlloc
 *     """
 *     cdef void_ptr devPtr = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = ccudart.cudaMalloc(<void**>&devPtr, size)
 */
  __pyx_v_devPtr = 0;

  /* "cuda/cudart.pyx":10912
 *     """
 *     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":10913
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 10913, __pyx_L4_error)
        __pyx_v_err = __pyx_t_1;
      }

      /* "cuda/cudart.pyx":10912
 *     """
 *     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":10914
 *     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, 10914, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10914, __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, 10914, __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, 10914, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10914, __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":10873
 * 
 * @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":10917
 * 
 * @cython.embedsignature(True)
 * def cudaMallocHost(size_t size):             # <<<<<<<<<<<<<<
 *     """ Allocates page-locked memory on the host.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_183cudaMallocHost(PyObject *__pyx_self, PyObject *__pyx_arg_size); /*proto*/
static char __pyx_doc_4cuda_6cudart_182cudaMallocHost[] = "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 cudaMemcpy*(). Since the memory can be accessed\n    directly by the device, it can be read or written with much higher\n    bandwidth than pageable memory obtained with functions such as\n    malloc(). Allocating excessive amounts of memory with cudaMallocHost()\n    may 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    Parameters\n    ----------\n    size : size_t\n        Requested allocation size in bytes\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorMemoryAllocation\n    ptr : int\n        Pointer to allocated host memory\n\n    See Also\n    --------\n    cudaMalloc\n    cudaMallocPitch\n    cudaMallocArray\n    cudaMalloc3D\n    cudaMalloc3DArray\n    cudaHostAlloc\n    cudaFree\n    cudaFreeArray\n    cudaMallocHost\n    cudaFreeHost\n    cuMemAllocHost\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_183cudaMallocHost = {"cudaMallocHost", (PyCFunction)__pyx_pw_4cuda_6cudart_183cudaMallocHost, METH_O, __pyx_doc_4cuda_6cudart_182cudaMallocHost};
static PyObject *__pyx_pw_4cuda_6cudart_183cudaMallocHost(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, 10917, __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_182cudaMallocHost(__pyx_self, ((size_t)__pyx_v_size));

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

static PyObject *__pyx_pf_4cuda_6cudart_182cudaMallocHost(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_size) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v_ptr;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __pyx_t_4cuda_7ccudart_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__427)
  __Pyx_RefNannySetupContext("cudaMallocHost", 0);
  __Pyx_TraceCall("cudaMallocHost", __pyx_f[0], 10917, 0, __PYX_ERR(0, 10917, __pyx_L1_error));

  /* "cuda/cudart.pyx":10960
 *     cuMemAllocHost
 *     """
 *     cdef void_ptr ptr = 0             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaMallocHost(<void**>&ptr, size)
 *     return (cudaError_t(err), ptr)
 */
  __pyx_v_ptr = 0;

  /* "cuda/cudart.pyx":10961
 *     """
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 10961, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":10962
 *     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, 10962, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10962, __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, 10962, __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, 10962, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10962, __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":10917
 * 
 * @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":10965
 * 
 * @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_185cudaMallocPitch(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_184cudaMallocPitch[] = "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 cudaMallocPitch() is the\n    width in bytes of the allocation. The intended usage of `pitch` is as a\n    separate parameter of the allocation, used to compute addresses within\n    the 2D array. Given the row and column of an array element of type `T`,\n    the address is computed as:\n    T*pElement=(T*)((char*)BaseAddress+Row*pitch)+Column;\n\n    For allocations of 2D arrays, it is recommended that programmers\n    consider performing pitch allocations using cudaMallocPitch(). Due to\n    pitch alignment restrictions in the hardware, this is especially true\n    if the application will be performing 2D memory copies between\n    different regions of device memory (whether linear memory or CUDA\n    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        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorMemoryAllocation\n    devPtr : int\n        Pointer to allocated pitched device memory\n    pitch : int\n        Pitch for allocation\n\n    See Also\n    --------\n    cudaMalloc\n    cudaFree\n    cudaMallocArray\n    cudaFreeArray\n    cudaMallocHost\n    cudaFreeHost\n    cudaMalloc3D\n    cudaMalloc3DArray\n    cudaHostAlloc\n    cuMemAllocPitch\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_185cudaMallocPitch = {"cudaMallocPitch", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_185cudaMallocPitch, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_184cudaMallocPitch};
static PyObject *__pyx_pw_4cuda_6cudart_185cudaMallocPitch(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, 10965, __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, 10965, __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, 10965, __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, 10965, __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, 10965, __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_184cudaMallocPitch(__pyx_self, __pyx_v_width, __pyx_v_height);

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

static PyObject *__pyx_pf_4cuda_6cudart_184cudaMallocPitch(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;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __pyx_t_4cuda_7ccudart_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__428)
  __Pyx_RefNannySetupContext("cudaMallocPitch", 0);
  __Pyx_TraceCall("cudaMallocPitch", __pyx_f[0], 10965, 0, __PYX_ERR(0, 10965, __pyx_L1_error));

  /* "cuda/cudart.pyx":11018
 *     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":11019
 *     """
 *     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":11020
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 11020, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":11021
 *     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, 11021, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11021, __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, 11021, __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, 11021, __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, 11021, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 11021, __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":10965
 * 
 * @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":11024
 * 
 * @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_187cudaMallocArray(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_186cudaMallocArray[] = "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 cudaChannelFormatDesc structure\n    `desc` and returns a handle to the new CUDA array in `*array`.\n\n    The cudaChannelFormatDesc is defined as: structcudaChannelFormatDesc{\n    intx,y,z,w; enumcudaChannelFormatKindf; }; where cudaChannelFormatKind\n    is one of cudaChannelFormatKindSigned, cudaChannelFormatKindUnsigned,\n    or cudaChannelFormatKindFloat.\n\n    The `flags` parameter enables different options to be specified that\n    affect the allocation, as follows. cudaArrayDefault: This flag's value\n    is defined to be 0 and provides default array allocation\n    cudaArraySurfaceLoadStore: Allocates an array that can be read from or\n    written to using a surface reference cudaArrayTextureGather: This flag\n    indicates that texture gather operations will be performed on the\n    array. cudaArraySparse: Allocates a CUDA array without physical backing\n    memory. The subregions within this sparse array can later be mapped to\n    physical memory by calling cuMemMapArrayAsync. The physical backing\n    memory must be allocated via cuMemCreate.\n\n    `width` and `height` must meet certain size requirements. See\n    cudaMalloc3DArray() for more details.\n\n    Parameters\n    ----------\n    desc : cudaChannelFormatDesc\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        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorMemoryAllocation\n    array : cudaArray_t\n        Pointer to allocated array in device memory\n\n    See Also\n    --------\n    cudaMalloc\n    cudaMallocPitch\n    cudaFree\n    cudaFreeArray""\n    cudaMallocHost\n    cudaFreeHost\n    cudaMalloc3D\n    cudaMalloc3DArray\n    cudaHostAlloc\n    cuArrayCreate\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_187cudaMallocArray = {"cudaMallocArray", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_187cudaMallocArray, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_186cudaMallocArray};
static PyObject *__pyx_pw_4cuda_6cudart_187cudaMallocArray(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, 11024, __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, 11024, __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, 11024, __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, 11024, __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, 11024, __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, 11024, __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, 11024, __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, 11024, __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, 11024, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_186cudaMallocArray(__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_186cudaMallocArray(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 __pyx_t_4cuda_7ccudart_cudaChannelFormatDesc *__pyx_v_cdesc_ptr;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  struct __pyx_t_4cuda_7ccudart_cudaChannelFormatDesc *__pyx_t_2;
  int __pyx_t_3;
  __pyx_t_4cuda_7ccudart_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__429)
  __Pyx_RefNannySetupContext("cudaMallocArray", 0);
  __Pyx_TraceCall("cudaMallocArray", __pyx_f[0], 11024, 0, __PYX_ERR(0, 11024, __pyx_L1_error));

  /* "cuda/cudart.pyx":11082
 *     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, 11082, __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":11083
 *     """
 *     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, 11083, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 11083, __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":11084
 *     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":11085
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 11085, __pyx_L4_error)
        __pyx_v_err = __pyx_t_4;
      }

      /* "cuda/cudart.pyx":11084
 *     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":11086
 *     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, 11086, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11086, __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, 11086, __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, 11086, __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":11024
 * 
 * @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":11089
 * 
 * @cython.embedsignature(True)
 * def cudaFree(devPtr):             # <<<<<<<<<<<<<<
 *     """ Frees memory on the device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_189cudaFree(PyObject *__pyx_self, PyObject *__pyx_v_devPtr); /*proto*/
static char __pyx_doc_4cuda_6cudart_188cudaFree[] = "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 cudaMalloc() or cudaMallocPitch().\n    Otherwise, or if cudaFree(`devPtr`) has already been called before, an\n    error is returned. If `devPtr` is 0, no operation is performed.\n    cudaFree() returns cudaErrorValue in case of failure.\n\n    The device version of cudaFree cannot be used with a `*devPtr`\n    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        cudaSuccess\n        cudaErrorInvalidValue\n    None\n        None\n\n    See Also\n    --------\n    cudaMalloc\n    cudaMallocPitch\n    cudaMallocArray\n    cudaFreeArray\n    cudaMallocHost\n    cudaFreeHost\n    cudaMalloc3D\n    cudaMalloc3DArray\n    cudaHostAlloc\n    cuMemFree\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_189cudaFree = {"cudaFree", (PyCFunction)__pyx_pw_4cuda_6cudart_189cudaFree, METH_O, __pyx_doc_4cuda_6cudart_188cudaFree};
static PyObject *__pyx_pw_4cuda_6cudart_189cudaFree(PyObject *__pyx_self, PyObject *__pyx_v_devPtr) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaFree (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_188cudaFree(__pyx_self, ((PyObject *)__pyx_v_devPtr));

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

static PyObject *__pyx_pf_4cuda_6cudart_188cudaFree(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_devPtr) {
  PyObject *__pyx_v_cdevPtr = NULL;
  void *__pyx_v_cdevPtr_ptr;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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("cudaFree", 0);
  __Pyx_TraceCall("cudaFree", __pyx_f[0], 11089, 0, __PYX_ERR(0, 11089, __pyx_L1_error));

  /* "cuda/cudart.pyx":11127
 *     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, 11127, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cdevPtr = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":11128
 *     """
 *     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, 11128, __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, 11128, __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":11129
 *     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":11130
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 11130, __pyx_L4_error)
        __pyx_v_err = __pyx_t_3;
      }

      /* "cuda/cudart.pyx":11129
 *     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":11131
 *     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, 11131, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 11131, __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, 11131, __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, 11131, __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":11089
 * 
 * @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":11134
 * 
 * @cython.embedsignature(True)
 * def cudaFreeHost(ptr):             # <<<<<<<<<<<<<<
 *     """ Frees page-locked memory.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_191cudaFreeHost(PyObject *__pyx_self, PyObject *__pyx_v_ptr); /*proto*/
static char __pyx_doc_4cuda_6cudart_190cudaFreeHost[] = "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 cudaMallocHost() or cudaHostAlloc().\n\n    Parameters\n    ----------\n    ptr : Any\n        Pointer to memory to free\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    None\n        None\n\n    See Also\n    --------\n    cudaMalloc\n    cudaMallocPitch\n    cudaFree\n    cudaMallocArray\n    cudaFreeArray\n    cudaMallocHost\n    cudaMalloc3D\n    cudaMalloc3DArray\n    cudaHostAlloc\n    cuMemFreeHost\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_191cudaFreeHost = {"cudaFreeHost", (PyCFunction)__pyx_pw_4cuda_6cudart_191cudaFreeHost, METH_O, __pyx_doc_4cuda_6cudart_190cudaFreeHost};
static PyObject *__pyx_pw_4cuda_6cudart_191cudaFreeHost(PyObject *__pyx_self, PyObject *__pyx_v_ptr) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaFreeHost (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_190cudaFreeHost(__pyx_self, ((PyObject *)__pyx_v_ptr));

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

static PyObject *__pyx_pf_4cuda_6cudart_190cudaFreeHost(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ptr) {
  PyObject *__pyx_v_cptr = NULL;
  void *__pyx_v_cptr_ptr;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__431)
  __Pyx_RefNannySetupContext("cudaFreeHost", 0);
  __Pyx_TraceCall("cudaFreeHost", __pyx_f[0], 11134, 0, __PYX_ERR(0, 11134, __pyx_L1_error));

  /* "cuda/cudart.pyx":11166
 *     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, 11166, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cptr = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":11167
 *     """
 *     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, 11167, __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, 11167, __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":11168
 *     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":11169
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 11169, __pyx_L4_error)
        __pyx_v_err = __pyx_t_3;
      }

      /* "cuda/cudart.pyx":11168
 *     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":11170
 *     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, 11170, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 11170, __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, 11170, __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, 11170, __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":11134
 * 
 * @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":11173
 * 
 * @cython.embedsignature(True)
 * def cudaFreeArray(array not None : cudaArray_t):             # <<<<<<<<<<<<<<
 *     """ Frees an array on the device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_193cudaFreeArray(PyObject *__pyx_self, PyObject *__pyx_v_array); /*proto*/
static char __pyx_doc_4cuda_6cudart_192cudaFreeArray[] = "cudaFreeArray(cudaArray_t array: cudaArray_t)\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 cudaMallocArray(). If `devPtr` is 0, no operation is\n    performed.\n\n    Parameters\n    ----------\n    array : cudaArray_t\n        Pointer to array to free\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    None\n        None\n\n    See Also\n    --------\n    cudaMalloc\n    cudaMallocPitch\n    cudaFree\n    cudaMallocArray\n    cudaMallocHost\n    cudaFreeHost\n    cudaHostAlloc\n    cuArrayDestroy\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_193cudaFreeArray = {"cudaFreeArray", (PyCFunction)__pyx_pw_4cuda_6cudart_193cudaFreeArray, METH_O, __pyx_doc_4cuda_6cudart_192cudaFreeArray};
static PyObject *__pyx_pw_4cuda_6cudart_193cudaFreeArray(PyObject *__pyx_self, PyObject *__pyx_v_array) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaFreeArray (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_array), __pyx_ptype_4cuda_6cudart_cudaArray_t, 0, "array", 0))) __PYX_ERR(0, 11173, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_192cudaFreeArray(__pyx_self, ((struct __pyx_obj_4cuda_6cudart_cudaArray_t *)__pyx_v_array));

  /* 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_192cudaFreeArray(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaArray_t *__pyx_v_array) {
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __pyx_t_4cuda_7ccudart_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__432)
  __Pyx_RefNannySetupContext("cudaFreeArray", 0);
  __Pyx_TraceCall("cudaFreeArray", __pyx_f[0], 11173, 0, __PYX_ERR(0, 11173, __pyx_L1_error));

  /* "cuda/cudart.pyx":11204
 *     cuArrayDestroy
 *     """
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaFreeArray(array._ptr[0])
 *     return (cudaError_t(err),)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":11205
 *     """
 *     with nogil:
 *         err = ccudart.cudaFreeArray(array._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
        __pyx_t_1 = __pyx_f_4cuda_7ccudart_cudaFreeArray((__pyx_v_array->_ptr[0])); if (unlikely(__pyx_t_1 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 11205, __pyx_L4_error)
        __pyx_v_err = __pyx_t_1;
      }

      /* "cuda/cudart.pyx":11204
 *     cuArrayDestroy
 *     """
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaFreeArray(array._ptr[0])
 *     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":11206
 *     with nogil:
 *         err = ccudart.cudaFreeArray(array._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, 11206, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11206, __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, 11206, __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, 11206, __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":11173
 * 
 * @cython.embedsignature(True)
 * def cudaFreeArray(array not None : cudaArray_t):             # <<<<<<<<<<<<<<
 *     """ Frees an array 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.cudaFreeArray", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":11209
 * 
 * @cython.embedsignature(True)
 * def cudaFreeMipmappedArray(mipmappedArray not None : cudaMipmappedArray_t):             # <<<<<<<<<<<<<<
 *     """ Frees a mipmapped array on the device.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_195cudaFreeMipmappedArray(PyObject *__pyx_self, PyObject *__pyx_v_mipmappedArray); /*proto*/
static char __pyx_doc_4cuda_6cudart_194cudaFreeMipmappedArray[] = "cudaFreeMipmappedArray(cudaMipmappedArray_t mipmappedArray: cudaMipmappedArray_t)\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 cudaMallocMipmappedArray(). If `devPtr`\n    is 0, no operation is performed.\n\n    Parameters\n    ----------\n    mipmappedArray : cudaMipmappedArray_t\n        Pointer to mipmapped array to free\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    None\n        None\n\n    See Also\n    --------\n    cudaMalloc\n    cudaMallocPitch\n    cudaFree\n    cudaMallocArray\n    cudaMallocHost\n    cudaFreeHost\n    cudaHostAlloc\n    cuMipmappedArrayDestroy\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_195cudaFreeMipmappedArray = {"cudaFreeMipmappedArray", (PyCFunction)__pyx_pw_4cuda_6cudart_195cudaFreeMipmappedArray, METH_O, __pyx_doc_4cuda_6cudart_194cudaFreeMipmappedArray};
static PyObject *__pyx_pw_4cuda_6cudart_195cudaFreeMipmappedArray(PyObject *__pyx_self, PyObject *__pyx_v_mipmappedArray) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaFreeMipmappedArray (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mipmappedArray), __pyx_ptype_4cuda_6cudart_cudaMipmappedArray_t, 0, "mipmappedArray", 0))) __PYX_ERR(0, 11209, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_194cudaFreeMipmappedArray(__pyx_self, ((struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_t *)__pyx_v_mipmappedArray));

  /* 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_194cudaFreeMipmappedArray(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_t *__pyx_v_mipmappedArray) {
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __pyx_t_4cuda_7ccudart_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("cudaFreeMipmappedArray", 0);
  __Pyx_TraceCall("cudaFreeMipmappedArray", __pyx_f[0], 11209, 0, __PYX_ERR(0, 11209, __pyx_L1_error));

  /* "cuda/cudart.pyx":11240
 *     cuMipmappedArrayDestroy
 *     """
 *     err = ccudart.cudaFreeMipmappedArray(mipmappedArray._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_7ccudart_cudaFreeMipmappedArray((__pyx_v_mipmappedArray->_ptr[0])); if (unlikely(__pyx_t_1 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 11240, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":11241
 *     """
 *     err = ccudart.cudaFreeMipmappedArray(mipmappedArray._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, 11241, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11241, __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, 11241, __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, 11241, __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":11209
 * 
 * @cython.embedsignature(True)
 * def cudaFreeMipmappedArray(mipmappedArray not None : cudaMipmappedArray_t):             # <<<<<<<<<<<<<<
 *     """ Frees a mipmapped array 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.cudaFreeMipmappedArray", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":11244
 * 
 * @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_197cudaHostAlloc(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_196cudaHostAlloc[] = "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 cudaMemcpy(). Since the memory can be accessed\n    directly by the device, it can be read or written with much higher\n    bandwidth than pageable memory obtained with functions such as\n    malloc(). Allocating excessive amounts of pinned memory may degrade\n    system performance, since it reduces the amount of memory available to\n    the system for paging. As a result, this function is best used\n    sparingly to allocate staging areas for data exchange between host and\n    device.\n\n    The `flags` parameter enables different options to be specified that\n    affect the allocation, as follows. cudaHostAllocDefault: This flag's\n    value is defined to be 0 and causes cudaHostAlloc() to emulate\n    cudaMallocHost(). cudaHostAllocPortable: The memory returned by this\n    call will be considered as pinned memory by all CUDA contexts, not just\n    the one that performed the allocation. cudaHostAllocMapped: Maps the\n    allocation into the CUDA address space. The device pointer to the\n    memory may be obtained by calling cudaHostGetDevicePointer().\n    cudaHostAllocWriteCombined: Allocates the memory as write-combined\n    (WC). WC memory can be transferred across the PCI Express bus more\n    quickly on some system configurations, but cannot be read efficiently\n    by most CPUs. WC memory is a good option for buffers that will be\n    written by the CPU and read by the device via mapped pinned memory or\n    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 cudaHostA""llocMapped flag to have any effect, the CUDA\n    context must support the cudaDeviceMapHost flag, which can be checked\n    via cudaGetDeviceFlags(). The cudaDeviceMapHost flag is implicitly set\n    for contexts created via the runtime API.\n\n    The cudaHostAllocMapped flag may be specified on CUDA contexts for\n    devices that do not support mapped pinned memory. The failure is\n    deferred to cudaHostGetDevicePointer() because the memory may be mapped\n    into other CUDA contexts via the cudaHostAllocPortable flag.\n\n    Memory allocated by this function must be freed with 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        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorMemoryAllocation\n    pHost : int\n        Device pointer to allocated memory\n\n    See Also\n    --------\n    cudaSetDeviceFlags\n    cudaMallocHost\n    cudaFreeHost\n    cudaGetDeviceFlags\n    cuMemHostAlloc\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_197cudaHostAlloc = {"cudaHostAlloc", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_197cudaHostAlloc, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_196cudaHostAlloc};
static PyObject *__pyx_pw_4cuda_6cudart_197cudaHostAlloc(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, 11244, __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, 11244, __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, 11244, __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, 11244, __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, 11244, __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_196cudaHostAlloc(__pyx_self, __pyx_v_size, __pyx_v_flags);

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

static PyObject *__pyx_pf_4cuda_6cudart_196cudaHostAlloc(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_size, unsigned int __pyx_v_flags) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v_pHost;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __pyx_t_4cuda_7ccudart_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__434)
  __Pyx_RefNannySetupContext("cudaHostAlloc", 0);
  __Pyx_TraceCall("cudaHostAlloc", __pyx_f[0], 11244, 0, __PYX_ERR(0, 11244, __pyx_L1_error));

  /* "cuda/cudart.pyx":11314
 *     cuMemHostAlloc
 *     """
 *     cdef void_ptr pHost = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = ccudart.cudaHostAlloc(<void**>&pHost, size, flags)
 */
  __pyx_v_pHost = 0;

  /* "cuda/cudart.pyx":11315
 *     """
 *     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":11316
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 11316, __pyx_L4_error)
        __pyx_v_err = __pyx_t_1;
      }

      /* "cuda/cudart.pyx":11315
 *     """
 *     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":11317
 *     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, 11317, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11317, __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, 11317, __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, 11317, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11317, __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":11244
 * 
 * @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":11320
 * 
 * @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_199cudaHostRegister(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_198cudaHostRegister[] = "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 cudaHostAlloc() to\n    automatically accelerate calls to functions such as cudaMemcpy(). Since\n    the memory can be accessed directly by the device, it can be read or\n    written with much higher bandwidth than pageable memory that has not\n    been registered. Page-locking excessive amounts of memory may degrade\n    system performance, since it reduces the amount of memory available to\n    the system for paging. As a result, this function is best used\n    sparingly to register staging areas for data exchange between host and\n    device.\n\n    cudaHostRegister is supported only on I/O coherent devices that have a\n    non-zero value for the device attribute\n    cudaDevAttrHostRegisterSupported.\n\n    The `flags` parameter enables different options to be specified that\n    affect the allocation, as follows.\n\n    cudaHostRegisterDefault: On a system with unified virtual addressing,\n    the memory will be both mapped and portable. On a system with no\n    unified virtual addressing, the memory will be neither mapped nor\n    portable. cudaHostRegisterPortable: The memory returned by this call\n    will be considered as pinned memory by all CUDA contexts, not just the\n    one that performed the allocation. cudaHostRegisterMapped: Maps the\n    allocation into the CUDA address space. The device pointer to the\n    memory may be obtained by calling cudaHostGetDevicePointer().\n    cudaHostRegisterIoMemory: The passed memory pointer is treated as\n    pointing to some memory-mapped I/O space, e.g. belonging to a third-\n    party PCIe device, and it will marked as non cache-coherent and\n    contiguous. cudaHostRegisterReadOnly: The passed memory pointe""r is\n    treated as pointing to memory that is considered read-only by the\n    device. On platforms without\n    cudaDevAttrPageableMemoryAccessUsesHostPageTables, this flag is\n    required in order to register memory mapped to the CPU as read-only.\n    Support for the use of this flag can be queried from the device\n    attribute cudaDeviceAttrReadOnlyHostRegisterSupported. Using this flag\n    with a current context associated with a device that does not have this\n    attribute set will cause cudaHostRegister to error with\n    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 cudaMapHost flag in\n    order for the cudaHostRegisterMapped flag to have any effect.\n\n    The cudaHostRegisterMapped flag may be specified on CUDA contexts for\n    devices that do not support mapped pinned memory. The failure is\n    deferred to cudaHostGetDevicePointer() because the memory may be mapped\n    into other CUDA contexts via the cudaHostRegisterPortable flag.\n\n    For devices that have a non-zero value for the device attribute\n    cudaDevAttrCanUseHostPointerForRegisteredMem, the memory can also be\n    accessed from the device using the host pointer `ptr`. The device\n    pointer returned by cudaHostGetDevicePointer() may or may not match the\n    original host pointer `ptr` and depends on the devices visible to the\n    application. If all devices visible to the application have a non-zero\n    value for the device attribute, the device pointer returned by\n    cudaHostGetDevicePointer() will match the original pointer `ptr`. If\n    any device visible to the application has a zero value for the device\n    attribute, the device pointer returned by cudaHostGetDevicePointer()\n    will not match the original host pointer `ptr`, but it will be suitable\n    for use on all devices provided Unifie""d Virtual Addressing is enabled.\n    In such systems, it is valid to access the memory using either pointer\n    on devices that have a non-zero value for the device attribute. Note\n    however that such devices should access the memory using only of the\n    two pointers and not both.\n\n    The memory page-locked by this function must be unregistered with\n    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        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorMemoryAllocation\n        cudaErrorHostMemoryAlreadyRegistered\n        cudaErrorNotSupported\n    None\n        None\n\n    See Also\n    --------\n    cudaHostUnregister\n    cudaHostGetFlags\n    cudaHostGetDevicePointer\n    cuMemHostRegister\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_199cudaHostRegister = {"cudaHostRegister", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_199cudaHostRegister, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_198cudaHostRegister};
static PyObject *__pyx_pw_4cuda_6cudart_199cudaHostRegister(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, 11320, __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, 11320, __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, 11320, __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, 11320, __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, 11320, __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, 11320, __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_198cudaHostRegister(__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_198cudaHostRegister(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;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__435)
  __Pyx_RefNannySetupContext("cudaHostRegister", 0);
  __Pyx_TraceCall("cudaHostRegister", __pyx_f[0], 11320, 0, __PYX_ERR(0, 11320, __pyx_L1_error));

  /* "cuda/cudart.pyx":11422
 *     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, 11422, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cptr = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":11423
 *     """
 *     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, 11423, __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, 11423, __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":11424
 *     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":11425
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 11425, __pyx_L4_error)
        __pyx_v_err = __pyx_t_3;
      }

      /* "cuda/cudart.pyx":11424
 *     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":11426
 *     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, 11426, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 11426, __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, 11426, __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, 11426, __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":11320
 * 
 * @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":11429
 * 
 * @cython.embedsignature(True)
 * def cudaHostUnregister(ptr):             # <<<<<<<<<<<<<<
 *     """ Unregisters a memory range that was registered with cudaHostRegister.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_201cudaHostUnregister(PyObject *__pyx_self, PyObject *__pyx_v_ptr); /*proto*/
static char __pyx_doc_4cuda_6cudart_200cudaHostUnregister[] = "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 cudaHostRegister().\n\n    Parameters\n    ----------\n    ptr : Any\n        Host pointer to memory to unregister\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorHostMemoryNotRegistered\n    None\n        None\n\n    See Also\n    --------\n    cudaHostUnregister\n    cuMemHostUnregister\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_201cudaHostUnregister = {"cudaHostUnregister", (PyCFunction)__pyx_pw_4cuda_6cudart_201cudaHostUnregister, METH_O, __pyx_doc_4cuda_6cudart_200cudaHostUnregister};
static PyObject *__pyx_pw_4cuda_6cudart_201cudaHostUnregister(PyObject *__pyx_self, PyObject *__pyx_v_ptr) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaHostUnregister (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_200cudaHostUnregister(__pyx_self, ((PyObject *)__pyx_v_ptr));

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

static PyObject *__pyx_pf_4cuda_6cudart_200cudaHostUnregister(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ptr) {
  PyObject *__pyx_v_cptr = NULL;
  void *__pyx_v_cptr_ptr;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__436)
  __Pyx_RefNannySetupContext("cudaHostUnregister", 0);
  __Pyx_TraceCall("cudaHostUnregister", __pyx_f[0], 11429, 0, __PYX_ERR(0, 11429, __pyx_L1_error));

  /* "cuda/cudart.pyx":11456
 *     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, 11456, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cptr = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":11457
 *     """
 *     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, 11457, __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, 11457, __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":11458
 *     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":11459
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 11459, __pyx_L4_error)
        __pyx_v_err = __pyx_t_3;
      }

      /* "cuda/cudart.pyx":11458
 *     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":11460
 *     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, 11460, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 11460, __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, 11460, __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, 11460, __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":11429
 * 
 * @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":11463
 * 
 * @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_203cudaHostGetDevicePointer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_202cudaHostGetDevicePointer[] = "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 cudaHostAlloc() or registered by\n    cudaHostRegister().\n\n    cudaHostGetDevicePointer() will fail if the cudaDeviceMapHost flag was\n    not specified before deferred context creation occurred, or if called\n    on a device that does not support mapped, pinned memory.\n\n    For devices that have a non-zero value for the device attribute\n    cudaDevAttrCanUseHostPointerForRegisteredMem, the memory can also be\n    accessed from the device using the host pointer `pHost`. The device\n    pointer returned by cudaHostGetDevicePointer() may or may not match the\n    original host pointer `pHost` and depends on the devices visible to the\n    application. If all devices visible to the application have a non-zero\n    value for the device attribute, the device pointer returned by\n    cudaHostGetDevicePointer() will match the original pointer `pHost`. If\n    any device visible to the application has a zero value for the device\n    attribute, the device pointer returned by cudaHostGetDevicePointer()\n    will not match the original host pointer `pHost`, but it will be\n    suitable for use on all devices provided Unified Virtual Addressing is\n    enabled. In such systems, it is valid to access the memory using either\n    pointer on devices that have a non-zero value for the device attribute.\n    Note however that such devices should access the memory using only of\n    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        Flags for extensions (must be 0 for now)\n\n    Returns\n    -------\n    cudaError_t\n        cudaSucces""s\n        cudaErrorInvalidValue\n        cudaErrorMemoryAllocation\n    pDevice : int\n        Returned device pointer for mapped memory\n\n    See Also\n    --------\n    cudaSetDeviceFlags\n    cudaHostAlloc\n    cuMemHostGetDevicePointer\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_203cudaHostGetDevicePointer = {"cudaHostGetDevicePointer", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_203cudaHostGetDevicePointer, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_202cudaHostGetDevicePointer};
static PyObject *__pyx_pw_4cuda_6cudart_203cudaHostGetDevicePointer(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, 11463, __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, 11463, __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, 11463, __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, 11463, __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_202cudaHostGetDevicePointer(__pyx_self, __pyx_v_pHost, __pyx_v_flags);

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

static PyObject *__pyx_pf_4cuda_6cudart_202cudaHostGetDevicePointer(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;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__437)
  __Pyx_RefNannySetupContext("cudaHostGetDevicePointer", 0);
  __Pyx_TraceCall("cudaHostGetDevicePointer", __pyx_f[0], 11463, 0, __PYX_ERR(0, 11463, __pyx_L1_error));

  /* "cuda/cudart.pyx":11515
 *     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":11516
 *     """
 *     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, 11516, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cpHost = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":11517
 *     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, 11517, __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, 11517, __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":11518
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 11518, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cudart.pyx":11519
 *     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, 11519, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 11519, __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, 11519, __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, 11519, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 11519, __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":11463
 * 
 * @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":11522
 * 
 * @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_205cudaHostGetFlags(PyObject *__pyx_self, PyObject *__pyx_v_pHost); /*proto*/
static char __pyx_doc_4cuda_6cudart_204cudaHostGetFlags[] = "cudaHostGetFlags(pHost)\n Passes back flags used to allocate pinned host memory allocated by cudaHostAlloc.\n\n    cudaHostGetFlags() will fail if the input pointer does not reside in an\n    address range allocated by cudaHostAlloc().\n\n    Parameters\n    ----------\n    pHost : Any\n        Host pointer\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    pFlags : unsigned int\n        Returned flags word\n\n    See Also\n    --------\n    cudaHostAlloc\n    cuMemHostGetFlags\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_205cudaHostGetFlags = {"cudaHostGetFlags", (PyCFunction)__pyx_pw_4cuda_6cudart_205cudaHostGetFlags, METH_O, __pyx_doc_4cuda_6cudart_204cudaHostGetFlags};
static PyObject *__pyx_pw_4cuda_6cudart_205cudaHostGetFlags(PyObject *__pyx_self, PyObject *__pyx_v_pHost) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaHostGetFlags (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_204cudaHostGetFlags(__pyx_self, ((PyObject *)__pyx_v_pHost));

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

static PyObject *__pyx_pf_4cuda_6cudart_204cudaHostGetFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_pHost) {
  unsigned int __pyx_v_pFlags;
  PyObject *__pyx_v_cpHost = NULL;
  void *__pyx_v_cpHost_ptr;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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("cudaHostGetFlags", 0);
  __Pyx_TraceCall("cudaHostGetFlags", __pyx_f[0], 11522, 0, __PYX_ERR(0, 11522, __pyx_L1_error));

  /* "cuda/cudart.pyx":11546
 *     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":11547
 *     """
 *     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, 11547, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cpHost = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":11548
 *     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, 11548, __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, 11548, __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":11549
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 11549, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cudart.pyx":11550
 *     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, 11550, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 11550, __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, 11550, __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, 11550, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 11550, __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":11522
 * 
 * @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":11553
 * 
 * @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_207cudaMalloc3D(PyObject *__pyx_self, PyObject *__pyx_v_extent); /*proto*/
static char __pyx_doc_4cuda_6cudart_206cudaMalloc3D[] = "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 cudaPitchedPtr in which `ptr` is a pointer\n    to the allocated memory. The function may pad the allocation to ensure\n    hardware alignment requirements are met. The pitch returned in the\n    `pitch` field of `pitchedDevPtr` is the width in bytes of the\n    allocation.\n\n    The returned cudaPitchedPtr contains additional fields `xsize` and\n    `ysize`, the logical width and height of the allocation, which are\n    equivalent to the `width` and `height` `extent` parameters provided by\n    the programmer during allocation.\n\n    For allocations of 2D and 3D objects, it is highly recommended that\n    programmers perform allocations using cudaMalloc3D() or\n    cudaMallocPitch(). Due to alignment restrictions in the hardware, this\n    is especially true if the application will be performing memory copies\n    involving 2D or 3D objects (whether linear memory or CUDA arrays).\n\n    Parameters\n    ----------\n    extent : cudaExtent\n        Requested allocation size (`width` field in bytes)\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorMemoryAllocation\n    pitchedDevPtr : cudaPitchedPtr\n        Pointer to allocated pitched device memory\n\n    See Also\n    --------\n    cudaMallocPitch\n    cudaFree\n    cudaMemcpy3D\n    cudaMemset3D\n    cudaMalloc3DArray\n    cudaMallocArray\n    cudaFreeArray\n    cudaMallocHost\n    cudaFreeHost\n    cudaHostAlloc\n    make_cudaPitchedPtr\n    make_cudaExtent\n    cuMemAllocPitch\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_207cudaMalloc3D = {"cudaMalloc3D", (PyCFunction)__pyx_pw_4cuda_6cudart_207cudaMalloc3D, METH_O, __pyx_doc_4cuda_6cudart_206cudaMalloc3D};
static PyObject *__pyx_pw_4cuda_6cudart_207cudaMalloc3D(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, 11553, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_206cudaMalloc3D(__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_206cudaMalloc3D(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaExtent *__pyx_v_extent) {
  struct __pyx_obj_4cuda_6cudart_cudaPitchedPtr *__pyx_v_pitchedDevPtr = 0;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_7ccudart_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__439)
  __Pyx_RefNannySetupContext("cudaMalloc3D", 0);
  __Pyx_TraceCall("cudaMalloc3D", __pyx_f[0], 11553, 0, __PYX_ERR(0, 11553, __pyx_L1_error));

  /* "cuda/cudart.pyx":11604
 *     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, 11604, __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":11605
 *     """
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 11605, __pyx_L1_error)
  __pyx_v_err = __pyx_t_2;

  /* "cuda/cudart.pyx":11606
 *     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, 11606, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11606, __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, 11606, __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, 11606, __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":11553
 * 
 * @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":11609
 * 
 * @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_209cudaMalloc3DArray(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_208cudaMalloc3DArray[] = "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 cudaChannelFormatDesc structure\n    `desc` and returns a handle to the new CUDA array in `*array`.\n\n    The cudaChannelFormatDesc is defined as: structcudaChannelFormatDesc{\n    intx,y,z,w; enumcudaChannelFormatKindf; }; where cudaChannelFormatKind\n    is one of cudaChannelFormatKindSigned, cudaChannelFormatKindUnsigned,\n    or cudaChannelFormatKindFloat.\n\n    cudaMalloc3DArray() can allocate the following:\n\n    A 1D array is allocated if the height and depth extents are both zero.\n    A 2D array is allocated if only the depth extent is zero. A 3D array is\n    allocated if all three extents are non-zero. A 1D layered CUDA array is\n    allocated if only the height extent is zero and the cudaArrayLayered\n    flag is set. Each layer is a 1D array. The number of layers is\n    determined by the depth extent. A 2D layered CUDA array is allocated if\n    all three extents are non-zero and the cudaArrayLayered flag is set.\n    Each layer is a 2D array. The number of layers is determined by the\n    depth extent. A cubemap CUDA array is allocated if all three extents\n    are non-zero and the cudaArrayCubemap flag is set. Width must be equal\n    to height, and depth must be six. A cubemap is a special type of 2D\n    layered CUDA array, where the six layers represent the six faces of a\n    cube. The order of the six layers in memory is the same as that listed\n    in cudaGraphicsCubeFace. A cubemap layered CUDA array is allocated if\n    all three extents are non-zero, and both, cudaArrayCubemap and\n    cudaArrayLayered flags are set. Width must be equal to height, and\n    depth must be a multiple of six. A cubemap layered CUDA array is a\n    special type of 2D layered CUDA array that consists of a collection of\n    cubemaps. The first six layers represen""t the first cubemap, the next\n    six layers form the second cubemap, and so on.\n\n    The `flags` parameter enables different options to be specified that\n    affect the allocation, as follows. cudaArrayDefault: This flag's value\n    is defined to be 0 and provides default array allocation\n    cudaArrayLayered: Allocates a layered CUDA array, with the depth extent\n    indicating the number of layers cudaArrayCubemap: Allocates a cubemap\n    CUDA array. Width must be equal to height, and depth must be six. If\n    the cudaArrayLayered flag is also set, depth must be a multiple of six.\n    cudaArraySurfaceLoadStore: Allocates a CUDA array that could be read\n    from or written to using a surface reference. cudaArrayTextureGather:\n    This flag indicates that texture gather operations will be performed on\n    the CUDA array. Texture gather can only be performed on 2D CUDA arrays.\n    cudaArraySparse: Allocates a CUDA array without physical backing\n    memory. The subregions within this sparse array can later be mapped to\n    physical memory by calling cuMemMapArrayAsync. This flag can only be\n    used for creating 2D, 3D or 2D layered sparse CUDA arrays. The physical\n    backing memory must be allocated via 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    Note that 2D CUDA arrays have different size requirements if the\n    cudaArrayTextureGather flag is set. In that case, the valid range for\n    (width, height, depth) is ((1,maxTexture2DGather[0]),\n    (1,maxTexture2DGather[1]), 0).\n\n             CUDA array type Valid extents that must always be met {(width\n    range in elements), (height range), (depth range)} Valid extents with\n    cudaArraySurfaceLoadStore set {(width range in elements), (height\n    range), (depth range)}     1D { (1,maxTexture1D), 0, 0 } {\n    (1,maxSurface1D), 0, 0 }   2D { (1,maxTexture2D[0]),""\n    (1,maxTexture2D[1]), 0 } { (1,maxSurface2D[0]), (1,maxSurface2D[1]), 0\n    }   3D { (1,maxTexture3D[0]), (1,maxTexture3D[1]), (1,maxTexture3D[2])\n    } OR { (1,maxTexture3DAlt[0]), (1,maxTexture3DAlt[1]),\n    (1,maxTexture3DAlt[2]) } { (1,maxSurface3D[0]), (1,maxSurface3D[1]),\n    (1,maxSurface3D[2]) }   1D Layered { (1,maxTexture1DLayered[0]), 0,\n    (1,maxTexture1DLayered[1]) } { (1,maxSurface1DLayered[0]), 0,\n    (1,maxSurface1DLayered[1]) }   2D Layered { (1,maxTexture2DLayered[0]),\n    (1,maxTexture2DLayered[1]), (1,maxTexture2DLayered[2]) } {\n    (1,maxSurface2DLayered[0]), (1,maxSurface2DLayered[1]),\n    (1,maxSurface2DLayered[2]) }   Cubemap { (1,maxTextureCubemap),\n    (1,maxTextureCubemap), 6 } { (1,maxSurfaceCubemap),\n    (1,maxSurfaceCubemap), 6 }   Cubemap Layered {\n    (1,maxTextureCubemapLayered[0]), (1,maxTextureCubemapLayered[0]),\n    (1,maxTextureCubemapLayered[1]) } { (1,maxSurfaceCubemapLayered[0]),\n    (1,maxSurfaceCubemapLayered[0]), (1,maxSurfaceCubemapLayered[1]) }\n\n    Parameters\n    ----------\n    desc : cudaChannelFormatDesc\n        Requested channel format\n    extent : 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        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorMemoryAllocation\n    array : cudaArray_t\n        Pointer to allocated array in device memory\n\n    See Also\n    --------\n    cudaMalloc3D\n    cudaMalloc\n    cudaMallocPitch\n    cudaFree\n    cudaFreeArray\n    cudaMallocHost\n    cudaFreeHost\n    cudaHostAlloc\n    make_cudaExtent\n    cuArray3DCreate\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_209cudaMalloc3DArray = {"cudaMalloc3DArray", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_209cudaMalloc3DArray, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_208cudaMalloc3DArray};
static PyObject *__pyx_pw_4cuda_6cudart_209cudaMalloc3DArray(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, 11609, __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, 11609, __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, 11609, __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, 11609, __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, 11609, __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, 11609, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_extent), __pyx_ptype_4cuda_6cudart_cudaExtent, 0, "extent", 0))) __PYX_ERR(0, 11609, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_208cudaMalloc3DArray(__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_208cudaMalloc3DArray(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 __pyx_t_4cuda_7ccudart_cudaChannelFormatDesc *__pyx_v_cdesc_ptr;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  struct __pyx_t_4cuda_7ccudart_cudaChannelFormatDesc *__pyx_t_2;
  int __pyx_t_3;
  __pyx_t_4cuda_7ccudart_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__440)
  __Pyx_RefNannySetupContext("cudaMalloc3DArray", 0);
  __Pyx_TraceCall("cudaMalloc3DArray", __pyx_f[0], 11609, 0, __PYX_ERR(0, 11609, __pyx_L1_error));

  /* "cuda/cudart.pyx":11720
 *     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, 11720, __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":11721
 *     """
 *     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, 11721, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 11721, __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":11722
 *     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":11723
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 11723, __pyx_L4_error)
        __pyx_v_err = __pyx_t_4;
      }

      /* "cuda/cudart.pyx":11722
 *     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":11724
 *     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, 11724, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11724, __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, 11724, __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, 11724, __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":11609
 * 
 * @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":11727
 * 
 * @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_211cudaMallocMipmappedArray(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_210cudaMallocMipmappedArray[] = "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 cudaChannelFormatDesc\n    structure `desc` and returns a handle to the new CUDA mipmapped array\n    in `*mipmappedArray`. `numLevels` specifies the number of mipmap levels\n    to be allocated. This value is clamped to the range [1, 1 +\n    floor(log2(max(width, height, depth)))].\n\n    The cudaChannelFormatDesc is defined as: structcudaChannelFormatDesc{\n    intx,y,z,w; enumcudaChannelFormatKindf; }; where cudaChannelFormatKind\n    is one of cudaChannelFormatKindSigned, cudaChannelFormatKindUnsigned,\n    or cudaChannelFormatKindFloat.\n\n    cudaMallocMipmappedArray() can allocate the following:\n\n    A 1D mipmapped array is allocated if the height and depth extents are\n    both zero. A 2D mipmapped array is allocated if only the depth extent\n    is zero. A 3D mipmapped array is allocated if all three extents are\n    non-zero. A 1D layered CUDA mipmapped array is allocated if only the\n    height extent is zero and the cudaArrayLayered flag is set. Each layer\n    is a 1D mipmapped array. The number of layers is determined by the\n    depth extent. A 2D layered CUDA mipmapped array is allocated if all\n    three extents are non-zero and the cudaArrayLayered flag is set. Each\n    layer is a 2D mipmapped array. The number of layers is determined by\n    the depth extent. A cubemap CUDA mipmapped array is allocated if all\n    three extents are non-zero and the cudaArrayCubemap flag is set. Width\n    must be equal to height, and depth must be six. The order of the six\n    layers in memory is the same as that listed in cudaGraphicsCubeFace. A\n    cubemap layered CUDA mipmapped array is allocated if all three extents\n    are 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 mipmapped array is a special type of 2D\n    layered CUDA mipmapped array that consists of a collection of cubemap\n    mipmapped arrays. The first six layers represent the first cubemap\n    mipmapped array, the next six layers form the second cubemap mipmapped\n    array, and so on.\n\n    The `flags` parameter enables different options to be specified that\n    affect the allocation, as follows. cudaArrayDefault: This flag's value\n    is defined to be 0 and provides default mipmapped array allocation\n    cudaArrayLayered: Allocates a layered CUDA mipmapped array, with the\n    depth extent indicating the number of layers cudaArrayCubemap:\n    Allocates a cubemap CUDA mipmapped array. Width must be equal to\n    height, and depth must be six. If the cudaArrayLayered flag is also\n    set, depth must be a multiple of six. cudaArraySurfaceLoadStore: This\n    flag indicates that individual mipmap levels of the CUDA mipmapped\n    array will be read from or written to using a surface reference.\n    cudaArrayTextureGather: This flag indicates that texture gather\n    operations will be performed on the CUDA array. Texture gather can only\n    be performed on 2D CUDA mipmapped arrays, and the gather operations are\n    performed only on the most detailed mipmap level. cudaArraySparse:\n    Allocates a CUDA array without physical backing memory. The subregions\n    within this sparse array can later be mapped to physical memory by\n    calling cuMemMapArrayAsync. This flag can only be used for creating 2D,\n    3D or 2D layered sparse CUDA mipmapped arrays. The physical backing\n    memory must be allocated via 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             CUDA array type Valid extents that must always be met {(width\n    range in elements)"", (height range), (depth range)} Valid extents with\n    cudaArraySurfaceLoadStore set {(width range in elements), (height\n    range), (depth range)}     1D { (1,maxTexture1DMipmap), 0, 0 } {\n    (1,maxSurface1D), 0, 0 }   2D { (1,maxTexture2DMipmap[0]),\n    (1,maxTexture2DMipmap[1]), 0 } { (1,maxSurface2D[0]),\n    (1,maxSurface2D[1]), 0 }   3D { (1,maxTexture3D[0]),\n    (1,maxTexture3D[1]), (1,maxTexture3D[2]) } OR { (1,maxTexture3DAlt[0]),\n    (1,maxTexture3DAlt[1]), (1,maxTexture3DAlt[2]) } { (1,maxSurface3D[0]),\n    (1,maxSurface3D[1]), (1,maxSurface3D[2]) }   1D Layered {\n    (1,maxTexture1DLayered[0]), 0, (1,maxTexture1DLayered[1]) } {\n    (1,maxSurface1DLayered[0]), 0, (1,maxSurface1DLayered[1]) }   2D\n    Layered { (1,maxTexture2DLayered[0]), (1,maxTexture2DLayered[1]),\n    (1,maxTexture2DLayered[2]) } { (1,maxSurface2DLayered[0]),\n    (1,maxSurface2DLayered[1]), (1,maxSurface2DLayered[2]) }   Cubemap {\n    (1,maxTextureCubemap), (1,maxTextureCubemap), 6 } {\n    (1,maxSurfaceCubemap), (1,maxSurfaceCubemap), 6 }   Cubemap Layered {\n    (1,maxTextureCubemapLayered[0]), (1,maxTextureCubemapLayered[0]),\n    (1,maxTextureCubemapLayered[1]) } { (1,maxSurfaceCubemapLayered[0]),\n    (1,maxSurfaceCubemapLayered[0]), (1,maxSurfaceCubemapLayered[1]) }\n\n    Parameters\n    ----------\n    desc : cudaChannelFormatDesc\n        Requested channel format\n    extent : 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        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorMemoryAllocation\n    mipmappedArray : cudaMipmappedArray_t\n        Pointer to allocated mipmapped array in device memory\n\n    See Also\n    --------\n    cudaMalloc3D\n    cudaMalloc\n    cudaMallocPitch\n    cudaFree\n    cudaFreeArray\n    cudaMallocHost\n    cudaFreeHost""\n    cudaHostAlloc\n    make_cudaExtent\n    cuMipmappedArrayCreate\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_211cudaMallocMipmappedArray = {"cudaMallocMipmappedArray", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_211cudaMallocMipmappedArray, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_210cudaMallocMipmappedArray};
static PyObject *__pyx_pw_4cuda_6cudart_211cudaMallocMipmappedArray(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, 11727, __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, 11727, __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, 11727, __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, 11727, __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, 11727, __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, 11727, __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, 11727, __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, 11727, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_extent), __pyx_ptype_4cuda_6cudart_cudaExtent, 0, "extent", 0))) __PYX_ERR(0, 11727, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_210cudaMallocMipmappedArray(__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_210cudaMallocMipmappedArray(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 __pyx_t_4cuda_7ccudart_cudaChannelFormatDesc *__pyx_v_cdesc_ptr;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  struct __pyx_t_4cuda_7ccudart_cudaChannelFormatDesc *__pyx_t_2;
  int __pyx_t_3;
  __pyx_t_4cuda_7ccudart_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("cudaMallocMipmappedArray", 0);
  __Pyx_TraceCall("cudaMallocMipmappedArray", __pyx_f[0], 11727, 0, __PYX_ERR(0, 11727, __pyx_L1_error));

  /* "cuda/cudart.pyx":11842
 *     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, 11842, __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":11843
 *     """
 *     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, 11843, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 11843, __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":11844
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 11844, __pyx_L1_error)
  __pyx_v_err = __pyx_t_4;

  /* "cuda/cudart.pyx":11845
 *     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, 11845, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11845, __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, 11845, __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, 11845, __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":11727
 * 
 * @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":11848
 * 
 * @cython.embedsignature(True)
 * def cudaGetMipmappedArrayLevel(mipmappedArray not None : cudaMipmappedArray_const_t, unsigned int level):             # <<<<<<<<<<<<<<
 *     """ Gets a mipmap level of a CUDA mipmapped array.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_213cudaGetMipmappedArrayLevel(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_212cudaGetMipmappedArrayLevel[] = "cudaGetMipmappedArrayLevel(cudaMipmappedArray_const_t mipmappedArray: cudaMipmappedArray_const_t, 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, cudaErrorInvalidValue is returned.\n\n    If `mipmappedArray` is NULL, cudaErrorInvalidResourceHandle is\n    returned.\n\n    Parameters\n    ----------\n    mipmappedArray : cudaMipmappedArray_const_t\n        CUDA mipmapped array\n    level : unsigned int\n        Mipmap level\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorInvalidResourceHandle\n    levelArray : cudaArray_t\n        Returned mipmap level CUDA array\n\n    See Also\n    --------\n    cudaMalloc3D\n    cudaMalloc\n    cudaMallocPitch\n    cudaFree\n    cudaFreeArray\n    cudaMallocHost\n    cudaFreeHost\n    cudaHostAlloc\n    make_cudaExtent\n    cuMipmappedArrayGetLevel\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_213cudaGetMipmappedArrayLevel = {"cudaGetMipmappedArrayLevel", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_213cudaGetMipmappedArrayLevel, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_212cudaGetMipmappedArrayLevel};
static PyObject *__pyx_pw_4cuda_6cudart_213cudaGetMipmappedArrayLevel(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_const_t *__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, 11848, __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, 11848, __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 = ((struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_const_t *)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, 11848, __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, 11848, __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:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mipmappedArray), __pyx_ptype_4cuda_6cudart_cudaMipmappedArray_const_t, 0, "mipmappedArray", 0))) __PYX_ERR(0, 11848, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_212cudaGetMipmappedArrayLevel(__pyx_self, __pyx_v_mipmappedArray, __pyx_v_level);

  /* 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_212cudaGetMipmappedArrayLevel(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_const_t *__pyx_v_mipmappedArray, unsigned int __pyx_v_level) {
  struct __pyx_obj_4cuda_6cudart_cudaArray_t *__pyx_v_levelArray = 0;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_7ccudart_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__442)
  __Pyx_RefNannySetupContext("cudaGetMipmappedArrayLevel", 0);
  __Pyx_TraceCall("cudaGetMipmappedArrayLevel", __pyx_f[0], 11848, 0, __PYX_ERR(0, 11848, __pyx_L1_error));

  /* "cuda/cudart.pyx":11889
 *     cuMipmappedArrayGetLevel
 *     """
 *     cdef cudaArray_t levelArray = cudaArray_t()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGetMipmappedArrayLevel(levelArray._ptr, mipmappedArray._ptr[0], level)
 *     return (cudaError_t(err), levelArray)
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaArray_t)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11889, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_levelArray = ((struct __pyx_obj_4cuda_6cudart_cudaArray_t *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":11890
 *     """
 *     cdef cudaArray_t levelArray = cudaArray_t()
 *     err = ccudart.cudaGetMipmappedArrayLevel(levelArray._ptr, mipmappedArray._ptr[0], level)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), levelArray)
 * 
 */
  __pyx_t_2 = __pyx_f_4cuda_7ccudart_cudaGetMipmappedArrayLevel(__pyx_v_levelArray->_ptr, (__pyx_v_mipmappedArray->_ptr[0]), __pyx_v_level); if (unlikely(__pyx_t_2 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 11890, __pyx_L1_error)
  __pyx_v_err = __pyx_t_2;

  /* "cuda/cudart.pyx":11891
 *     cdef cudaArray_t levelArray = cudaArray_t()
 *     err = ccudart.cudaGetMipmappedArrayLevel(levelArray._ptr, mipmappedArray._ptr[0], 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, 11891, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 11891, __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, 11891, __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, 11891, __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_levelArray));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_levelArray));
  PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_levelArray));
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":11848
 * 
 * @cython.embedsignature(True)
 * def cudaGetMipmappedArrayLevel(mipmappedArray not None : cudaMipmappedArray_const_t, unsigned int level):             # <<<<<<<<<<<<<<
 *     """ Gets a mipmap level of a CUDA mipmapped array.
 * 
 */

  /* 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.cudaGetMipmappedArrayLevel", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_levelArray);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":11894
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy3D(p : cudaMemcpy3DParms):             # <<<<<<<<<<<<<<
 *     """ Copies data between 3D objects.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_215cudaMemcpy3D(PyObject *__pyx_self, PyObject *__pyx_v_p); /*proto*/
static char __pyx_doc_4cuda_6cudart_214cudaMemcpy3D[] = "cudaMemcpy3D(cudaMemcpy3DParms p: cudaMemcpy3DParms)\n Copies data between 3D objects.\n\n    structcudaExtent{ size_twidth; size_theight; size_tdepth; };\n    structcudaExtentmake_cudaExtent(size_tw,size_th,size_td);\n    structcudaPos{ size_tx; size_ty; size_tz; };\n    structcudaPosmake_cudaPos(size_tx,size_ty,size_tz);\n    structcudaMemcpy3DParms{ cudaArray_tsrcArray; structcudaPossrcPos;\n    structcudaPitchedPtrsrcPtr; cudaArray_tdstArray; structcudaPosdstPos;\n    structcudaPitchedPtrdstPtr; structcudaExtentextent;\n    enumcudaMemcpyKindkind; };\n\n    cudaMemcpy3D() copies data betwen two 3D objects. The source and\n    destination objects may be in either host memory, device memory, or a\n    CUDA array. The source, destination, extent, and kind of copy performed\n    is specified by the cudaMemcpy3DParms struct which should be\n    initialized to zero before use: cudaMemcpy3DParmsmyParms={0};\n\n    The struct passed to cudaMemcpy3D() must specify one of `srcArray` or\n    `srcPtr` and one of `dstArray` or `dstPtr`. Passing more than one non-\n    zero source or destination will cause cudaMemcpy3D() to return an\n    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    cudaMemcpyHostToHost, cudaMemcpyHostToDevice, cudaMemcpyDeviceToHost,\n    cudaMemcpyDeviceToDevice, or cudaMemcpyDefault. Passing\n    cudaMemcpyDefault is recommended, in which case the type of transfer is""\n    inferred from the pointer values. However, cudaMemcpyDefault is only\n    allowed on systems that support unified virtual addressing. For\n    cudaMemcpyHostToHost or cudaMemcpyHostToDevice or\n    cudaMemcpyDeviceToHost passed as kind and cudaArray type passed as\n    source or destination, if the kind implies cudaArray type to be present\n    on the host, cudaMemcpy3D() will disregard that implication and\n    silently correct the kind based on the fact that cudaArray type can\n    only be present on the device.\n\n    If the source and destination are both arrays, cudaMemcpy3D() will\n    return an error if they do not 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 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    cudaMemcpy3D() returns an error if the pitch of `srcPtr` or `dstPtr`\n    exceeds the maximum allowed. The pitch of a cudaPitchedPtr allocated\n    with cudaMalloc3D() will always be valid.\n\n    Parameters\n    ----------\n    p : cudaMemcpy3DParms\n        3D memory copy parameters\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorInvalidPitchValue\n        cudaErrorInvalidMemcpyDirection\n    None\n        None\n\n    See Also\n    --------\n    cudaMalloc3D\n    cudaMalloc3DArray\n    cudaMemset3D\n    cudaMemcpy3DAsync\n    cudaMemcpy\n    cudaMemcpy2D\n    cudaMemcpy2DToArray\n    cudaMemcpy2DFromArray\n    cudaMemcpy2DArrayToArray\n    cudaMemcpyToSymbol\n    cudaMemcpyFromSymbol\n    cudaMemcpyAsync\n    cudaMemcpy2DAsync\n    cudaMemcpy2DToArrayAsync\n    cudaMemcpy2DFromArrayAsync\n    cudaMemcpyToSymbolAsync\n    cudaMemcpyFromSymbolAsync\n    make_cudaExtent\n    make_cudaPos\n    cuMe""mcpy3D\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_215cudaMemcpy3D = {"cudaMemcpy3D", (PyCFunction)__pyx_pw_4cuda_6cudart_215cudaMemcpy3D, METH_O, __pyx_doc_4cuda_6cudart_214cudaMemcpy3D};
static PyObject *__pyx_pw_4cuda_6cudart_215cudaMemcpy3D(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, 11894, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_214cudaMemcpy3D(__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_214cudaMemcpy3D(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_p) {
  struct __pyx_t_4cuda_7ccudart_cudaMemcpy3DParms *__pyx_v_cp_ptr;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  struct __pyx_t_4cuda_7ccudart_cudaMemcpy3DParms *__pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  __pyx_t_4cuda_7ccudart_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__443)
  __Pyx_RefNannySetupContext("cudaMemcpy3D", 0);
  __Pyx_TraceCall("cudaMemcpy3D", __pyx_f[0], 11894, 0, __PYX_ERR(0, 11894, __pyx_L1_error));

  /* "cuda/cudart.pyx":11994
 *     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, 11994, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 11994, __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":11995
 *     """
 *     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":11996
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 11996, __pyx_L4_error)
        __pyx_v_err = __pyx_t_4;
      }

      /* "cuda/cudart.pyx":11995
 *     """
 *     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":11997
 *     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, 11997, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 11997, __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, 11997, __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, 11997, __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":11894
 * 
 * @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":12000
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy3DPeer(p : cudaMemcpy3DPeerParms):             # <<<<<<<<<<<<<<
 *     """ Copies memory between devices.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_217cudaMemcpy3DPeer(PyObject *__pyx_self, PyObject *__pyx_v_p); /*proto*/
static char __pyx_doc_4cuda_6cudart_216cudaMemcpy3DPeer[] = "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 cudaMemcpy3DPeerParms structure for\n    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 cudaMemcpy3DPeerAsync to avoid\n    this synchronization).\n\n    Parameters\n    ----------\n    p : cudaMemcpy3DPeerParms\n        Parameters for the memory copy\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorInvalidDevice\n    None\n        None\n\n    See Also\n    --------\n    cudaMemcpy\n    cudaMemcpyPeer\n    cudaMemcpyAsync\n    cudaMemcpyPeerAsync\n    cudaMemcpy3DPeerAsync\n    cuMemcpy3DPeer\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_217cudaMemcpy3DPeer = {"cudaMemcpy3DPeer", (PyCFunction)__pyx_pw_4cuda_6cudart_217cudaMemcpy3DPeer, METH_O, __pyx_doc_4cuda_6cudart_216cudaMemcpy3DPeer};
static PyObject *__pyx_pw_4cuda_6cudart_217cudaMemcpy3DPeer(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, 12000, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_216cudaMemcpy3DPeer(__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_216cudaMemcpy3DPeer(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_v_p) {
  struct __pyx_t_4cuda_7ccudart_cudaMemcpy3DPeerParms *__pyx_v_cp_ptr;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  struct __pyx_t_4cuda_7ccudart_cudaMemcpy3DPeerParms *__pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  __pyx_t_4cuda_7ccudart_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__444)
  __Pyx_RefNannySetupContext("cudaMemcpy3DPeer", 0);
  __Pyx_TraceCall("cudaMemcpy3DPeer", __pyx_f[0], 12000, 0, __PYX_ERR(0, 12000, __pyx_L1_error));

  /* "cuda/cudart.pyx":12037
 *     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, 12037, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 12037, __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":12038
 *     """
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 12038, __pyx_L1_error)
  __pyx_v_err = __pyx_t_4;

  /* "cuda/cudart.pyx":12039
 *     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, 12039, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12039, __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, 12039, __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, 12039, __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":12000
 * 
 * @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":12042
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy3DAsync(p : cudaMemcpy3DParms, stream):             # <<<<<<<<<<<<<<
 *     """ Copies data between 3D objects.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_219cudaMemcpy3DAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_218cudaMemcpy3DAsync[] = "cudaMemcpy3DAsync(cudaMemcpy3DParms p: cudaMemcpy3DParms, stream)\n Copies data between 3D objects.\n\n    structcudaExtent{ size_twidth; size_theight; size_tdepth; };\n    structcudaExtentmake_cudaExtent(size_tw,size_th,size_td);\n    structcudaPos{ size_tx; size_ty; size_tz; };\n    structcudaPosmake_cudaPos(size_tx,size_ty,size_tz);\n    structcudaMemcpy3DParms{ cudaArray_tsrcArray; structcudaPossrcPos;\n    structcudaPitchedPtrsrcPtr; cudaArray_tdstArray; structcudaPosdstPos;\n    structcudaPitchedPtrdstPtr; structcudaExtentextent;\n    enumcudaMemcpyKindkind; };\n\n    cudaMemcpy3DAsync() copies data betwen two 3D objects. The source and\n    destination objects may be in either host memory, device memory, or a\n    CUDA array. The source, destination, extent, and kind of copy performed\n    is specified by the cudaMemcpy3DParms struct which should be\n    initialized to zero before use: cudaMemcpy3DParmsmyParms={0};\n\n    The struct passed to cudaMemcpy3DAsync() must specify one of `srcArray`\n    or `srcPtr` and one of `dstArray` or `dstPtr`. Passing more than one\n    non-zero source or destination will cause cudaMemcpy3DAsync() to return\n    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    cudaMemcpyHostToHost, cudaMemcpyHostToDevice, cudaMemcpyDeviceToHost,\n    cudaMemcpyDeviceToDevice,"" or cudaMemcpyDefault. Passing\n    cudaMemcpyDefault is recommended, in which case the type of transfer is\n    inferred from the pointer values. However, cudaMemcpyDefault is only\n    allowed on systems that support unified virtual addressing. For\n    cudaMemcpyHostToHost or cudaMemcpyHostToDevice or\n    cudaMemcpyDeviceToHost passed as kind and cudaArray type passed as\n    source or destination, if the kind implies cudaArray type to be present\n    on the host, cudaMemcpy3DAsync() will disregard that implication and\n    silently correct the kind based on the fact that cudaArray type can\n    only be present on the device.\n\n    If the source and destination are both arrays, cudaMemcpy3DAsync() will\n    return an error if they do not 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    cudaMemcpy3DAsync() returns an error if the pitch of `srcPtr` or\n    `dstPtr` exceeds the maximum allowed. The pitch of a cudaPitchedPtr\n    allocated with cudaMalloc3D() will always be valid.\n\n    cudaMemcpy3DAsync() is asynchronous with respect to the host, so the\n    call may return before the copy is complete. The copy can optionally be\n    associated to a stream by passing a non-zero `stream` argument. If\n    `kind` is cudaMemcpyHostToDevice or cudaMemcpyDeviceToHost and `stream`\n    is non-zero, the 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    p : cudaMemcpy3DParms\n        3D memory copy parameters\n    stream : CUstream or cudaStream_t\n        Stream i""dentifier\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorInvalidPitchValue\n        cudaErrorInvalidMemcpyDirection\n    None\n        None\n\n    See Also\n    --------\n    cudaMalloc3D\n    cudaMalloc3DArray\n    cudaMemset3D\n    cudaMemcpy3D\n    cudaMemcpy\n    cudaMemcpy2D\n    cudaMemcpy2DToArray\n    cudaMemcpy2DFromArray\n    cudaMemcpy2DArrayToArray\n    cudaMemcpyToSymbol\n    cudaMemcpyFromSymbol\n    cudaMemcpyAsync\n    cudaMemcpy2DAsync\n    cudaMemcpy2DToArrayAsync\n    cudaMemcpy2DFromArrayAsync\n    cudaMemcpyToSymbolAsync\n    cudaMemcpyFromSymbolAsync\n    make_cudaExtent\n    make_cudaPos\n    cuMemcpy3DAsync\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_219cudaMemcpy3DAsync = {"cudaMemcpy3DAsync", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_219cudaMemcpy3DAsync, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_218cudaMemcpy3DAsync};
static PyObject *__pyx_pw_4cuda_6cudart_219cudaMemcpy3DAsync(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, 12042, __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, 12042, __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, 12042, __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, 12042, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_218cudaMemcpy3DAsync(__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_218cudaMemcpy3DAsync(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_p, PyObject *__pyx_v_stream) {
  struct __pyx_t_4cuda_7ccudart_cudaMemcpy3DParms *__pyx_v_cp_ptr;
  __pyx_t_4cuda_7ccudart_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;
  struct __pyx_t_4cuda_7ccudart_cudaMemcpy3DParms *__pyx_t_6;
  __pyx_t_4cuda_7ccudart_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__445)
  __Pyx_RefNannySetupContext("cudaMemcpy3DAsync", 0);
  __Pyx_TraceCall("cudaMemcpy3DAsync", __pyx_f[0], 12042, 0, __PYX_ERR(0, 12042, __pyx_L1_error));

  /* "cuda/cudart.pyx":12154
 *     cuMemcpy3DAsync
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdef ccudart.cudaMemcpy3DParms* cp_ptr = p._ptr if p != None else NULL
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":12155
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaMemcpy3DParms* cp_ptr = p._ptr if p != None else NULL
 *     with nogil:
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_stream))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12155, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_stream_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 12155, __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, 12155, __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, 12155, __pyx_L1_error)

    /* "cuda/cudart.pyx":12154
 *     cuMemcpy3DAsync
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdef ccudart.cudaMemcpy3DParms* cp_ptr = p._ptr if p != None else NULL
 */
  }

  /* "cuda/cudart.pyx":12156
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdef ccudart.cudaMemcpy3DParms* cp_ptr = p._ptr if p != None else NULL             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = ccudart.cudaMemcpy3DAsync(cp_ptr, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 */
  __pyx_t_4 = PyObject_RichCompare(((PyObject *)__pyx_v_p), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12156, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 12156, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_2) {
    __pyx_t_6 = __pyx_v_p->_ptr;
  } else {
    __pyx_t_6 = NULL;
  }
  __pyx_v_cp_ptr = __pyx_t_6;

  /* "cuda/cudart.pyx":12157
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdef ccudart.cudaMemcpy3DParms* cp_ptr = p._ptr if p != None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMemcpy3DAsync(cp_ptr, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     return (cudaError_t(err),)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":12158
 *     cdef ccudart.cudaMemcpy3DParms* cp_ptr = p._ptr if p != None else NULL
 *     with nogil:
 *         err = ccudart.cudaMemcpy3DAsync(cp_ptr, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
        __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaMemcpy3DAsync(__pyx_v_cp_ptr, ((__pyx_t_4cuda_7ccudart_cudaStream_t)(((struct __pyx_obj_4cuda_6cudart_cudaStream_t *)__pyx_v_stream)->__pyx_base._ptr[0]))); if (unlikely(__pyx_t_7 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 12158, __pyx_L7_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/cudart.pyx":12157
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdef ccudart.cudaMemcpy3DParms* cp_ptr = p._ptr if p != None else NULL
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMemcpy3DAsync(cp_ptr, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     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":12159
 *     with nogil:
 *         err = ccudart.cudaMemcpy3DAsync(cp_ptr, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     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, 12159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_8 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12159, __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_4 = (__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_4)) __PYX_ERR(0, 12159, __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, 12159, __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":12042
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy3DAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":12162
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy3DPeerAsync(p : cudaMemcpy3DPeerParms, stream):             # <<<<<<<<<<<<<<
 *     """ Copies memory between devices asynchronously.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_221cudaMemcpy3DPeerAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_220cudaMemcpy3DPeerAsync[] = "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 cudaMemcpy3DPeerParms structure for\n    documentation of its parameters.\n\n    Parameters\n    ----------\n    p : cudaMemcpy3DPeerParms\n        Parameters for the memory copy\n    stream : CUstream or cudaStream_t\n        Stream identifier\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorInvalidDevice\n    None\n        None\n\n    See Also\n    --------\n    cudaMemcpy\n    cudaMemcpyPeer\n    cudaMemcpyAsync\n    cudaMemcpyPeerAsync\n    cudaMemcpy3DPeerAsync\n    cuMemcpy3DPeerAsync\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_221cudaMemcpy3DPeerAsync = {"cudaMemcpy3DPeerAsync", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_221cudaMemcpy3DPeerAsync, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_220cudaMemcpy3DPeerAsync};
static PyObject *__pyx_pw_4cuda_6cudart_221cudaMemcpy3DPeerAsync(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, 12162, __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, 12162, __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, 12162, __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, 12162, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_220cudaMemcpy3DPeerAsync(__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_220cudaMemcpy3DPeerAsync(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DPeerParms *__pyx_v_p, PyObject *__pyx_v_stream) {
  struct __pyx_t_4cuda_7ccudart_cudaMemcpy3DPeerParms *__pyx_v_cp_ptr;
  __pyx_t_4cuda_7ccudart_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;
  struct __pyx_t_4cuda_7ccudart_cudaMemcpy3DPeerParms *__pyx_t_6;
  __pyx_t_4cuda_7ccudart_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__446)
  __Pyx_RefNannySetupContext("cudaMemcpy3DPeerAsync", 0);
  __Pyx_TraceCall("cudaMemcpy3DPeerAsync", __pyx_f[0], 12162, 0, __PYX_ERR(0, 12162, __pyx_L1_error));

  /* "cuda/cudart.pyx":12194
 *     cuMemcpy3DPeerAsync
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdef ccudart.cudaMemcpy3DPeerParms* cp_ptr = p._ptr if p != None else NULL
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":12195
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaMemcpy3DPeerParms* cp_ptr = p._ptr if p != None else NULL
 *     err = ccudart.cudaMemcpy3DPeerAsync(cp_ptr, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_stream))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12195, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_stream_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 12195, __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, 12195, __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, 12195, __pyx_L1_error)

    /* "cuda/cudart.pyx":12194
 *     cuMemcpy3DPeerAsync
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdef ccudart.cudaMemcpy3DPeerParms* cp_ptr = p._ptr if p != None else NULL
 */
  }

  /* "cuda/cudart.pyx":12196
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdef ccudart.cudaMemcpy3DPeerParms* cp_ptr = p._ptr if p != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaMemcpy3DPeerAsync(cp_ptr, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     return (cudaError_t(err),)
 */
  __pyx_t_4 = PyObject_RichCompare(((PyObject *)__pyx_v_p), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12196, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 12196, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_2) {
    __pyx_t_6 = __pyx_v_p->_ptr;
  } else {
    __pyx_t_6 = NULL;
  }
  __pyx_v_cp_ptr = __pyx_t_6;

  /* "cuda/cudart.pyx":12197
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdef ccudart.cudaMemcpy3DPeerParms* cp_ptr = p._ptr if p != None else NULL
 *     err = ccudart.cudaMemcpy3DPeerAsync(cp_ptr, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaMemcpy3DPeerAsync(__pyx_v_cp_ptr, ((__pyx_t_4cuda_7ccudart_cudaStream_t)(((struct __pyx_obj_4cuda_6cudart_cudaStream_t *)__pyx_v_stream)->__pyx_base._ptr[0]))); if (unlikely(__pyx_t_7 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 12197, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":12198
 *     cdef ccudart.cudaMemcpy3DPeerParms* cp_ptr = p._ptr if p != None else NULL
 *     err = ccudart.cudaMemcpy3DPeerAsync(cp_ptr, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     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, 12198, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_8 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12198, __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_4 = (__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_4)) __PYX_ERR(0, 12198, __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, 12198, __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":12162
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy3DPeerAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":12201
 * 
 * @cython.embedsignature(True)
 * def cudaMemGetInfo():             # <<<<<<<<<<<<<<
 *     """ Gets free and total device memory.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_223cudaMemGetInfo(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_222cudaMemGetInfo[] = "cudaMemGetInfo()\n Gets free and total device memory.\n\n    Returns in `*total` the total amount of memory available on the device.\n    Returns in `*free` the amount of memory on the device that is free\n    according to the OS. CUDA is not guaranteed to be able to allocate all\n    of the memory that the OS reports as free.\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        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    cuMemGetInfo\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_223cudaMemGetInfo = {"cudaMemGetInfo", (PyCFunction)__pyx_pw_4cuda_6cudart_223cudaMemGetInfo, METH_NOARGS, __pyx_doc_4cuda_6cudart_222cudaMemGetInfo};
static PyObject *__pyx_pw_4cuda_6cudart_223cudaMemGetInfo(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMemGetInfo (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_222cudaMemGetInfo(__pyx_self);

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

static PyObject *__pyx_pf_4cuda_6cudart_222cudaMemGetInfo(CYTHON_UNUSED PyObject *__pyx_self) {
  size_t __pyx_v_free;
  size_t __pyx_v_total;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __pyx_t_4cuda_7ccudart_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("cudaMemGetInfo", 0);
  __Pyx_TraceCall("cudaMemGetInfo", __pyx_f[0], 12201, 0, __PYX_ERR(0, 12201, __pyx_L1_error));

  /* "cuda/cudart.pyx":12224
 *     cuMemGetInfo
 *     """
 *     cdef size_t free = 0             # <<<<<<<<<<<<<<
 *     cdef size_t total = 0
 *     err = ccudart.cudaMemGetInfo(&free, &total)
 */
  __pyx_v_free = 0;

  /* "cuda/cudart.pyx":12225
 *     """
 *     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":12226
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 12226, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":12227
 *     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, 12227, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12227, __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, 12227, __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, 12227, __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, 12227, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 12227, __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":12201
 * 
 * @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":12230
 * 
 * @cython.embedsignature(True)
 * def cudaArrayGetInfo(array not None : cudaArray_t):             # <<<<<<<<<<<<<<
 *     """ Gets info about the specified cudaArray.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_225cudaArrayGetInfo(PyObject *__pyx_self, PyObject *__pyx_v_array); /*proto*/
static char __pyx_doc_4cuda_6cudart_224cudaArrayGetInfo[] = "cudaArrayGetInfo(cudaArray_t array: cudaArray_t)\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 : cudaArray_t\n        The cudaArray to get info for\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    desc : cudaChannelFormatDesc\n        Returned array type\n    extent : 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    cuArrayGetDescriptor\n    cuArray3DGetDescriptor\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_225cudaArrayGetInfo = {"cudaArrayGetInfo", (PyCFunction)__pyx_pw_4cuda_6cudart_225cudaArrayGetInfo, METH_O, __pyx_doc_4cuda_6cudart_224cudaArrayGetInfo};
static PyObject *__pyx_pw_4cuda_6cudart_225cudaArrayGetInfo(PyObject *__pyx_self, PyObject *__pyx_v_array) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaArrayGetInfo (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_array), __pyx_ptype_4cuda_6cudart_cudaArray_t, 0, "array", 0))) __PYX_ERR(0, 12230, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_224cudaArrayGetInfo(__pyx_self, ((struct __pyx_obj_4cuda_6cudart_cudaArray_t *)__pyx_v_array));

  /* 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_224cudaArrayGetInfo(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaArray_t *__pyx_v_array) {
  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;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_7ccudart_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__448)
  __Pyx_RefNannySetupContext("cudaArrayGetInfo", 0);
  __Pyx_TraceCall("cudaArrayGetInfo", __pyx_f[0], 12230, 0, __PYX_ERR(0, 12230, __pyx_L1_error));

  /* "cuda/cudart.pyx":12260
 *     cuArray3DGetDescriptor
 *     """
 *     cdef cudaChannelFormatDesc desc = cudaChannelFormatDesc()             # <<<<<<<<<<<<<<
 *     cdef cudaExtent extent = cudaExtent()
 *     cdef unsigned int flags = 0
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaChannelFormatDesc)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12260, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_desc = ((struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":12261
 *     """
 *     cdef cudaChannelFormatDesc desc = cudaChannelFormatDesc()
 *     cdef cudaExtent extent = cudaExtent()             # <<<<<<<<<<<<<<
 *     cdef unsigned int flags = 0
 *     err = ccudart.cudaArrayGetInfo(desc._ptr, extent._ptr, &flags, array._ptr[0])
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExtent)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12261, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_extent = ((struct __pyx_obj_4cuda_6cudart_cudaExtent *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":12262
 *     cdef cudaChannelFormatDesc desc = cudaChannelFormatDesc()
 *     cdef cudaExtent extent = cudaExtent()
 *     cdef unsigned int flags = 0             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaArrayGetInfo(desc._ptr, extent._ptr, &flags, array._ptr[0])
 *     return (cudaError_t(err), desc, extent, flags)
 */
  __pyx_v_flags = 0;

  /* "cuda/cudart.pyx":12263
 *     cdef cudaExtent extent = cudaExtent()
 *     cdef unsigned int flags = 0
 *     err = ccudart.cudaArrayGetInfo(desc._ptr, extent._ptr, &flags, array._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), desc, extent, flags)
 * 
 */
  __pyx_t_2 = __pyx_f_4cuda_7ccudart_cudaArrayGetInfo(__pyx_v_desc->_ptr, __pyx_v_extent->_ptr, (&__pyx_v_flags), (__pyx_v_array->_ptr[0])); if (unlikely(__pyx_t_2 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 12263, __pyx_L1_error)
  __pyx_v_err = __pyx_t_2;

  /* "cuda/cudart.pyx":12264
 *     cdef unsigned int flags = 0
 *     err = ccudart.cudaArrayGetInfo(desc._ptr, extent._ptr, &flags, array._ptr[0])
 *     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, 12264, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12264, __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, 12264, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyInt_From_unsigned_int(__pyx_v_flags); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12264, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12264, __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_desc));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_desc));
  PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_desc));
  __Pyx_INCREF(((PyObject *)__pyx_v_extent));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_extent));
  PyTuple_SET_ITEM(__pyx_t_4, 2, ((PyObject *)__pyx_v_extent));
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_4, 3, __pyx_t_3);
  __pyx_t_1 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":12230
 * 
 * @cython.embedsignature(True)
 * def cudaArrayGetInfo(array not None : cudaArray_t):             # <<<<<<<<<<<<<<
 *     """ Gets info about the specified cudaArray.
 * 
 */

  /* 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.cudaArrayGetInfo", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __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":12267
 * 
 * @cython.embedsignature(True)
 * def cudaArrayGetPlane(hArray not None : cudaArray_t, unsigned int planeIdx):             # <<<<<<<<<<<<<<
 *     """ Gets a CUDA array plane from a CUDA array.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_227cudaArrayGetPlane(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_226cudaArrayGetPlane[] = "cudaArrayGetPlane(cudaArray_t hArray: cudaArray_t, 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    cudaChannelFormatKindNV12, then cudaErrorInvalidValue is returned.\n\n    Note that if the `hArray` has format cudaChannelFormatKindNV12, then\n    passing in 0 for `planeIdx` returns a CUDA array of the same size as\n    `hArray` but with one 8-bit channel and cudaChannelFormatKindUnsigned\n    as its format kind. If 1 is passed for `planeIdx`, then the returned\n    CUDA array has half the height and width of `hArray` with two 8-bit\n    channels and cudaChannelFormatKindUnsigned as its format kind.\n\n    Parameters\n    ----------\n    hArray : cudaArray_t\n        CUDA array\n    planeIdx : unsigned int\n        Plane index\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorInvalidResourceHandle\n    pPlaneArray : cudaArray_t\n        Returned CUDA array referenced by the `planeIdx`\n\n    See Also\n    --------\n    cuArrayGetPlane\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_227cudaArrayGetPlane = {"cudaArrayGetPlane", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_227cudaArrayGetPlane, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_226cudaArrayGetPlane};
static PyObject *__pyx_pw_4cuda_6cudart_227cudaArrayGetPlane(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_4cuda_6cudart_cudaArray_t *__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, 12267, __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, 12267, __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 = ((struct __pyx_obj_4cuda_6cudart_cudaArray_t *)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, 12267, __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, 12267, __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:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_hArray), __pyx_ptype_4cuda_6cudart_cudaArray_t, 0, "hArray", 0))) __PYX_ERR(0, 12267, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_226cudaArrayGetPlane(__pyx_self, __pyx_v_hArray, __pyx_v_planeIdx);

  /* 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_226cudaArrayGetPlane(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaArray_t *__pyx_v_hArray, unsigned int __pyx_v_planeIdx) {
  struct __pyx_obj_4cuda_6cudart_cudaArray_t *__pyx_v_pPlaneArray = 0;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_7ccudart_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__449)
  __Pyx_RefNannySetupContext("cudaArrayGetPlane", 0);
  __Pyx_TraceCall("cudaArrayGetPlane", __pyx_f[0], 12267, 0, __PYX_ERR(0, 12267, __pyx_L1_error));

  /* "cuda/cudart.pyx":12304
 *     cuArrayGetPlane
 *     """
 *     cdef cudaArray_t pPlaneArray = cudaArray_t()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaArrayGetPlane(pPlaneArray._ptr, hArray._ptr[0], planeIdx)
 *     return (cudaError_t(err), pPlaneArray)
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaArray_t)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12304, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_pPlaneArray = ((struct __pyx_obj_4cuda_6cudart_cudaArray_t *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":12305
 *     """
 *     cdef cudaArray_t pPlaneArray = cudaArray_t()
 *     err = ccudart.cudaArrayGetPlane(pPlaneArray._ptr, hArray._ptr[0], planeIdx)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pPlaneArray)
 * 
 */
  __pyx_t_2 = __pyx_f_4cuda_7ccudart_cudaArrayGetPlane(__pyx_v_pPlaneArray->_ptr, (__pyx_v_hArray->_ptr[0]), __pyx_v_planeIdx); if (unlikely(__pyx_t_2 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 12305, __pyx_L1_error)
  __pyx_v_err = __pyx_t_2;

  /* "cuda/cudart.pyx":12306
 *     cdef cudaArray_t pPlaneArray = cudaArray_t()
 *     err = ccudart.cudaArrayGetPlane(pPlaneArray._ptr, hArray._ptr[0], 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, 12306, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12306, __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, 12306, __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, 12306, __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_pPlaneArray));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pPlaneArray));
  PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_pPlaneArray));
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":12267
 * 
 * @cython.embedsignature(True)
 * def cudaArrayGetPlane(hArray not None : cudaArray_t, unsigned int planeIdx):             # <<<<<<<<<<<<<<
 *     """ Gets a CUDA array plane from a CUDA array.
 * 
 */

  /* 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.cudaArrayGetPlane", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_pPlaneArray);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":12309
 * 
 * @cython.embedsignature(True)
 * def cudaArrayGetSparseProperties(array not None : cudaArray_t):             # <<<<<<<<<<<<<<
 *     """ Returns the layout properties of a sparse CUDA array.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_229cudaArrayGetSparseProperties(PyObject *__pyx_self, PyObject *__pyx_v_array); /*proto*/
static char __pyx_doc_4cuda_6cudart_228cudaArrayGetSparseProperties[] = "cudaArrayGetSparseProperties(cudaArray_t array: cudaArray_t)\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    cudaArraySparse cudaErrorInvalidValue will be returned.\n\n    If the returned value in cudaArraySparseProperties::flags contains\n    cudaArraySparsePropertiesSingleMipTail, then\n    cudaArraySparseProperties::miptailSize represents the total size of the\n    array. Otherwise, it will be zero. Also, the returned value in\n    cudaArraySparseProperties::miptailFirstLevel is always zero. Note that\n    the `array` must have been allocated using cudaMallocArray or\n    cudaMalloc3DArray. For CUDA arrays obtained using\n    cudaMipmappedArrayGetLevel, cudaErrorInvalidValue will be returned.\n    Instead, cudaMipmappedArrayGetSparseProperties must be used to obtain\n    the sparse properties of the entire CUDA mipmapped array to which\n    `array` belongs to.\n\n    Parameters\n    ----------\n    array : cudaArray_t\n        The CUDA array to get the sparse properties of\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    sparseProperties : cudaArraySparseProperties\n        Pointer to return the cudaArraySparseProperties\n\n    See Also\n    --------\n    cudaMipmappedArrayGetSparseProperties\n    cuMemMapArrayAsync\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_229cudaArrayGetSparseProperties = {"cudaArrayGetSparseProperties", (PyCFunction)__pyx_pw_4cuda_6cudart_229cudaArrayGetSparseProperties, METH_O, __pyx_doc_4cuda_6cudart_228cudaArrayGetSparseProperties};
static PyObject *__pyx_pw_4cuda_6cudart_229cudaArrayGetSparseProperties(PyObject *__pyx_self, PyObject *__pyx_v_array) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaArrayGetSparseProperties (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_array), __pyx_ptype_4cuda_6cudart_cudaArray_t, 0, "array", 0))) __PYX_ERR(0, 12309, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_228cudaArrayGetSparseProperties(__pyx_self, ((struct __pyx_obj_4cuda_6cudart_cudaArray_t *)__pyx_v_array));

  /* 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_228cudaArrayGetSparseProperties(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaArray_t *__pyx_v_array) {
  struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *__pyx_v_sparseProperties = 0;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_7ccudart_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__450)
  __Pyx_RefNannySetupContext("cudaArrayGetSparseProperties", 0);
  __Pyx_TraceCall("cudaArrayGetSparseProperties", __pyx_f[0], 12309, 0, __PYX_ERR(0, 12309, __pyx_L1_error));

  /* "cuda/cudart.pyx":12346
 *     cuMemMapArrayAsync
 *     """
 *     cdef cudaArraySparseProperties sparseProperties = cudaArraySparseProperties()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaArrayGetSparseProperties(sparseProperties._ptr, array._ptr[0])
 *     return (cudaError_t(err), sparseProperties)
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaArraySparseProperties)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12346, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_sparseProperties = ((struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":12347
 *     """
 *     cdef cudaArraySparseProperties sparseProperties = cudaArraySparseProperties()
 *     err = ccudart.cudaArrayGetSparseProperties(sparseProperties._ptr, array._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), sparseProperties)
 * 
 */
  __pyx_t_2 = __pyx_f_4cuda_7ccudart_cudaArrayGetSparseProperties(__pyx_v_sparseProperties->_ptr, (__pyx_v_array->_ptr[0])); if (unlikely(__pyx_t_2 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 12347, __pyx_L1_error)
  __pyx_v_err = __pyx_t_2;

  /* "cuda/cudart.pyx":12348
 *     cdef cudaArraySparseProperties sparseProperties = cudaArraySparseProperties()
 *     err = ccudart.cudaArrayGetSparseProperties(sparseProperties._ptr, array._ptr[0])
 *     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, 12348, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12348, __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, 12348, __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, 12348, __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_sparseProperties));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_sparseProperties));
  PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_sparseProperties));
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":12309
 * 
 * @cython.embedsignature(True)
 * def cudaArrayGetSparseProperties(array not None : cudaArray_t):             # <<<<<<<<<<<<<<
 *     """ Returns the layout properties of a sparse CUDA array.
 * 
 */

  /* 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.cudaArrayGetSparseProperties", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_sparseProperties);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":12351
 * 
 * @cython.embedsignature(True)
 * def cudaMipmappedArrayGetSparseProperties(mipmap not None : cudaMipmappedArray_t):             # <<<<<<<<<<<<<<
 *     """ Returns the layout properties of a sparse CUDA mipmapped array.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_231cudaMipmappedArrayGetSparseProperties(PyObject *__pyx_self, PyObject *__pyx_v_mipmap); /*proto*/
static char __pyx_doc_4cuda_6cudart_230cudaMipmappedArrayGetSparseProperties[] = "cudaMipmappedArrayGetSparseProperties(cudaMipmappedArray_t mipmap: cudaMipmappedArray_t)\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 cudaArraySparse\n    cudaErrorInvalidValue will be returned.\n\n    For non-layered CUDA mipmapped arrays,\n    cudaArraySparseProperties::miptailSize returns the size of the mip tail\n    region. The mip tail region includes all mip levels whose width, height\n    or depth is less than that of the tile. For layered CUDA mipmapped\n    arrays, if cudaArraySparseProperties::flags contains\n    cudaArraySparsePropertiesSingleMipTail, then\n    cudaArraySparseProperties::miptailSize specifies the size of the mip\n    tail of all layers combined. Otherwise,\n    cudaArraySparseProperties::miptailSize specifies mip tail size per\n    layer. The returned value of\n    cudaArraySparseProperties::miptailFirstLevel is valid only if\n    cudaArraySparseProperties::miptailSize is non-zero.\n\n    Parameters\n    ----------\n    mipmap : cudaMipmappedArray_t\n        The CUDA mipmapped array to get the sparse properties of\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    sparseProperties : cudaArraySparseProperties\n        Pointer to return cudaArraySparseProperties\n\n    See Also\n    --------\n    cudaArrayGetSparseProperties\n    cuMemMapArrayAsync\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_231cudaMipmappedArrayGetSparseProperties = {"cudaMipmappedArrayGetSparseProperties", (PyCFunction)__pyx_pw_4cuda_6cudart_231cudaMipmappedArrayGetSparseProperties, METH_O, __pyx_doc_4cuda_6cudart_230cudaMipmappedArrayGetSparseProperties};
static PyObject *__pyx_pw_4cuda_6cudart_231cudaMipmappedArrayGetSparseProperties(PyObject *__pyx_self, PyObject *__pyx_v_mipmap) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMipmappedArrayGetSparseProperties (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mipmap), __pyx_ptype_4cuda_6cudart_cudaMipmappedArray_t, 0, "mipmap", 0))) __PYX_ERR(0, 12351, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_230cudaMipmappedArrayGetSparseProperties(__pyx_self, ((struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_t *)__pyx_v_mipmap));

  /* 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_230cudaMipmappedArrayGetSparseProperties(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_t *__pyx_v_mipmap) {
  struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *__pyx_v_sparseProperties = 0;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_7ccudart_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("cudaMipmappedArrayGetSparseProperties", 0);
  __Pyx_TraceCall("cudaMipmappedArrayGetSparseProperties", __pyx_f[0], 12351, 0, __PYX_ERR(0, 12351, __pyx_L1_error));

  /* "cuda/cudart.pyx":12389
 *     cuMemMapArrayAsync
 *     """
 *     cdef cudaArraySparseProperties sparseProperties = cudaArraySparseProperties()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaMipmappedArrayGetSparseProperties(sparseProperties._ptr, mipmap._ptr[0])
 *     return (cudaError_t(err), sparseProperties)
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaArraySparseProperties)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12389, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_sparseProperties = ((struct __pyx_obj_4cuda_6cudart_cudaArraySparseProperties *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":12390
 *     """
 *     cdef cudaArraySparseProperties sparseProperties = cudaArraySparseProperties()
 *     err = ccudart.cudaMipmappedArrayGetSparseProperties(sparseProperties._ptr, mipmap._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), sparseProperties)
 * 
 */
  __pyx_t_2 = __pyx_f_4cuda_7ccudart_cudaMipmappedArrayGetSparseProperties(__pyx_v_sparseProperties->_ptr, (__pyx_v_mipmap->_ptr[0])); if (unlikely(__pyx_t_2 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 12390, __pyx_L1_error)
  __pyx_v_err = __pyx_t_2;

  /* "cuda/cudart.pyx":12391
 *     cdef cudaArraySparseProperties sparseProperties = cudaArraySparseProperties()
 *     err = ccudart.cudaMipmappedArrayGetSparseProperties(sparseProperties._ptr, mipmap._ptr[0])
 *     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, 12391, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12391, __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, 12391, __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, 12391, __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_sparseProperties));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_sparseProperties));
  PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_sparseProperties));
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":12351
 * 
 * @cython.embedsignature(True)
 * def cudaMipmappedArrayGetSparseProperties(mipmap not None : cudaMipmappedArray_t):             # <<<<<<<<<<<<<<
 *     """ Returns the layout properties of a sparse CUDA mipmapped array.
 * 
 */

  /* 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.cudaMipmappedArrayGetSparseProperties", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_sparseProperties);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":12394
 * 
 * @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_233cudaMemcpy(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_232cudaMemcpy[] = "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 cudaMemcpyHostToHost,\n    cudaMemcpyHostToDevice, cudaMemcpyDeviceToHost,\n    cudaMemcpyDeviceToDevice, or cudaMemcpyDefault. Passing\n    cudaMemcpyDefault is recommended, in which case the type of transfer is\n    inferred from the pointer values. However, cudaMemcpyDefault is only\n    allowed on systems that support unified virtual addressing. Calling\n    cudaMemcpy() with dst and src pointers that do not match the direction\n    of the copy results in an undefined behavior.\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 : cudaMemcpyKind\n        Type of transfer\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorInvalidMemcpyDirection\n    None\n        None\n\n    See Also\n    --------\n    cudaMemcpy2D\n    cudaMemcpy2DToArray\n    cudaMemcpy2DFromArray\n    cudaMemcpy2DArrayToArray\n    cudaMemcpyToSymbol\n    cudaMemcpyFromSymbol\n    cudaMemcpyAsync\n    cudaMemcpy2DAsync\n    cudaMemcpy2DToArrayAsync\n    cudaMemcpy2DFromArrayAsync\n    cudaMemcpyToSymbolAsync\n    cudaMemcpyFromSymbolAsync\n    cuMemcpyDtoH\n    cuMemcpyHtoD\n    cuMemcpyDtoD\n    cuMemcpy\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_233cudaMemcpy = {"cudaMemcpy", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_233cudaMemcpy, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_232cudaMemcpy};
static PyObject *__pyx_pw_4cuda_6cudart_233cudaMemcpy(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, 12394, __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, 12394, __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, 12394, __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, 12394, __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, 12394, __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, 12394, __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, 12394, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_232cudaMemcpy(__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_232cudaMemcpy(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 __pyx_t_4cuda_7ccudart_cudaMemcpyKind __pyx_v_ckind;
  __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemcpyKind __pyx_t_3;
  __pyx_t_4cuda_7ccudart_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__452)
  __Pyx_RefNannySetupContext("cudaMemcpy", 0);
  __Pyx_TraceCall("cudaMemcpy", __pyx_f[0], 12394, 0, __PYX_ERR(0, 12394, __pyx_L1_error));

  /* "cuda/cudart.pyx":12447
 *     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, 12447, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cdst = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":12448
 *     """
 *     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, 12448, __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, 12448, __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":12449
 *     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, 12449, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_csrc = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":12450
 *     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, 12450, __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, 12450, __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":12451
 *     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, 12451, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = ((enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaMemcpyKind(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 12451, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_ckind = __pyx_t_3;

  /* "cuda/cudart.pyx":12452
 *     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":12453
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 12453, __pyx_L4_error)
        __pyx_v_err = __pyx_t_4;
      }

      /* "cuda/cudart.pyx":12452
 *     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":12454
 *     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, 12454, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12454, __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, 12454, __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, 12454, __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":12394
 * 
 * @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":12457
 * 
 * @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_235cudaMemcpyPeer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_234cudaMemcpyPeer[] = "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    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        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorInvalidDevice\n    None\n        None\n\n    See Also\n    --------\n    cudaMemcpy\n    cudaMemcpyAsync\n    cudaMemcpyPeerAsync\n    cudaMemcpy3DPeerAsync\n    cuMemcpyPeer\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_235cudaMemcpyPeer = {"cudaMemcpyPeer", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_235cudaMemcpyPeer, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_234cudaMemcpyPeer};
static PyObject *__pyx_pw_4cuda_6cudart_235cudaMemcpyPeer(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, 12457, __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, 12457, __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, 12457, __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, 12457, __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, 12457, __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, 12457, __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, 12457, __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, 12457, __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, 12457, __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_234cudaMemcpyPeer(__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_234cudaMemcpyPeer(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;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__453)
  __Pyx_RefNannySetupContext("cudaMemcpyPeer", 0);
  __Pyx_TraceCall("cudaMemcpyPeer", __pyx_f[0], 12457, 0, __PYX_ERR(0, 12457, __pyx_L1_error));

  /* "cuda/cudart.pyx":12501
 *     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, 12501, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cdst = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":12502
 *     """
 *     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, 12502, __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, 12502, __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":12503
 *     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, 12503, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_csrc = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":12504
 *     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, 12504, __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, 12504, __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":12505
 *     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":12506
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 12506, __pyx_L4_error)
        __pyx_v_err = __pyx_t_3;
      }

      /* "cuda/cudart.pyx":12505
 *     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":12507
 *     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, 12507, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 12507, __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, 12507, __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, 12507, __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":12457
 * 
 * @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":12510
 * 
 * @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_237cudaMemcpy2D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_236cudaMemcpy2D[] = "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    cudaMemcpyHostToHost, cudaMemcpyHostToDevice, cudaMemcpyDeviceToHost,\n    cudaMemcpyDeviceToDevice, or cudaMemcpyDefault. Passing\n    cudaMemcpyDefault is recommended, in which case the type of transfer is\n    inferred from the pointer values. However, cudaMemcpyDefault is only\n    allowed on systems that support unified virtual addressing. `dpitch`\n    and `spitch` are the widths in memory in bytes of the 2D arrays pointed\n    to by `dst` and `src`, including any padding added to the end of each\n    row. The memory areas may not overlap. `width` must not exceed either\n    `dpitch` or `spitch`. Calling cudaMemcpy2D() with `dst` and `src`\n    pointers that do not match the direction of the copy results in an\n    undefined behavior. 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 : cudaMemcpyKind\n        Type of transfer\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorInvalidPitchValue\n        cudaErrorInvalidMemcpyDirection\n    None\n        None\n\n    See Also\n    --------\n    cudaMemcpy\n    cudaMemcpy2DToArray\n    cudaMemcpy2DFromArray\n    cudaMemcpy2DArrayToArray\n    cudaMemcpyToSymbol\n    cuda""MemcpyFromSymbol\n    cudaMemcpyAsync\n    cudaMemcpy2DAsync\n    cudaMemcpy2DToArrayAsync\n    cudaMemcpy2DFromArrayAsync\n    cudaMemcpyToSymbolAsync\n    cudaMemcpyFromSymbolAsync\n    cuMemcpy2D\n    cuMemcpy2DUnaligned\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_237cudaMemcpy2D = {"cudaMemcpy2D", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_237cudaMemcpy2D, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_236cudaMemcpy2D};
static PyObject *__pyx_pw_4cuda_6cudart_237cudaMemcpy2D(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, 12510, __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, 12510, __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, 12510, __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, 12510, __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, 12510, __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, 12510, __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, 12510, __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, 12510, __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, 12510, __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, 12510, __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, 12510, __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, 12510, __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, 12510, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_236cudaMemcpy2D(__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_236cudaMemcpy2D(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 __pyx_t_4cuda_7ccudart_cudaMemcpyKind __pyx_v_ckind;
  __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemcpyKind __pyx_t_3;
  __pyx_t_4cuda_7ccudart_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__454)
  __Pyx_RefNannySetupContext("cudaMemcpy2D", 0);
  __Pyx_TraceCall("cudaMemcpy2D", __pyx_f[0], 12510, 0, __PYX_ERR(0, 12510, __pyx_L1_error));

  /* "cuda/cudart.pyx":12573
 *     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, 12573, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cdst = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":12574
 *     """
 *     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, 12574, __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, 12574, __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":12575
 *     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, 12575, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_csrc = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":12576
 *     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, 12576, __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, 12576, __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":12577
 *     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, 12577, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = ((enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaMemcpyKind(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 12577, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_ckind = __pyx_t_3;

  /* "cuda/cudart.pyx":12578
 *     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":12579
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 12579, __pyx_L4_error)
        __pyx_v_err = __pyx_t_4;
      }

      /* "cuda/cudart.pyx":12578
 *     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":12580
 *     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, 12580, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12580, __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, 12580, __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, 12580, __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":12510
 * 
 * @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":12583
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy2DToArray(dst not None : cudaArray_t, 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_239cudaMemcpy2DToArray(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_238cudaMemcpy2DToArray[] = "cudaMemcpy2DToArray(cudaArray_t dst: cudaArray_t, 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    cudaMemcpyHostToHost, cudaMemcpyHostToDevice, cudaMemcpyDeviceToHost,\n    cudaMemcpyDeviceToDevice, or cudaMemcpyDefault. Passing\n    cudaMemcpyDefault is recommended, in which case the type of transfer is\n    inferred from the pointer values. However, cudaMemcpyDefault is only\n    allowed on systems that support unified virtual addressing. `spitch` is\n    the width in memory in bytes of the 2D array pointed to by `src`,\n    including any padding added to the end of each row. `wOffset` + `width`\n    must not exceed the width of the CUDA array `dst`. `width` must not\n    exceed `spitch`. cudaMemcpy2DToArray() returns an error if `spitch`\n    exceeds the maximum allowed.\n\n    Parameters\n    ----------\n    dst : 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 : cudaMemcpyKind\n        Type of transfer\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorInvalidPitchValue\n        cudaErrorInvalidMemcpyDirection\n    None\n        None\n\n    See Also\n    --------\n    cudaMemcpy\n    cudaMemcpy2D\n    cudaMemcpy2DFromArray\n    cudaMemc""py2DArrayToArray\n    cudaMemcpyToSymbol\n    cudaMemcpyFromSymbol\n    cudaMemcpyAsync\n    cudaMemcpy2DAsync\n    cudaMemcpy2DToArrayAsync\n    cudaMemcpy2DFromArrayAsync\n    cudaMemcpyToSymbolAsync\n    cudaMemcpyFromSymbolAsync\n    cuMemcpy2D\n    cuMemcpy2DUnaligned\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_239cudaMemcpy2DToArray = {"cudaMemcpy2DToArray", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_239cudaMemcpy2DToArray, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_238cudaMemcpy2DToArray};
static PyObject *__pyx_pw_4cuda_6cudart_239cudaMemcpy2DToArray(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_4cuda_6cudart_cudaArray_t *__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, 12583, __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, 12583, __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, 12583, __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, 12583, __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, 12583, __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, 12583, __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, 12583, __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, 12583, __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 = ((struct __pyx_obj_4cuda_6cudart_cudaArray_t *)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, 12583, __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, 12583, __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, 12583, __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, 12583, __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, 12583, __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, 12583, __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(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dst), __pyx_ptype_4cuda_6cudart_cudaArray_t, 0, "dst", 0))) __PYX_ERR(0, 12583, __pyx_L1_error)
  if (unlikely(((PyObject *)__pyx_v_kind) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "kind"); __PYX_ERR(0, 12583, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_238cudaMemcpy2DToArray(__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_238cudaMemcpy2DToArray(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaArray_t *__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_csrc = NULL;
  void *__pyx_v_csrc_ptr;
  enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind __pyx_v_ckind;
  __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemcpyKind __pyx_t_3;
  __pyx_t_4cuda_7ccudart_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__455)
  __Pyx_RefNannySetupContext("cudaMemcpy2DToArray", 0);
  __Pyx_TraceCall("cudaMemcpy2DToArray", __pyx_f[0], 12583, 0, __PYX_ERR(0, 12583, __pyx_L1_error));

  /* "cuda/cudart.pyx":12647
 *     cuMemcpy2DUnaligned
 *     """
 *     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, 12647, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_csrc = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":12648
 *     """
 *     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, 12648, __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, 12648, __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":12649
 *     csrc = utils.HelperInputVoidPtr(src)
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = ccudart.cudaMemcpy2DToArray(dst._ptr[0], wOffset, hOffset, 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, 12649, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = ((enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaMemcpyKind(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 12649, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_ckind = __pyx_t_3;

  /* "cuda/cudart.pyx":12650
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMemcpy2DToArray(dst._ptr[0], 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":12651
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     with nogil:
 *         err = ccudart.cudaMemcpy2DToArray(dst._ptr[0], wOffset, hOffset, csrc_ptr, spitch, width, height, ckind)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
        __pyx_t_4 = __pyx_f_4cuda_7ccudart_cudaMemcpy2DToArray((__pyx_v_dst->_ptr[0]), __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_4 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 12651, __pyx_L4_error)
        __pyx_v_err = __pyx_t_4;
      }

      /* "cuda/cudart.pyx":12650
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMemcpy2DToArray(dst._ptr[0], 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_L5;
        }
        __pyx_L4_error: {
          #ifdef WITH_THREAD
          __Pyx_FastGIL_Forget();
          Py_BLOCK_THREADS
          #endif
          goto __pyx_L1_error;
        }
        __pyx_L5:;
      }
  }

  /* "cuda/cudart.pyx":12652
 *     with nogil:
 *         err = ccudart.cudaMemcpy2DToArray(dst._ptr[0], wOffset, hOffset, 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, 12652, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12652, __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, 12652, __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, 12652, __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":12583
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy2DToArray(dst not None : cudaArray_t, 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_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy2DToArray", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_csrc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":12655
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy2DFromArray(dst, size_t dpitch, src not None : cudaArray_const_t, 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_241cudaMemcpy2DFromArray(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_240cudaMemcpy2DFromArray[] = "cudaMemcpy2DFromArray(dst, size_t dpitch, cudaArray_const_t src: cudaArray_const_t, 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    cudaMemcpyHostToHost, cudaMemcpyHostToDevice, cudaMemcpyDeviceToHost,\n    cudaMemcpyDeviceToDevice, or cudaMemcpyDefault. Passing\n    cudaMemcpyDefault is recommended, in which case the type of transfer is\n    inferred from the pointer values. However, cudaMemcpyDefault is only\n    allowed on systems that support unified virtual addressing. `dpitch` is\n    the width in memory in bytes of the 2D array pointed to by `dst`,\n    including any padding added to the end of each row. `wOffset` + `width`\n    must not exceed the width of the CUDA array `src`. `width` must not\n    exceed `dpitch`. 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 : 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 : cudaMemcpyKind\n        Type of transfer\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorInvalidPitchValue\n        cudaErrorInvalidMemcpyDirection\n    None\n        None\n\n    See Also\n    --------\n    cudaMemcpy\n    cudaMemcpy2D\n    cudaMemcpy2DToArra""y\n    cudaMemcpy2DArrayToArray\n    cudaMemcpyToSymbol\n    cudaMemcpyFromSymbol\n    cudaMemcpyAsync\n    cudaMemcpy2DAsync\n    cudaMemcpy2DToArrayAsync\n    cudaMemcpy2DFromArrayAsync\n    cudaMemcpyToSymbolAsync\n    cudaMemcpyFromSymbolAsync\n    cuMemcpy2D\n    cuMemcpy2DUnaligned\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_241cudaMemcpy2DFromArray = {"cudaMemcpy2DFromArray", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_241cudaMemcpy2DFromArray, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_240cudaMemcpy2DFromArray};
static PyObject *__pyx_pw_4cuda_6cudart_241cudaMemcpy2DFromArray(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_dst = 0;
  size_t __pyx_v_dpitch;
  struct __pyx_obj_4cuda_6cudart_cudaArray_const_t *__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, 12655, __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, 12655, __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, 12655, __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, 12655, __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, 12655, __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, 12655, __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, 12655, __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, 12655, __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, 12655, __pyx_L3_error)
    __pyx_v_src = ((struct __pyx_obj_4cuda_6cudart_cudaArray_const_t *)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, 12655, __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, 12655, __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, 12655, __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, 12655, __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, 12655, __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(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_src), __pyx_ptype_4cuda_6cudart_cudaArray_const_t, 0, "src", 0))) __PYX_ERR(0, 12655, __pyx_L1_error)
  if (unlikely(((PyObject *)__pyx_v_kind) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "kind"); __PYX_ERR(0, 12655, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_240cudaMemcpy2DFromArray(__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_240cudaMemcpy2DFromArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, size_t __pyx_v_dpitch, struct __pyx_obj_4cuda_6cudart_cudaArray_const_t *__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_cdst = NULL;
  void *__pyx_v_cdst_ptr;
  enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind __pyx_v_ckind;
  __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemcpyKind __pyx_t_3;
  __pyx_t_4cuda_7ccudart_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__456)
  __Pyx_RefNannySetupContext("cudaMemcpy2DFromArray", 0);
  __Pyx_TraceCall("cudaMemcpy2DFromArray", __pyx_f[0], 12655, 0, __PYX_ERR(0, 12655, __pyx_L1_error));

  /* "cuda/cudart.pyx":12719
 *     cuMemcpy2DUnaligned
 *     """
 *     cdst = utils.HelperInputVoidPtr(dst)             # <<<<<<<<<<<<<<
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 */
  __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, 12719, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cdst = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":12720
 *     """
 *     cdst = utils.HelperInputVoidPtr(dst)
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     with nogil:
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cdst, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12720, __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, 12720, __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":12721
 *     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, src._ptr[0], wOffset, hOffset, width, height, ckind)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_kind, __pyx_n_s_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12721, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = ((enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaMemcpyKind(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 12721, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_ckind = __pyx_t_3;

  /* "cuda/cudart.pyx":12722
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMemcpy2DFromArray(cdst_ptr, dpitch, src._ptr[0], 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":12723
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     with nogil:
 *         err = ccudart.cudaMemcpy2DFromArray(cdst_ptr, dpitch, src._ptr[0], wOffset, hOffset, width, height, ckind)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
        __pyx_t_4 = __pyx_f_4cuda_7ccudart_cudaMemcpy2DFromArray(__pyx_v_cdst_ptr, __pyx_v_dpitch, (__pyx_v_src->_ptr[0]), __pyx_v_wOffset, __pyx_v_hOffset, __pyx_v_width, __pyx_v_height, __pyx_v_ckind); if (unlikely(__pyx_t_4 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 12723, __pyx_L4_error)
        __pyx_v_err = __pyx_t_4;
      }

      /* "cuda/cudart.pyx":12722
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMemcpy2DFromArray(cdst_ptr, dpitch, src._ptr[0], wOffset, hOffset, 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":12724
 *     with nogil:
 *         err = ccudart.cudaMemcpy2DFromArray(cdst_ptr, dpitch, src._ptr[0], wOffset, hOffset, 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, 12724, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 12724, __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, 12724, __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, 12724, __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":12655
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy2DFromArray(dst, size_t dpitch, src not None : cudaArray_const_t, 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_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy2DFromArray", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_cdst);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":12727
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy2DArrayToArray(dst not None : cudaArray_t, size_t wOffsetDst, size_t hOffsetDst, src not None : cudaArray_const_t, 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_243cudaMemcpy2DArrayToArray(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_242cudaMemcpy2DArrayToArray[] = "cudaMemcpy2DArrayToArray(cudaArray_t dst: cudaArray_t, size_t wOffsetDst, size_t hOffsetDst, cudaArray_const_t src: cudaArray_const_t, 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    cudaMemcpyHostToHost, cudaMemcpyHostToDevice, cudaMemcpyDeviceToHost,\n    cudaMemcpyDeviceToDevice, or cudaMemcpyDefault. Passing\n    cudaMemcpyDefault is recommended, in which case the type of transfer is\n    inferred from the pointer values. However, cudaMemcpyDefault is only\n    allowed on systems that support unified virtual addressing.\n    `wOffsetDst` + `width` must not exceed the width of the CUDA array\n    `dst`. `wOffsetSrc` + `width` must not exceed the width of the CUDA\n    array `src`.\n\n    Parameters\n    ----------\n    dst : 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 : 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 : cudaMemcpyKind\n        Type of transfer\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorInvalidMemcpyDirection\n    None\n        None\n\n    See Also\n    --------\n    cudaMemcpy\n    cudaMemc""py2D\n    cudaMemcpy2DToArray\n    cudaMemcpy2DFromArray\n    cudaMemcpyToSymbol\n    cudaMemcpyFromSymbol\n    cudaMemcpyAsync\n    cudaMemcpy2DAsync\n    cudaMemcpy2DToArrayAsync\n    cudaMemcpy2DFromArrayAsync\n    cudaMemcpyToSymbolAsync\n    cudaMemcpyFromSymbolAsync\n    cuMemcpy2D\n    cuMemcpy2DUnaligned\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_243cudaMemcpy2DArrayToArray = {"cudaMemcpy2DArrayToArray", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_243cudaMemcpy2DArrayToArray, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_242cudaMemcpy2DArrayToArray};
static PyObject *__pyx_pw_4cuda_6cudart_243cudaMemcpy2DArrayToArray(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_4cuda_6cudart_cudaArray_t *__pyx_v_dst = 0;
  size_t __pyx_v_wOffsetDst;
  size_t __pyx_v_hOffsetDst;
  struct __pyx_obj_4cuda_6cudart_cudaArray_const_t *__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, 12727, __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, 12727, __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, 12727, __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, 12727, __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, 12727, __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, 12727, __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, 12727, __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, 12727, __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, 12727, __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 = ((struct __pyx_obj_4cuda_6cudart_cudaArray_t *)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, 12727, __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, 12727, __pyx_L3_error)
    __pyx_v_src = ((struct __pyx_obj_4cuda_6cudart_cudaArray_const_t *)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, 12727, __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, 12727, __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, 12727, __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, 12727, __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, 12727, __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(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dst), __pyx_ptype_4cuda_6cudart_cudaArray_t, 0, "dst", 0))) __PYX_ERR(0, 12727, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_src), __pyx_ptype_4cuda_6cudart_cudaArray_const_t, 0, "src", 0))) __PYX_ERR(0, 12727, __pyx_L1_error)
  if (unlikely(((PyObject *)__pyx_v_kind) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "kind"); __PYX_ERR(0, 12727, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_242cudaMemcpy2DArrayToArray(__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_242cudaMemcpy2DArrayToArray(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaArray_t *__pyx_v_dst, size_t __pyx_v_wOffsetDst, size_t __pyx_v_hOffsetDst, struct __pyx_obj_4cuda_6cudart_cudaArray_const_t *__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) {
  enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind __pyx_v_ckind;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind __pyx_t_2;
  __pyx_t_4cuda_7ccudart_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("cudaMemcpy2DArrayToArray", 0);
  __Pyx_TraceCall("cudaMemcpy2DArrayToArray", __pyx_f[0], 12727, 0, __PYX_ERR(0, 12727, __pyx_L1_error));

  /* "cuda/cudart.pyx":12791
 *     cuMemcpy2DUnaligned
 *     """
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaMemcpy2DArrayToArray(dst._ptr[0], wOffsetDst, hOffsetDst, src._ptr[0], wOffsetSrc, hOffsetSrc, width, height, ckind)
 *     return (cudaError_t(err),)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_kind, __pyx_n_s_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12791, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaMemcpyKind(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 12791, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_ckind = __pyx_t_2;

  /* "cuda/cudart.pyx":12792
 *     """
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     err = ccudart.cudaMemcpy2DArrayToArray(dst._ptr[0], wOffsetDst, hOffsetDst, src._ptr[0], wOffsetSrc, hOffsetSrc, width, height, ckind)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_3 = __pyx_f_4cuda_7ccudart_cudaMemcpy2DArrayToArray((__pyx_v_dst->_ptr[0]), __pyx_v_wOffsetDst, __pyx_v_hOffsetDst, (__pyx_v_src->_ptr[0]), __pyx_v_wOffsetSrc, __pyx_v_hOffsetSrc, __pyx_v_width, __pyx_v_height, __pyx_v_ckind); if (unlikely(__pyx_t_3 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 12792, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cudart.pyx":12793
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     err = ccudart.cudaMemcpy2DArrayToArray(dst._ptr[0], wOffsetDst, hOffsetDst, src._ptr[0], wOffsetSrc, hOffsetSrc, width, height, 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, 12793, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 12793, __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, 12793, __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, 12793, __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":12727
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy2DArrayToArray(dst not None : cudaArray_t, size_t wOffsetDst, size_t hOffsetDst, src not None : cudaArray_const_t, 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_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpy2DArrayToArray", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":12796
 * 
 * @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_245cudaMemcpyAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_244cudaMemcpyAsync[] = "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 cudaMemcpyHostToHost,\n    cudaMemcpyHostToDevice, cudaMemcpyDeviceToHost,\n    cudaMemcpyDeviceToDevice, or cudaMemcpyDefault. Passing\n    cudaMemcpyDefault is recommended, in which case the type of transfer is\n    inferred from the pointer values. However, cudaMemcpyDefault is only\n    allowed on systems that support unified virtual addressing.\n\n    The memory areas may not overlap. Calling cudaMemcpyAsync() with `dst`\n    and `src` pointers that do not match the direction of the copy results\n    in an undefined behavior.\n\n    cudaMemcpyAsync() is asynchronous with respect to the host, so the call\n    may return before the copy is complete. The copy can optionally be\n    associated to a stream by passing a non-zero `stream` argument. If\n    `kind` is cudaMemcpyHostToDevice or cudaMemcpyDeviceToHost and the\n    `stream` is non-zero, the copy may overlap with operations in other\n    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 : cudaMemcpyKind\n        Type of transfer\n    stream : CUstream or cudaStream_t\n        Stream identifier\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorInvalidMemcpyDirection\n    None\n        None\n\n    See Also\n    --------\n    cudaMemcpy\n    cudaMemcpy2D\n    cudaMemcpy2DToArray\n    cudaMemcpy2DFromArray\n    cudaMemcpy2DArrayToArray\n    cudaMemcpyToSymbol\n    cudaMemcpyFromS""ymbol\n    cudaMemcpy2DAsync\n    cudaMemcpy2DToArrayAsync\n    cudaMemcpy2DFromArrayAsync\n    cudaMemcpyToSymbolAsync\n    cudaMemcpyFromSymbolAsync\n    cuMemcpyAsync\n    cuMemcpyDtoHAsync\n    cuMemcpyHtoDAsync\n    cuMemcpyDtoDAsync\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_245cudaMemcpyAsync = {"cudaMemcpyAsync", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_245cudaMemcpyAsync, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_244cudaMemcpyAsync};
static PyObject *__pyx_pw_4cuda_6cudart_245cudaMemcpyAsync(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, 12796, __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, 12796, __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, 12796, __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, 12796, __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, 12796, __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, 12796, __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, 12796, __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, 12796, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_244cudaMemcpyAsync(__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_244cudaMemcpyAsync(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) {
  PyObject *__pyx_v_cdst = NULL;
  void *__pyx_v_cdst_ptr;
  PyObject *__pyx_v_csrc = NULL;
  void *__pyx_v_csrc_ptr;
  enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind __pyx_v_ckind;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_6;
  enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind __pyx_t_7;
  __pyx_t_4cuda_7ccudart_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__458)
  __Pyx_RefNannySetupContext("cudaMemcpyAsync", 0);
  __Pyx_TraceCall("cudaMemcpyAsync", __pyx_f[0], 12796, 0, __PYX_ERR(0, 12796, __pyx_L1_error));

  /* "cuda/cudart.pyx":12863
 *     cuMemcpyDtoDAsync
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdst = utils.HelperInputVoidPtr(dst)
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":12864
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))             # <<<<<<<<<<<<<<
 *     cdst = utils.HelperInputVoidPtr(dst)
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_stream))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12864, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_stream_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 12864, __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, 12864, __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, 12864, __pyx_L1_error)

    /* "cuda/cudart.pyx":12863
 *     cuMemcpyDtoDAsync
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdst = utils.HelperInputVoidPtr(dst)
 */
  }

  /* "cuda/cudart.pyx":12865
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     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, 12865, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_cdst = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":12866
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     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, 12866, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12866, __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_6));

  /* "cuda/cudart.pyx":12867
 *     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, 12867, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_csrc = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":12868
 *     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_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_csrc, __pyx_n_s_cptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12868, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12868, __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_6));

  /* "cuda/cudart.pyx":12869
 *     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, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_kind, __pyx_n_s_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12869, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = ((enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaMemcpyKind(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 12869, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_ckind = __pyx_t_7;

  /* "cuda/cudart.pyx":12870
 *     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, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     return (cudaError_t(err),)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":12871
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     with nogil:
 *         err = ccudart.cudaMemcpyAsync(cdst_ptr, csrc_ptr, count, ckind, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])             # <<<<<<<<<<<<<<
 *     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_t_4cuda_7ccudart_cudaStream_t)(((struct __pyx_obj_4cuda_6cudart_cudaStream_t *)__pyx_v_stream)->__pyx_base._ptr[0]))); if (unlikely(__pyx_t_8 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 12871, __pyx_L7_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/cudart.pyx":12870
 *     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, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     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":12872
 *     with nogil:
 *         err = ccudart.cudaMemcpyAsync(cdst_ptr, csrc_ptr, count, ckind, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     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, 12872, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_9 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 12872, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __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_9) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __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, 12872, __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, 12872, __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":12796
 * 
 * @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_5);
  __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_cdst);
  __Pyx_XDECREF(__pyx_v_csrc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":12875
 * 
 * @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_247cudaMemcpyPeerAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_246cudaMemcpyPeerAsync[] = "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 : CUstream or cudaStream_t\n        Stream identifier\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorInvalidDevice\n    None\n        None\n\n    See Also\n    --------\n    cudaMemcpy\n    cudaMemcpyPeer\n    cudaMemcpyAsync\n    cudaMemcpy3DPeerAsync\n    cuMemcpyPeerAsync\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_247cudaMemcpyPeerAsync = {"cudaMemcpyPeerAsync", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_247cudaMemcpyPeerAsync, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_246cudaMemcpyPeerAsync};
static PyObject *__pyx_pw_4cuda_6cudart_247cudaMemcpyPeerAsync(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, 12875, __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, 12875, __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, 12875, __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, 12875, __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, 12875, __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, 12875, __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, 12875, __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, 12875, __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, 12875, __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, 12875, __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_246cudaMemcpyPeerAsync(__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_246cudaMemcpyPeerAsync(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) {
  PyObject *__pyx_v_cdst = NULL;
  void *__pyx_v_cdst_ptr;
  PyObject *__pyx_v_csrc = NULL;
  void *__pyx_v_csrc_ptr;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_6;
  __pyx_t_4cuda_7ccudart_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__459)
  __Pyx_RefNannySetupContext("cudaMemcpyPeerAsync", 0);
  __Pyx_TraceCall("cudaMemcpyPeerAsync", __pyx_f[0], 12875, 0, __PYX_ERR(0, 12875, __pyx_L1_error));

  /* "cuda/cudart.pyx":12919
 *     cuMemcpyPeerAsync
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdst = utils.HelperInputVoidPtr(dst)
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":12920
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))             # <<<<<<<<<<<<<<
 *     cdst = utils.HelperInputVoidPtr(dst)
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_stream))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12920, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_stream_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 12920, __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, 12920, __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, 12920, __pyx_L1_error)

    /* "cuda/cudart.pyx":12919
 *     cuMemcpyPeerAsync
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdst = utils.HelperInputVoidPtr(dst)
 */
  }

  /* "cuda/cudart.pyx":12921
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     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, 12921, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_cdst = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":12922
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     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, 12922, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12922, __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_6));

  /* "cuda/cudart.pyx":12923
 *     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_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_src); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12923, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_csrc = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":12924
 *     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, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_csrc, __pyx_n_s_cptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12924, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 12924, __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_6));

  /* "cuda/cudart.pyx":12925
 *     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, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     return (cudaError_t(err),)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":12926
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     with nogil:
 *         err = ccudart.cudaMemcpyPeerAsync(cdst_ptr, dstDevice, csrc_ptr, srcDevice, count, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])             # <<<<<<<<<<<<<<
 *     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_t_4cuda_7ccudart_cudaStream_t)(((struct __pyx_obj_4cuda_6cudart_cudaStream_t *)__pyx_v_stream)->__pyx_base._ptr[0]))); if (unlikely(__pyx_t_7 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 12926, __pyx_L7_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/cudart.pyx":12925
 *     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, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     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":12927
 *     with nogil:
 *         err = ccudart.cudaMemcpyPeerAsync(cdst_ptr, dstDevice, csrc_ptr, srcDevice, count, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     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, 12927, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_8 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 12927, __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_4 = (__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_4)) __PYX_ERR(0, 12927, __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, 12927, __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":12875
 * 
 * @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_5);
  __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_cdst);
  __Pyx_XDECREF(__pyx_v_csrc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":12930
 * 
 * @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_249cudaMemcpy2DAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_248cudaMemcpy2DAsync[] = "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    cudaMemcpyHostToHost, cudaMemcpyHostToDevice, cudaMemcpyDeviceToHost,\n    cudaMemcpyDeviceToDevice, or cudaMemcpyDefault. Passing\n    cudaMemcpyDefault is recommended, in which case the type of transfer is\n    inferred from the pointer values. However, cudaMemcpyDefault is only\n    allowed on systems that support unified virtual addressing. `dpitch`\n    and `spitch` are the widths in memory in bytes of the 2D arrays pointed\n    to by `dst` and `src`, including any padding added to the end of each\n    row. The memory areas may not overlap. `width` must not exceed either\n    `dpitch` or `spitch`.\n\n    Calling cudaMemcpy2DAsync() with `dst` and `src` pointers that do not\n    match the direction of the copy results in an undefined behavior.\n    cudaMemcpy2DAsync() returns an error if `dpitch` or `spitch` is greater\n    than the maximum allowed.\n\n    cudaMemcpy2DAsync() is asynchronous with respect to the host, so the\n    call may return before the copy is complete. The copy can optionally be\n    associated to a stream by passing a non-zero `stream` argument. If\n    `kind` is cudaMemcpyHostToDevice or cudaMemcpyDeviceToHost and `stream`\n    is non-zero, the 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    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 : cudaMemcpyKind\n        Type of transfer\n    stream : CUstream or cudaStream_t\n        Stream identifier\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorInvalidPitchValue\n        cudaErrorInvalidMemcpyDirection\n    None\n        None\n\n    See Also\n    --------\n    cudaMemcpy\n    cudaMemcpy2D\n    cudaMemcpy2DToArray\n    cudaMemcpy2DFromArray\n    cudaMemcpy2DArrayToArray\n    cudaMemcpyToSymbol\n    cudaMemcpyFromSymbol\n    cudaMemcpyAsync\n    cudaMemcpy2DToArrayAsync\n    cudaMemcpy2DFromArrayAsync\n    cudaMemcpyToSymbolAsync\n    cudaMemcpyFromSymbolAsync\n    cuMemcpy2DAsync\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_249cudaMemcpy2DAsync = {"cudaMemcpy2DAsync", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_249cudaMemcpy2DAsync, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_248cudaMemcpy2DAsync};
static PyObject *__pyx_pw_4cuda_6cudart_249cudaMemcpy2DAsync(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, 12930, __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, 12930, __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, 12930, __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, 12930, __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, 12930, __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, 12930, __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, 12930, __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, 12930, __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, 12930, __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, 12930, __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, 12930, __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, 12930, __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, 12930, __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, 12930, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_248cudaMemcpy2DAsync(__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_248cudaMemcpy2DAsync(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) {
  PyObject *__pyx_v_cdst = NULL;
  void *__pyx_v_cdst_ptr;
  PyObject *__pyx_v_csrc = NULL;
  void *__pyx_v_csrc_ptr;
  enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind __pyx_v_ckind;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_6;
  enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind __pyx_t_7;
  __pyx_t_4cuda_7ccudart_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__460)
  __Pyx_RefNannySetupContext("cudaMemcpy2DAsync", 0);
  __Pyx_TraceCall("cudaMemcpy2DAsync", __pyx_f[0], 12930, 0, __PYX_ERR(0, 12930, __pyx_L1_error));

  /* "cuda/cudart.pyx":13005
 *     cuMemcpy2DAsync
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdst = utils.HelperInputVoidPtr(dst)
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":13006
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))             # <<<<<<<<<<<<<<
 *     cdst = utils.HelperInputVoidPtr(dst)
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_stream))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13006, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_stream_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 13006, __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, 13006, __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, 13006, __pyx_L1_error)

    /* "cuda/cudart.pyx":13005
 *     cuMemcpy2DAsync
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdst = utils.HelperInputVoidPtr(dst)
 */
  }

  /* "cuda/cudart.pyx":13007
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     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, 13007, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_cdst = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":13008
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     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, 13008, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13008, __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_6));

  /* "cuda/cudart.pyx":13009
 *     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, 13009, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_csrc = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":13010
 *     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_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_csrc, __pyx_n_s_cptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13010, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13010, __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_6));

  /* "cuda/cudart.pyx":13011
 *     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, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_kind, __pyx_n_s_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13011, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = ((enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaMemcpyKind(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 13011, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_ckind = __pyx_t_7;

  /* "cuda/cudart.pyx":13012
 *     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, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     return (cudaError_t(err),)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":13013
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     with nogil:
 *         err = ccudart.cudaMemcpy2DAsync(cdst_ptr, dpitch, csrc_ptr, spitch, width, height, ckind, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])             # <<<<<<<<<<<<<<
 *     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_t_4cuda_7ccudart_cudaStream_t)(((struct __pyx_obj_4cuda_6cudart_cudaStream_t *)__pyx_v_stream)->__pyx_base._ptr[0]))); if (unlikely(__pyx_t_8 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 13013, __pyx_L7_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/cudart.pyx":13012
 *     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, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     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":13014
 *     with nogil:
 *         err = ccudart.cudaMemcpy2DAsync(cdst_ptr, dpitch, csrc_ptr, spitch, width, height, ckind, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     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, 13014, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_9 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 13014, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __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_9) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __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, 13014, __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, 13014, __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":12930
 * 
 * @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_5);
  __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_cdst);
  __Pyx_XDECREF(__pyx_v_csrc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":13017
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy2DToArrayAsync(dst not None : cudaArray_t, 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_251cudaMemcpy2DToArrayAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_250cudaMemcpy2DToArrayAsync[] = "cudaMemcpy2DToArrayAsync(cudaArray_t dst: cudaArray_t, 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    cudaMemcpyHostToHost, cudaMemcpyHostToDevice, cudaMemcpyDeviceToHost,\n    cudaMemcpyDeviceToDevice, or cudaMemcpyDefault. Passing\n    cudaMemcpyDefault is recommended, in which case the type of transfer is\n    inferred from the pointer values. However, cudaMemcpyDefault is only\n    allowed on systems that support unified virtual addressing. `spitch` is\n    the width in memory in bytes of the 2D array pointed to by `src`,\n    including any padding added to the end of each row. `wOffset` + `width`\n    must not exceed the width of the CUDA array `dst`. `width` must not\n    exceed `spitch`. cudaMemcpy2DToArrayAsync() returns an error if\n    `spitch` exceeds the maximum allowed.\n\n    cudaMemcpy2DToArrayAsync() is asynchronous with respect to the host, so\n    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 cudaMemcpyHostToDevice or cudaMemcpyDeviceToHost\n    and `stream` is non-zero, the copy may overlap with operations in other\n    streams.\n\n    Parameters\n    ----------\n    dst : 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 : cudaMemcpyKind\n        Type of transfer\n    stream : CUstream or cudaStream_t\n        Stream identifier\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorInvalidPitchValue\n        cudaErrorInvalidMemcpyDirection\n    None\n        None\n\n    See Also\n    --------\n    cudaMemcpy\n    cudaMemcpy2D\n    cudaMemcpy2DToArray\n    cudaMemcpy2DFromArray\n    cudaMemcpy2DArrayToArray\n    cudaMemcpyToSymbol\n    cudaMemcpyFromSymbol\n    cudaMemcpyAsync\n    cudaMemcpy2DAsync\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_251cudaMemcpy2DToArrayAsync = {"cudaMemcpy2DToArrayAsync", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_251cudaMemcpy2DToArrayAsync, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_250cudaMemcpy2DToArrayAsync};
static PyObject *__pyx_pw_4cuda_6cudart_251cudaMemcpy2DToArrayAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_4cuda_6cudart_cudaArray_t *__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, 13017, __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, 13017, __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, 13017, __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, 13017, __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, 13017, __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, 13017, __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, 13017, __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, 13017, __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, 13017, __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 = ((struct __pyx_obj_4cuda_6cudart_cudaArray_t *)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, 13017, __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, 13017, __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, 13017, __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, 13017, __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, 13017, __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, 13017, __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(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dst), __pyx_ptype_4cuda_6cudart_cudaArray_t, 0, "dst", 0))) __PYX_ERR(0, 13017, __pyx_L1_error)
  if (unlikely(((PyObject *)__pyx_v_kind) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "kind"); __PYX_ERR(0, 13017, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_250cudaMemcpy2DToArrayAsync(__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_250cudaMemcpy2DToArrayAsync(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaArray_t *__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) {
  PyObject *__pyx_v_csrc = NULL;
  void *__pyx_v_csrc_ptr;
  enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind __pyx_v_ckind;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_6;
  enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind __pyx_t_7;
  __pyx_t_4cuda_7ccudart_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__461)
  __Pyx_RefNannySetupContext("cudaMemcpy2DToArrayAsync", 0);
  __Pyx_TraceCall("cudaMemcpy2DToArrayAsync", __pyx_f[0], 13017, 0, __PYX_ERR(0, 13017, __pyx_L1_error));

  /* "cuda/cudart.pyx":13085
 *     cudaMemcpy2DAsync
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     csrc = utils.HelperInputVoidPtr(src)
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":13086
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))             # <<<<<<<<<<<<<<
 *     csrc = utils.HelperInputVoidPtr(src)
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_stream))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13086, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_stream_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 13086, __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, 13086, __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, 13086, __pyx_L1_error)

    /* "cuda/cudart.pyx":13085
 *     cudaMemcpy2DAsync
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     csrc = utils.HelperInputVoidPtr(src)
 */
  }

  /* "cuda/cudart.pyx":13087
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     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, 13087, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_csrc = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":13088
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     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, 13088, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13088, __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_6));

  /* "cuda/cudart.pyx":13089
 *     csrc = utils.HelperInputVoidPtr(src)
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = ccudart.cudaMemcpy2DToArrayAsync(dst._ptr[0], wOffset, hOffset, csrc_ptr, spitch, width, height, ckind, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_kind, __pyx_n_s_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13089, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = ((enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaMemcpyKind(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 13089, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_ckind = __pyx_t_7;

  /* "cuda/cudart.pyx":13090
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMemcpy2DToArrayAsync(dst._ptr[0], wOffset, hOffset, csrc_ptr, spitch, width, height, ckind, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     return (cudaError_t(err),)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":13091
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     with nogil:
 *         err = ccudart.cudaMemcpy2DToArrayAsync(dst._ptr[0], wOffset, hOffset, csrc_ptr, spitch, width, height, ckind, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
        __pyx_t_8 = __pyx_f_4cuda_7ccudart_cudaMemcpy2DToArrayAsync((__pyx_v_dst->_ptr[0]), __pyx_v_wOffset, __pyx_v_hOffset, __pyx_v_csrc_ptr, __pyx_v_spitch, __pyx_v_width, __pyx_v_height, __pyx_v_ckind, ((__pyx_t_4cuda_7ccudart_cudaStream_t)(((struct __pyx_obj_4cuda_6cudart_cudaStream_t *)__pyx_v_stream)->__pyx_base._ptr[0]))); if (unlikely(__pyx_t_8 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 13091, __pyx_L7_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/cudart.pyx":13090
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMemcpy2DToArrayAsync(dst._ptr[0], wOffset, hOffset, csrc_ptr, spitch, width, height, ckind, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     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":13092
 *     with nogil:
 *         err = ccudart.cudaMemcpy2DToArrayAsync(dst._ptr[0], wOffset, hOffset, csrc_ptr, spitch, width, height, ckind, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     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, 13092, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_9 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 13092, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __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_9) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __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, 13092, __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, 13092, __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":13017
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy2DToArrayAsync(dst not None : cudaArray_t, 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_5);
  __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_csrc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":13095
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy2DFromArrayAsync(dst, size_t dpitch, src not None : cudaArray_const_t, 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_253cudaMemcpy2DFromArrayAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_252cudaMemcpy2DFromArrayAsync[] = "cudaMemcpy2DFromArrayAsync(dst, size_t dpitch, cudaArray_const_t src: cudaArray_const_t, 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    cudaMemcpyHostToHost, cudaMemcpyHostToDevice, cudaMemcpyDeviceToHost,\n    cudaMemcpyDeviceToDevice, or cudaMemcpyDefault. Passing\n    cudaMemcpyDefault is recommended, in which case the type of transfer is\n    inferred from the pointer values. However, cudaMemcpyDefault is only\n    allowed on systems that support unified virtual addressing. `dpitch` is\n    the width in memory in bytes of the 2D array pointed to by `dst`,\n    including any padding added to the end of each row. `wOffset` + `width`\n    must not exceed the width of the CUDA array `src`. `width` must not\n    exceed `dpitch`. cudaMemcpy2DFromArrayAsync() returns an error if\n    `dpitch` exceeds the maximum allowed.\n\n    cudaMemcpy2DFromArrayAsync() 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 cudaMemcpyHostToDevice or cudaMemcpyDeviceToHost\n    and `stream` is non-zero, the copy may overlap with operations in other\n    streams.\n\n    Parameters\n    ----------\n    dst : Any\n        Destination memory address\n    dpitch : size_t\n        Pitch of destination memory\n    src : 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 b""ytes)\n    height : size_t\n        Height of matrix transfer (rows)\n    kind : cudaMemcpyKind\n        Type of transfer\n    stream : CUstream or cudaStream_t\n        Stream identifier\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorInvalidPitchValue\n        cudaErrorInvalidMemcpyDirection\n    None\n        None\n\n    See Also\n    --------\n    cudaMemcpy\n    cudaMemcpy2D\n    cudaMemcpy2DToArray\n    cudaMemcpy2DFromArray\n    cudaMemcpy2DArrayToArray\n    cudaMemcpyToSymbol\n    cudaMemcpyFromSymbol\n    cudaMemcpyAsync\n    cudaMemcpy2DAsync\n    cudaMemcpy2DToArrayAsync\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_253cudaMemcpy2DFromArrayAsync = {"cudaMemcpy2DFromArrayAsync", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_253cudaMemcpy2DFromArrayAsync, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_252cudaMemcpy2DFromArrayAsync};
static PyObject *__pyx_pw_4cuda_6cudart_253cudaMemcpy2DFromArrayAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_dst = 0;
  size_t __pyx_v_dpitch;
  struct __pyx_obj_4cuda_6cudart_cudaArray_const_t *__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, 13095, __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, 13095, __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, 13095, __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, 13095, __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, 13095, __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, 13095, __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, 13095, __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, 13095, __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, 13095, __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, 13095, __pyx_L3_error)
    __pyx_v_src = ((struct __pyx_obj_4cuda_6cudart_cudaArray_const_t *)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, 13095, __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, 13095, __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, 13095, __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, 13095, __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, 13095, __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(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_src), __pyx_ptype_4cuda_6cudart_cudaArray_const_t, 0, "src", 0))) __PYX_ERR(0, 13095, __pyx_L1_error)
  if (unlikely(((PyObject *)__pyx_v_kind) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "kind"); __PYX_ERR(0, 13095, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_252cudaMemcpy2DFromArrayAsync(__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_252cudaMemcpy2DFromArrayAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, size_t __pyx_v_dpitch, struct __pyx_obj_4cuda_6cudart_cudaArray_const_t *__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) {
  PyObject *__pyx_v_cdst = NULL;
  void *__pyx_v_cdst_ptr;
  enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind __pyx_v_ckind;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_6;
  enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind __pyx_t_7;
  __pyx_t_4cuda_7ccudart_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__462)
  __Pyx_RefNannySetupContext("cudaMemcpy2DFromArrayAsync", 0);
  __Pyx_TraceCall("cudaMemcpy2DFromArrayAsync", __pyx_f[0], 13095, 0, __PYX_ERR(0, 13095, __pyx_L1_error));

  /* "cuda/cudart.pyx":13164
 *     cudaMemcpy2DToArrayAsync
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdst = utils.HelperInputVoidPtr(dst)
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":13165
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))             # <<<<<<<<<<<<<<
 *     cdst = utils.HelperInputVoidPtr(dst)
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_stream))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13165, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_stream_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 13165, __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, 13165, __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, 13165, __pyx_L1_error)

    /* "cuda/cudart.pyx":13164
 *     cudaMemcpy2DToArrayAsync
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdst = utils.HelperInputVoidPtr(dst)
 */
  }

  /* "cuda/cudart.pyx":13166
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     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, 13166, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_cdst = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":13167
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     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, 13167, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13167, __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_6));

  /* "cuda/cudart.pyx":13168
 *     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, src._ptr[0], wOffset, hOffset, width, height, ckind, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_kind, __pyx_n_s_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13168, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = ((enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaMemcpyKind(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 13168, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_ckind = __pyx_t_7;

  /* "cuda/cudart.pyx":13169
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMemcpy2DFromArrayAsync(cdst_ptr, dpitch, src._ptr[0], wOffset, hOffset, width, height, ckind, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     return (cudaError_t(err),)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":13170
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     with nogil:
 *         err = ccudart.cudaMemcpy2DFromArrayAsync(cdst_ptr, dpitch, src._ptr[0], wOffset, hOffset, width, height, ckind, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
        __pyx_t_8 = __pyx_f_4cuda_7ccudart_cudaMemcpy2DFromArrayAsync(__pyx_v_cdst_ptr, __pyx_v_dpitch, (__pyx_v_src->_ptr[0]), __pyx_v_wOffset, __pyx_v_hOffset, __pyx_v_width, __pyx_v_height, __pyx_v_ckind, ((__pyx_t_4cuda_7ccudart_cudaStream_t)(((struct __pyx_obj_4cuda_6cudart_cudaStream_t *)__pyx_v_stream)->__pyx_base._ptr[0]))); if (unlikely(__pyx_t_8 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 13170, __pyx_L7_error)
        __pyx_v_err = __pyx_t_8;
      }

      /* "cuda/cudart.pyx":13169
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMemcpy2DFromArrayAsync(cdst_ptr, dpitch, src._ptr[0], wOffset, hOffset, width, height, ckind, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     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":13171
 *     with nogil:
 *         err = ccudart.cudaMemcpy2DFromArrayAsync(cdst_ptr, dpitch, src._ptr[0], wOffset, hOffset, width, height, ckind, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     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, 13171, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_9 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 13171, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __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_9) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __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, 13171, __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, 13171, __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":13095
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy2DFromArrayAsync(dst, size_t dpitch, src not None : cudaArray_const_t, 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_5);
  __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_cdst);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":13174
 * 
 * @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_255cudaMemset(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_254cudaMemset[] = "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        cudaSuccess\n        cudaErrorInvalidValue\n    None\n        None\n\n    See Also\n    --------\n    cuMemsetD8\n    cuMemsetD16\n    cuMemsetD32\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_255cudaMemset = {"cudaMemset", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_255cudaMemset, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_254cudaMemset};
static PyObject *__pyx_pw_4cuda_6cudart_255cudaMemset(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, 13174, __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, 13174, __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, 13174, __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, 13174, __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, 13174, __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, 13174, __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_254cudaMemset(__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_254cudaMemset(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;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__463)
  __Pyx_RefNannySetupContext("cudaMemset", 0);
  __Pyx_TraceCall("cudaMemset", __pyx_f[0], 13174, 0, __PYX_ERR(0, 13174, __pyx_L1_error));

  /* "cuda/cudart.pyx":13206
 *     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, 13206, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cdevPtr = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":13207
 *     """
 *     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, 13207, __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, 13207, __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":13208
 *     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":13209
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 13209, __pyx_L4_error)
        __pyx_v_err = __pyx_t_3;
      }

      /* "cuda/cudart.pyx":13208
 *     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":13210
 *     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, 13210, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 13210, __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, 13210, __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, 13210, __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":13174
 * 
 * @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":13213
 * 
 * @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_257cudaMemset2D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_256cudaMemset2D[] = "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 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        cudaSuccess\n        cudaErrorInvalidValue\n    None\n        None\n\n    See Also\n    --------\n    cudaMemset\n    cudaMemset3D\n    cudaMemsetAsync\n    cudaMemset2DAsync\n    cudaMemset3DAsync\n    cuMemsetD2D8\n    cuMemsetD2D16\n    cuMemsetD2D32\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_257cudaMemset2D = {"cudaMemset2D", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_257cudaMemset2D, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_256cudaMemset2D};
static PyObject *__pyx_pw_4cuda_6cudart_257cudaMemset2D(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, 13213, __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, 13213, __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, 13213, __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, 13213, __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, 13213, __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, 13213, __pyx_L3_error)
    __pyx_v_value = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 13213, __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, 13213, __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, 13213, __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, 13213, __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_256cudaMemset2D(__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_256cudaMemset2D(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;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__464)
  __Pyx_RefNannySetupContext("cudaMemset2D", 0);
  __Pyx_TraceCall("cudaMemset2D", __pyx_f[0], 13213, 0, __PYX_ERR(0, 13213, __pyx_L1_error));

  /* "cuda/cudart.pyx":13257
 *     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, 13257, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cdevPtr = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":13258
 *     """
 *     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, 13258, __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, 13258, __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":13259
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 13259, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cudart.pyx":13260
 *     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, 13260, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 13260, __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, 13260, __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, 13260, __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":13213
 * 
 * @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":13263
 * 
 * @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_259cudaMemset3D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_258cudaMemset3D[] = "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 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 : cudaPitchedPtr\n        Pointer to pitched device memory\n    value : int\n        Value to set for each byte of specified memory\n    extent : cudaExtent\n        Size parameters for where to set device memory (`width` field in\n        bytes)\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    None\n        None\n\n    See Also\n    --------\n    cudaMemset\n    cudaMemset2D\n    cudaMemsetAsync\n    cudaMemset2DAsync\n    cudaMemset3DAsync\n    cudaMalloc3D\n    make_cudaPitc""hedPtr\n    make_cudaExtent\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_259cudaMemset3D = {"cudaMemset3D", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_259cudaMemset3D, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_258cudaMemset3D};
static PyObject *__pyx_pw_4cuda_6cudart_259cudaMemset3D(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, 13263, __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, 13263, __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, 13263, __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, 13263, __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, 13263, __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, 13263, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_extent), __pyx_ptype_4cuda_6cudart_cudaExtent, 0, "extent", 0))) __PYX_ERR(0, 13263, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_258cudaMemset3D(__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_258cudaMemset3D(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) {
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __pyx_t_4cuda_7ccudart_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__465)
  __Pyx_RefNannySetupContext("cudaMemset3D", 0);
  __Pyx_TraceCall("cudaMemset3D", __pyx_f[0], 13263, 0, __PYX_ERR(0, 13263, __pyx_L1_error));

  /* "cuda/cudart.pyx":13319
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 13319, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":13320
 *     """
 *     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, 13320, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13320, __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, 13320, __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, 13320, __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":13263
 * 
 * @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":13323
 * 
 * @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_261cudaMemsetAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_260cudaMemsetAsync[] = "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    cudaMemsetAsync() is asynchronous with respect to the host, so the call\n    may return before the memset is complete. The operation can optionally\n    be associated to a stream by passing a non-zero `stream` argument. If\n    `stream` is non-zero, the operation may overlap with operations in\n    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 : CUstream or cudaStream_t\n        Stream identifier\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    None\n        None\n\n    See Also\n    --------\n    cudaMemset\n    cudaMemset2D\n    cudaMemset3D\n    cudaMemset2DAsync\n    cudaMemset3DAsync\n    cuMemsetD8Async\n    cuMemsetD16Async\n    cuMemsetD32Async\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_261cudaMemsetAsync = {"cudaMemsetAsync", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_261cudaMemsetAsync, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_260cudaMemsetAsync};
static PyObject *__pyx_pw_4cuda_6cudart_261cudaMemsetAsync(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, 13323, __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, 13323, __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, 13323, __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, 13323, __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, 13323, __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, 13323, __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, 13323, __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_260cudaMemsetAsync(__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_260cudaMemsetAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_devPtr, int __pyx_v_value, size_t __pyx_v_count, PyObject *__pyx_v_stream) {
  PyObject *__pyx_v_cdevPtr = NULL;
  void *__pyx_v_cdevPtr_ptr;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_6;
  __pyx_t_4cuda_7ccudart_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("cudaMemsetAsync", 0);
  __Pyx_TraceCall("cudaMemsetAsync", __pyx_f[0], 13323, 0, __PYX_ERR(0, 13323, __pyx_L1_error));

  /* "cuda/cudart.pyx":13368
 *     cuMemsetD32Async
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":13369
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))             # <<<<<<<<<<<<<<
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_stream))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13369, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_stream_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 13369, __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, 13369, __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, 13369, __pyx_L1_error)

    /* "cuda/cudart.pyx":13368
 *     cuMemsetD32Async
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 */
  }

  /* "cuda/cudart.pyx":13370
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)             # <<<<<<<<<<<<<<
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     with nogil:
 */
  __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_devPtr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13370, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_cdevPtr = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":13371
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = ccudart.cudaMemsetAsync(cdevPtr_ptr, value, count, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_cdevPtr, __pyx_n_s_cptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13371, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13371, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cdevPtr_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_6));

  /* "cuda/cudart.pyx":13372
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMemsetAsync(cdevPtr_ptr, value, count, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     return (cudaError_t(err),)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":13373
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     with nogil:
 *         err = ccudart.cudaMemsetAsync(cdevPtr_ptr, value, count, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
        __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaMemsetAsync(__pyx_v_cdevPtr_ptr, __pyx_v_value, __pyx_v_count, ((__pyx_t_4cuda_7ccudart_cudaStream_t)(((struct __pyx_obj_4cuda_6cudart_cudaStream_t *)__pyx_v_stream)->__pyx_base._ptr[0]))); if (unlikely(__pyx_t_7 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 13373, __pyx_L7_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/cudart.pyx":13372
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMemsetAsync(cdevPtr_ptr, value, count, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     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":13374
 *     with nogil:
 *         err = ccudart.cudaMemsetAsync(cdevPtr_ptr, value, count, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     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, 13374, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_8 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13374, __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_4 = (__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_4)) __PYX_ERR(0, 13374, __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, 13374, __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":13323
 * 
 * @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_5);
  __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_cdevPtr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":13377
 * 
 * @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_263cudaMemset2DAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_262cudaMemset2DAsync[] = "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 cudaMallocPitch().\n\n    cudaMemset2DAsync() is asynchronous with respect to the host, so the\n    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 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 : CUstream or cudaStream_t\n        Stream identifier\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    None\n        None\n\n    See Also\n    --------\n    cudaMemset\n    cudaMemset2D\n    cudaMemset3D\n    cudaMemsetAsync\n    cudaMemset3DAsync\n    cuMemsetD2D8Async\n    cuMemsetD2D16Async\n    cuMemsetD2D32Async\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_263cudaMemset2DAsync = {"cudaMemset2DAsync", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_263cudaMemset2DAsync, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_262cudaMemset2DAsync};
static PyObject *__pyx_pw_4cuda_6cudart_263cudaMemset2DAsync(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, 13377, __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, 13377, __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, 13377, __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, 13377, __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, 13377, __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, 13377, __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, 13377, __pyx_L3_error)
    __pyx_v_value = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 13377, __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, 13377, __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, 13377, __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, 13377, __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_262cudaMemset2DAsync(__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_262cudaMemset2DAsync(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) {
  PyObject *__pyx_v_cdevPtr = NULL;
  void *__pyx_v_cdevPtr_ptr;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_6;
  __pyx_t_4cuda_7ccudart_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("cudaMemset2DAsync", 0);
  __Pyx_TraceCall("cudaMemset2DAsync", __pyx_f[0], 13377, 0, __PYX_ERR(0, 13377, __pyx_L1_error));

  /* "cuda/cudart.pyx":13429
 *     cuMemsetD2D32Async
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":13430
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))             # <<<<<<<<<<<<<<
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_stream))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13430, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_stream_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 13430, __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, 13430, __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, 13430, __pyx_L1_error)

    /* "cuda/cudart.pyx":13429
 *     cuMemsetD2D32Async
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 */
  }

  /* "cuda/cudart.pyx":13431
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)             # <<<<<<<<<<<<<<
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     err = ccudart.cudaMemset2DAsync(cdevPtr_ptr, pitch, value, width, height, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 */
  __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_devPtr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13431, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_cdevPtr = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":13432
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaMemset2DAsync(cdevPtr_ptr, pitch, value, width, height, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     return (cudaError_t(err),)
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_cdevPtr, __pyx_n_s_cptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13432, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13432, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cdevPtr_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_6));

  /* "cuda/cudart.pyx":13433
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     err = ccudart.cudaMemset2DAsync(cdevPtr_ptr, pitch, value, width, height, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])             # <<<<<<<<<<<<<<
 *     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_t_4cuda_7ccudart_cudaStream_t)(((struct __pyx_obj_4cuda_6cudart_cudaStream_t *)__pyx_v_stream)->__pyx_base._ptr[0]))); if (unlikely(__pyx_t_7 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 13433, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":13434
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     err = ccudart.cudaMemset2DAsync(cdevPtr_ptr, pitch, value, width, height, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     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, 13434, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_8 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13434, __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_4 = (__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_4)) __PYX_ERR(0, 13434, __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, 13434, __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":13377
 * 
 * @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_5);
  __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_cdevPtr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":13437
 * 
 * @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_265cudaMemset3DAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_264cudaMemset3DAsync[] = "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 cudaMalloc3D().\n\n    cudaMemset3DAsync() is asynchronous with respect to the host, so the\n    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    pitchedDevPtr : cudaPitchedPtr\n        Pointer to pitched device memory\n    value : int\n        Value to set for each byte of specified memory\n    extent : cudaExtent\n        Size parameters for where to se""t device memory (`width` field in\n        bytes)\n    stream : CUstream or cudaStream_t\n        Stream identifier\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    None\n        None\n\n    See Also\n    --------\n    cudaMemset\n    cudaMemset2D\n    cudaMemset3D\n    cudaMemsetAsync\n    cudaMemset2DAsync\n    cudaMalloc3D\n    make_cudaPitchedPtr\n    make_cudaExtent\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_265cudaMemset3DAsync = {"cudaMemset3DAsync", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_265cudaMemset3DAsync, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_264cudaMemset3DAsync};
static PyObject *__pyx_pw_4cuda_6cudart_265cudaMemset3DAsync(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, 13437, __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, 13437, __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, 13437, __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, 13437, __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, 13437, __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, 13437, __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, 13437, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_extent), __pyx_ptype_4cuda_6cudart_cudaExtent, 0, "extent", 0))) __PYX_ERR(0, 13437, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_264cudaMemset3DAsync(__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_264cudaMemset3DAsync(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) {
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__468)
  __Pyx_RefNannySetupContext("cudaMemset3DAsync", 0);
  __Pyx_TraceCall("cudaMemset3DAsync", __pyx_f[0], 13437, 0, __PYX_ERR(0, 13437, __pyx_L1_error));

  /* "cuda/cudart.pyx":13501
 *     make_cudaExtent
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     err = ccudart.cudaMemset3DAsync(pitchedDevPtr._ptr[0], value, extent._ptr[0], <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":13502
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaMemset3DAsync(pitchedDevPtr._ptr[0], value, extent._ptr[0], <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     return (cudaError_t(err),)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_stream))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13502, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_stream_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 13502, __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, 13502, __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, 13502, __pyx_L1_error)

    /* "cuda/cudart.pyx":13501
 *     make_cudaExtent
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     err = ccudart.cudaMemset3DAsync(pitchedDevPtr._ptr[0], value, extent._ptr[0], <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 */
  }

  /* "cuda/cudart.pyx":13503
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     err = ccudart.cudaMemset3DAsync(pitchedDevPtr._ptr[0], value, extent._ptr[0], <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaMemset3DAsync((__pyx_v_pitchedDevPtr->_ptr[0]), __pyx_v_value, (__pyx_v_extent->_ptr[0]), ((__pyx_t_4cuda_7ccudart_cudaStream_t)(((struct __pyx_obj_4cuda_6cudart_cudaStream_t *)__pyx_v_stream)->__pyx_base._ptr[0]))); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 13503, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":13504
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     err = ccudart.cudaMemset3DAsync(pitchedDevPtr._ptr[0], value, extent._ptr[0], <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     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, 13504, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 13504, __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_4 = (__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_4)) __PYX_ERR(0, 13504, __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, 13504, __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":13437
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaMemset3DAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":13507
 * 
 * @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_267cudaMemPrefetchAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_266cudaMemPrefetchAsync[] = "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 cudaMallocManaged or\n    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    cudaDevAttrConcurrentManagedAccess must be non-zero. Additionally,\n    `stream` must be associated with a device that has a non-zero value for\n    the device attribute 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 cudaMallocManaged\n    allocations to host memory in order to make room. Device memory\n    allocated using cudaMalloc or 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 cudaMemAdvise as described below:\n\n    If cudaMemAdviseSetReadMostly was set on any subset of this memory\n    range, then that subset will create a read-only copy of the pages on\n    `dstDevice`.""\n\n    If cudaMemAdviseSetPreferredLocation was called on any subset of this\n    memory range, then the pages will be migrated to `dstDevice` even if\n    `dstDevice` is not the preferred location of any pages in the memory\n    range.\n\n    If cudaMemAdviseSetAccessedBy was called on any subset of this memory\n    range, then mappings to those pages from all the appropriate processors\n    are updated to refer to the new location if establishing such a mapping\n    is possible. Otherwise, those mappings are 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 : CUstream or cudaStream_t\n        Stream to enqueue prefetch operation\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorInvalidDevice\n    None\n        None\n\n    See Also\n    --------\n    cudaMemcpy\n    cudaMemcpyPeer\n    cudaMemcpyAsync\n    cudaMemcpy3DPeerAsync\n    cudaMemAdvise\n    cuMemPrefetchAsync\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_267cudaMemPrefetchAsync = {"cudaMemPrefetchAsync", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_267cudaMemPrefetchAsync, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_266cudaMemPrefetchAsync};
static PyObject *__pyx_pw_4cuda_6cudart_267cudaMemPrefetchAsync(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, 13507, __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, 13507, __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, 13507, __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, 13507, __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, 13507, __pyx_L3_error)
    __pyx_v_dstDevice = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_dstDevice == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 13507, __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, 13507, __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_266cudaMemPrefetchAsync(__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_266cudaMemPrefetchAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_devPtr, size_t __pyx_v_count, int __pyx_v_dstDevice, PyObject *__pyx_v_stream) {
  PyObject *__pyx_v_cdevPtr = NULL;
  void *__pyx_v_cdevPtr_ptr;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_6;
  __pyx_t_4cuda_7ccudart_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("cudaMemPrefetchAsync", 0);
  __Pyx_TraceCall("cudaMemPrefetchAsync", __pyx_f[0], 13507, 0, __PYX_ERR(0, 13507, __pyx_L1_error));

  /* "cuda/cudart.pyx":13591
 *     cuMemPrefetchAsync
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":13592
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))             # <<<<<<<<<<<<<<
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_stream))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13592, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_stream_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 13592, __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, 13592, __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, 13592, __pyx_L1_error)

    /* "cuda/cudart.pyx":13591
 *     cuMemPrefetchAsync
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 */
  }

  /* "cuda/cudart.pyx":13593
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)             # <<<<<<<<<<<<<<
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     with nogil:
 */
  __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_devPtr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13593, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_cdevPtr = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":13594
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = ccudart.cudaMemPrefetchAsync(cdevPtr_ptr, count, dstDevice, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_cdevPtr, __pyx_n_s_cptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13594, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 13594, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cdevPtr_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_6));

  /* "cuda/cudart.pyx":13595
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMemPrefetchAsync(cdevPtr_ptr, count, dstDevice, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     return (cudaError_t(err),)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":13596
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     with nogil:
 *         err = ccudart.cudaMemPrefetchAsync(cdevPtr_ptr, count, dstDevice, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
        __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaMemPrefetchAsync(__pyx_v_cdevPtr_ptr, __pyx_v_count, __pyx_v_dstDevice, ((__pyx_t_4cuda_7ccudart_cudaStream_t)(((struct __pyx_obj_4cuda_6cudart_cudaStream_t *)__pyx_v_stream)->__pyx_base._ptr[0]))); if (unlikely(__pyx_t_7 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 13596, __pyx_L7_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/cudart.pyx":13595
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMemPrefetchAsync(cdevPtr_ptr, count, dstDevice, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     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":13597
 *     with nogil:
 *         err = ccudart.cudaMemPrefetchAsync(cdevPtr_ptr, count, dstDevice, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     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, 13597, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_8 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13597, __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_4 = (__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_4)) __PYX_ERR(0, 13597, __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, 13597, __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":13507
 * 
 * @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_5);
  __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_cdevPtr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":13600
 * 
 * @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_269cudaMemAdvise(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_268cudaMemAdvise[] = "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 cudaMallocManaged or declared via managed variables. The\n    memory range could also refer to system-allocated pageable memory\n    provided it represents a valid, host-accessible region of memory and\n    all additional constraints imposed by `advice` as outlined below are\n    also satisfied. Specifying an invalid system-allocated pageable memory\n    range results in an error being returned.\n\n    The `advice` parameter can take the following values:\n    ::cudaMemAdviseSetReadMostly: This implies that the data is mostly\n    going to be read from and only occasionally written to. Any read\n    accesses from any processor to this region will create a read-only copy\n    of at least the accessed pages in that processor's memory.\n    Additionally, if cudaMemPrefetchAsync is called on this region, it will\n    create a read-only copy of the data on the destination processor. If\n    any processor writes to this region, all copies of the corresponding\n    page will be invalidated except for the one where the write occurred.\n    The `device` argument is ignored for this advice. Note that for a page\n    to be read-duplicated, the accessing processor must either be the CPU\n    or a GPU that has a non-zero value for the device attribute\n    cudaDevAttrConcurrentManagedAccess. Also, if a context is created on a\n    device that does not have the device attribute\n    cudaDevAttrConcurrentManagedAccess set, then read-duplication will not\n    occur until all such"" contexts are destroyed. If the memory region\n    refers to valid system-allocated pageable memory, then the accessing\n    device must have a non-zero value for the device attribute\n    cudaDevAttrPageableMemoryAccess for a read-only copy to be created on\n    that device. Note however that if the accessing device also has a non-\n    zero value for the device attribute\n    cudaDevAttrPageableMemoryAccessUsesHostPageTables, then setting this\n    advice will not create a read-only copy when that device accesses this\n    memory region. ::cudaMemAdviceUnsetReadMostly: Undoes the effect of\n    cudaMemAdviceReadMostly and also prevents the Unified Memory driver\n    from attempting heuristic read-duplication on the memory range. Any\n    read-duplicated copies of the data will be collapsed into a single\n    copy. The location for the collapsed copy will be the preferred\n    location if the page has a preferred location and one of the read-\n    duplicated copies was resident at that location. Otherwise, the\n    location chosen is arbitrary. ::cudaMemAdviseSetPreferredLocation: This\n    advice sets the preferred location for the data to be the memory\n    belonging to `device`. Passing in cudaCpuDeviceId for `device` sets the\n    preferred location as host memory. If `device` is a GPU, then it must\n    have a non-zero value for the device attribute\n    cudaDevAttrConcurrentManagedAccess. Setting the preferred location does\n    not cause data to migrate to that location immediately. Instead, it\n    guides the migration policy when a fault occurs on that memory region.\n    If the data is already in its preferred location and the faulting\n    processor can establish a mapping without requiring the data to be\n    migrated, then data migration will be avoided. On the other hand, if\n    the data is not in its preferred location or if a direct mapping cannot\n    be established, then it will be migrated to the processor accessing it.\n    It is important to n""ote that setting the preferred location does not\n    prevent data prefetching done using cudaMemPrefetchAsync. Having a\n    preferred location can override the page thrash detection and\n    resolution logic in the Unified Memory driver. Normally, if a page is\n    detected to be constantly thrashing between for example host and device\n    memory, the page may eventually be pinned to host memory by the Unified\n    Memory driver. But if the preferred location is set as device memory,\n    then the page will continue to thrash indefinitely. If\n    cudaMemAdviseSetReadMostly is also set on this memory region or any\n    subset of it, then the policies associated with that advice will\n    override the policies of this advice, unless read accesses from\n    `device` will not result in a read-only copy being created on that\n    device as outlined in description for the advice\n    cudaMemAdviseSetReadMostly. If the memory region refers to valid\n    system-allocated pageable memory, then `device` must have a non-zero\n    value for the device attribute cudaDevAttrPageableMemoryAccess.\n    Additionally, if `device` has a non-zero value for the device attribute\n    cudaDevAttrPageableMemoryAccessUsesHostPageTables, then this call has\n    no effect. Note however that this behavior may change in the future.\n    ::cudaMemAdviseUnsetPreferredLocation: Undoes the effect of\n    cudaMemAdviseSetPreferredLocation and changes the preferred location to\n    none. ::cudaMemAdviseSetAccessedBy: This advice implies that the data\n    will be accessed by `device`. Passing in cudaCpuDeviceId for `device`\n    will set the advice for the CPU. If `device` is a GPU, then the device\n    attribute cudaDevAttrConcurrentManagedAccess must be non-zero. This\n    advice does not cause data migration and has no impact on the location\n    of the data per se. Instead, it causes the data to always be mapped in\n    the specified processor's page tables, as long as the location of the""\n    data permits a mapping to be established. If the data gets migrated for\n    any reason, the mappings are updated accordingly. This advice is\n    recommended in scenarios where data locality is not important, but\n    avoiding faults is. Consider for example a system containing multiple\n    GPUs with peer-to-peer access enabled, where the data located on one\n    GPU is occasionally accessed by peer GPUs. In such scenarios, migrating\n    data over to the other GPUs is not as important because the accesses\n    are infrequent and the overhead of migration may be too high. But\n    preventing faults can still help improve performance, and so having a\n    mapping set up in advance is useful. Note that on CPU access of this\n    data, the data may be migrated to host memory because the CPU typically\n    cannot access device memory directly. Any GPU that had the\n    cudaMemAdviceSetAccessedBy flag set for this data will now have its\n    mapping updated to point to the page in host memory. If\n    cudaMemAdviseSetReadMostly is also set on this memory region or any\n    subset of it, then the policies associated with that advice will\n    override the policies of this advice. Additionally, if the preferred\n    location of this memory region or any subset of it is also `device`,\n    then the policies associated with cudaMemAdviseSetPreferredLocation\n    will override the policies of this advice. 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    cudaDevAttrPageableMemoryAccess. Additionally, if `device` has a non-\n    zero value for the device attribute\n    cudaDevAttrPageableMemoryAccessUsesHostPageTables, then this call has\n    no effect. ::cudaMemAdviseUnsetAccessedBy: Undoes the effect of\n    cudaMemAdviseSetAccessedBy. Any mappings to the data from `device` may\n    be removed at any time causing accesses to result in non-fatal page\n    faults. If t""he memory region refers to valid system-allocated pageable\n    memory, then `device` must have a non-zero value for the device\n    attribute cudaDevAttrPageableMemoryAccess. Additionally, if `device`\n    has a non-zero value for the device attribute\n    cudaDevAttrPageableMemoryAccessUsesHostPageTables, then this call has\n    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 : 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        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorInvalidDevice\n    None\n        None\n\n    See Also\n    --------\n    cudaMemcpy\n    cudaMemcpyPeer\n    cudaMemcpyAsync\n    cudaMemcpy3DPeerAsync\n    cudaMemPrefetchAsync\n    cuMemAdvise\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_269cudaMemAdvise = {"cudaMemAdvise", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_269cudaMemAdvise, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_268cudaMemAdvise};
static PyObject *__pyx_pw_4cuda_6cudart_269cudaMemAdvise(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, 13600, __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, 13600, __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, 13600, __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, 13600, __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, 13600, __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, 13600, __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, 13600, __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, 13600, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_268cudaMemAdvise(__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_268cudaMemAdvise(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 __pyx_t_4cuda_7ccudart_cudaMemoryAdvise __pyx_v_cadvice;
  __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemoryAdvise __pyx_t_3;
  __pyx_t_4cuda_7ccudart_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__470)
  __Pyx_RefNannySetupContext("cudaMemAdvise", 0);
  __Pyx_TraceCall("cudaMemAdvise", __pyx_f[0], 13600, 0, __PYX_ERR(0, 13600, __pyx_L1_error));

  /* "cuda/cudart.pyx":13750
 *     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, 13750, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cdevPtr = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":13751
 *     """
 *     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, 13751, __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, 13751, __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":13752
 *     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, 13752, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = ((enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaMemoryAdvise(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 13752, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cadvice = __pyx_t_3;

  /* "cuda/cudart.pyx":13753
 *     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":13754
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 13754, __pyx_L4_error)
        __pyx_v_err = __pyx_t_4;
      }

      /* "cuda/cudart.pyx":13753
 *     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":13755
 *     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, 13755, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13755, __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, 13755, __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, 13755, __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":13600
 * 
 * @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":13758
 * 
 * @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_271cudaMemRangeGetAttribute(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_270cudaMemRangeGetAttribute[] = "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 cudaMallocManaged or declared via managed variables.\n\n    The `attribute` parameter can take the following values:\n    ::cudaMemRangeAttributeReadMostly: If this attribute is specified,\n    `data` will be interpreted as a 32-bit integer, and `dataSize` must be\n    4. The result returned will be 1 if all pages in the given memory range\n    have read-duplication enabled, or 0 otherwise.\n    ::cudaMemRangeAttributePreferredLocation: 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 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 location\n    at all. Note that the actual location of the pages in the memory range\n    at the time of the query may be different from the preferred location.\n    ::cudaMemRangeAttributeAccessedBy: If this attribute is specified,\n    `data` will be interpreted as an array of 32-bit integers, and\n    `dataSize` must be a non-zero multiple of 4. The result returned will\n    be a list of device ids that had cudaMemAdviceSetAccessedBy set for\n    that entire memory range. If any device does not have that advice set\n    for the entire memory range, that device will not be included. If\n    `data` is larger than the number of devices that have that advice set\n    for that memory range, cudaInvalidDeviceId will be returned in ""all the\n    extra space provided. For ex., if `dataSize` is 12 (i.e. `data` has 3\n    elements) and only device 0 has the advice set, then the result\n    returned will be { 0, cudaInvalidDeviceId, cudaInvalidDeviceId }. If\n    `data` is smaller than the number of devices that have that advice set,\n    then only as many devices will be returned as can fit in the array.\n    There is no guarantee on which specific devices will be returned,\n    however. ::cudaMemRangeAttributeLastPrefetchLocation: 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 the last location to\n    which all pages in the memory range were prefetched explicitly via\n    cudaMemPrefetchAsync. This will either be a GPU id or cudaCpuDeviceId\n    depending on whether the last location for prefetch was a GPU or the\n    CPU respectively. If any page in the memory range was never explicitly\n    prefetched or if all pages were not prefetched to the same location,\n    cudaInvalidDeviceId will be returned. Note that this simply returns the\n    last location that the applicaton requested to prefetch the memory\n    range to. It gives no indication as to whether the prefetch operation\n    to that location has completed or even begun.\n\n    Parameters\n    ----------\n    dataSize : size_t\n        Array containing the size of data\n    attribute : 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        cudaSuccess\n        cudaErrorInvalidValue\n    data : Any\n        A pointers to a memory location where the result of each attribute\n        query will be written to.\n\n    See Also\n    --------\n    cudaMemRangeGetAttributes\n    cudaMemPrefetchAsync\n    cudaMemAdvise\n    cuMemRangeGetAttribute\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_271cudaMemRangeGetAttribute = {"cudaMemRangeGetAttribute", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_271cudaMemRangeGetAttribute, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_270cudaMemRangeGetAttribute};
static PyObject *__pyx_pw_4cuda_6cudart_271cudaMemRangeGetAttribute(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, 13758, __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, 13758, __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, 13758, __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, 13758, __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, 13758, __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, 13758, __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, 13758, __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, 13758, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_270cudaMemRangeGetAttribute(__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_270cudaMemRangeGetAttribute(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 __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute __pyx_v_cattribute;
  PyObject *__pyx_v_cdevPtr = NULL;
  void *__pyx_v_cdevPtr_ptr;
  __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute __pyx_t_4;
  __pyx_t_4cuda_7ccudart_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__471)
  __Pyx_RefNannySetupContext("cudaMemRangeGetAttribute", 0);
  __Pyx_TraceCall("cudaMemRangeGetAttribute", __pyx_f[0], 13758, 0, __PYX_ERR(0, 13758, __pyx_L1_error));

  /* "cuda/cudart.pyx":13834
 *     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, 13834, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13834, __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, 13834, __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":13835
 *     """
 *     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, 13835, __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, 13835, __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":13836
 *     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, 13836, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = ((enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaMemRangeAttribute(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 13836, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cattribute = __pyx_t_4;

  /* "cuda/cudart.pyx":13837
 *     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, 13837, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cdevPtr = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":13838
 *     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, 13838, __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, 13838, __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":13839
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 13839, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cudart.pyx":13840
 *     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, 13840, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13840, __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, 13840, __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, 13840, __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, 13840, __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, 13840, __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":13758
 * 
 * @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":13843
 * 
 * @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_273cudaMemRangeGetAttributes(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_272cudaMemRangeGetAttributes[] = "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 cudaMallocManaged or declared via managed variables. The\n    `attributes` array will be interpreted to have `numAttributes` entries.\n    The `dataSizes` array will also be interpreted to have `numAttributes`\n    entries. The results of the query will be stored in `data`.\n\n    The list of supported attributes are given below. Please refer to\n    cudaMemRangeGetAttribute for attribute descriptions and restrictions.\n\n    ::cudaMemRangeAttributeReadMostly\n    ::cudaMemRangeAttributePreferredLocation\n    ::cudaMemRangeAttributeAccessedBy\n    ::cudaMemRangeAttributeLastPrefetchLocation\n\n    Parameters\n    ----------\n    dataSizes : List[int]\n        Array containing the sizes of each result\n    attributes : List[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        cudaSuccess\n        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    cudaMemRangeGetAttribute\n    cudaMemAdvise\n    cudaMemPrefetchAsync\n    cuMemRangeGetAttributes\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_273cudaMemRangeGetAttributes = {"cudaMemRangeGetAttributes", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_273cudaMemRangeGetAttributes, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_272cudaMemRangeGetAttributes};
static PyObject *__pyx_pw_4cuda_6cudart_273cudaMemRangeGetAttributes(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, 13843, __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, 13843, __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, 13843, __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, 13843, __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, 13843, __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, 13843, __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, 13843, __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, 13843, __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_272cudaMemRangeGetAttributes(__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":13892
 *     """
 *     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):
 */

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, 13892, __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, 13892, __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], 13892, 0, __PYX_ERR(0, 13892, __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, 13892, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_attributes)) { __Pyx_RaiseClosureNameError("attributes"); __PYX_ERR(0, 13892, __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, 13892, __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, 13892, __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, 13892, __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, 13892, __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, 13892, __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, 13892, __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, 13892, __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, 13892, __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, 13892, __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":13894
 *     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):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dataSizes' is not instance of type (expected List[int]")
 *     pylist = [utils.HelperCUmem_range_attribute(pyattributes, pydataSizes) for (pyattributes, pydataSizes) in zip(attributes, dataSizes)]
 */

static PyObject *__pyx_pf_4cuda_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, 13894, __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, 13894, __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], 13894, 0, __PYX_ERR(0, 13894, __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, 13894, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_dataSizes)) { __Pyx_RaiseClosureNameError("dataSizes"); __PYX_ERR(0, 13894, __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, 13894, __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, 13894, __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, 13894, __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, 13894, __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, 13894, __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, 13894, __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, 13894, __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":13843
 * 
 * @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_272cudaMemRangeGetAttributes(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 __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute>  __pyx_v_cattributes;
  PyObject *__pyx_v_cdevPtr = NULL;
  void *__pyx_v_cdevPtr_ptr;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_gb_4cuda_6cudart_25cudaMemRangeGetAttributes_2generator5 = 0;
  PyObject *__pyx_gb_4cuda_6cudart_25cudaMemRangeGetAttributes_5generator6 = 0;
  PyObject *__pyx_9genexpr60__pyx_v_pyattributes = NULL;
  PyObject *__pyx_9genexpr60__pyx_v_pydataSizes = NULL;
  PyObject *__pyx_9genexpr61__pyx_v_pyattributes = NULL;
  PyObject *__pyx_9genexpr62__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 __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute>  __pyx_t_14;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_t_15;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__472)
  __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, 13843, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __Pyx_TraceCall("cudaMemRangeGetAttributes", __pyx_f[0], 13843, 0, __PYX_ERR(0, 13843, __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":13891
 *     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, 13891, __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":13892
 *     """
 *     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_1 = __pyx_pf_4cuda_6cudart_25cudaMemRangeGetAttributes_genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13892, __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, 13892, __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, 13892, __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":13893
 *     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):
 *         raise TypeError("Argument 'dataSizes' is not instance of type (expected List[int]")
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__473, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13893, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 13893, __pyx_L1_error)

    /* "cuda/cudart.pyx":13892
 *     """
 *     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):
 */
  }

  /* "cuda/cudart.pyx":13894
 *     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):             # <<<<<<<<<<<<<<
 *         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_3 = __pyx_pf_4cuda_6cudart_25cudaMemRangeGetAttributes_3genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13894, __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, 13894, __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, 13894, __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":13895
 *         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]")             # <<<<<<<<<<<<<<
 *     pylist = [utils.HelperCUmem_range_attribute(pyattributes, pydataSizes) for (pyattributes, pydataSizes) in zip(attributes, dataSizes)]
 *     cdef utils.InputVoidPtrPtrHelper voidStarHelper = utils.InputVoidPtrPtrHelper(pylist)
 */
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__474, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13895, __pyx_L1_error)
    __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, 13895, __pyx_L1_error)

    /* "cuda/cudart.pyx":13894
 *     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):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dataSizes' is not instance of type (expected List[int]")
 *     pylist = [utils.HelperCUmem_range_attribute(pyattributes, pydataSizes) for (pyattributes, pydataSizes) in zip(attributes, dataSizes)]
 */
  }

  /* "cuda/cudart.pyx":13896
 *     if not all(isinstance(_x, (int)) for _x in dataSizes):
 *         raise TypeError("Argument 'dataSizes' is not instance of type (expected List[int]")
 *     pylist = [utils.HelperCUmem_range_attribute(pyattributes, pydataSizes) for (pyattributes, pydataSizes) in zip(attributes, dataSizes)]             # <<<<<<<<<<<<<<
 *     cdef utils.InputVoidPtrPtrHelper 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, 13896, __pyx_L7_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13896, __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, 13896, __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, 13896, __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, 13896, __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, 13896, __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, 13896, __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, 13896, __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, 13896, __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, 13896, __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, 13896, __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, 13896, __pyx_L7_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_9 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 13896, __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, 13896, __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, 13896, __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, 13896, __pyx_L7_error)
        __pyx_L11_unpacking_done:;
      }
      __Pyx_XDECREF_SET(__pyx_9genexpr60__pyx_v_pyattributes, __pyx_t_8);
      __pyx_t_8 = 0;
      __Pyx_XDECREF_SET(__pyx_9genexpr60__pyx_v_pydataSizes, __pyx_t_9);
      __pyx_t_9 = 0;
      __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 13896, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_INCREF(__pyx_9genexpr60__pyx_v_pyattributes);
      __Pyx_GIVEREF(__pyx_9genexpr60__pyx_v_pyattributes);
      PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_9genexpr60__pyx_v_pyattributes);
      __Pyx_INCREF(__pyx_9genexpr60__pyx_v_pydataSizes);
      __Pyx_GIVEREF(__pyx_9genexpr60__pyx_v_pydataSizes);
      PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_9genexpr60__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, 13896, __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, 13896, __pyx_L7_error)
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_XDECREF(__pyx_9genexpr60__pyx_v_pyattributes); __pyx_9genexpr60__pyx_v_pyattributes = 0;
    __Pyx_XDECREF(__pyx_9genexpr60__pyx_v_pydataSizes); __pyx_9genexpr60__pyx_v_pydataSizes = 0;
    goto __pyx_L12_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_9genexpr60__pyx_v_pyattributes); __pyx_9genexpr60__pyx_v_pyattributes = 0;
    __Pyx_XDECREF(__pyx_9genexpr60__pyx_v_pydataSizes); __pyx_9genexpr60__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":13897
 *         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
 *     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, 13897, __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":13898
 *     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, 13898, __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, 13898, __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":13899
 *     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(attributes): raise RuntimeError("List is too small: " + str(len(attributes)) + " < " + 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, 13899, __pyx_L1_error)
  __pyx_v_cdataSizes = __pyx_t_13;

  /* "cuda/cudart.pyx":13900
 *     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(attributes): raise RuntimeError("List is too small: " + str(len(attributes)) + " < " + str(numAttributes))
 *     if numAttributes > <size_t>len(numAttributes): raise RuntimeError("List is too small: " + str(len(numAttributes)) + " < " + str(numAttributes))
 */
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13900, __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, 13900, __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, 13900, __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, 13900, __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, 13900, __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, 13900, __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, 13900, __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, 13900, __pyx_L15_error)
          }
          break;
        }
        __Pyx_GOTREF(__pyx_t_9);
      }
      __Pyx_XDECREF_SET(__pyx_9genexpr61__pyx_v_pyattributes, __pyx_t_9);
      __pyx_t_9 = 0;
      __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_9genexpr61__pyx_v_pyattributes, __pyx_n_s_value); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 13900, __pyx_L15_error)
      __Pyx_GOTREF(__pyx_t_9);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_9))) __PYX_ERR(0, 13900, __pyx_L15_error)
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_XDECREF(__pyx_9genexpr61__pyx_v_pyattributes); __pyx_9genexpr61__pyx_v_pyattributes = 0;
    goto __pyx_L18_exit_scope;
    __pyx_L15_error:;
    __Pyx_XDECREF(__pyx_9genexpr61__pyx_v_pyattributes); __pyx_9genexpr61__pyx_v_pyattributes = 0;
    goto __pyx_L1_error;
    __pyx_L18_exit_scope:;
  } /* exit inner scope */
  __pyx_t_14 = __pyx_convert_vector_from_py_enum____pyx_t_4cuda_7ccudart_cudaMemRangeAttribute(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 13900, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cattributes = __pyx_t_14;

  /* "cuda/cudart.pyx":13901
 *     cdef vector[size_t] cdataSizes = dataSizes
 *     cdef vector[ccudart.cudaMemRangeAttribute] cattributes = [pyattributes.value for pyattributes in (attributes)]
 *     if numAttributes > <size_t>len(attributes): raise RuntimeError("List is too small: " + str(len(attributes)) + " < " + str(numAttributes))             # <<<<<<<<<<<<<<
 *     if numAttributes > <size_t>len(numAttributes): raise RuntimeError("List is too small: " + str(len(numAttributes)) + " < " + str(numAttributes))
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 */
  __pyx_t_1 = __pyx_cur_scope->__pyx_v_attributes;
  __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, 13901, __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_attributes;
    __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, 13901, __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, 13901, __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, 13901, __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, 13901, __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__395); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13901, __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, 13901, __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, 13901, __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, 13901, __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, 13901, __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, 13901, __pyx_L1_error)
  }

  /* "cuda/cudart.pyx":13902
 *     cdef vector[ccudart.cudaMemRangeAttribute] cattributes = [pyattributes.value for pyattributes in (attributes)]
 *     if numAttributes > <size_t>len(attributes): raise RuntimeError("List is too small: " + str(len(attributes)) + " < " + str(numAttributes))
 *     if numAttributes > <size_t>len(numAttributes): raise RuntimeError("List is too small: " + str(len(numAttributes)) + " < " + str(numAttributes))             # <<<<<<<<<<<<<<
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 */
  __pyx_t_9 = __Pyx_PyInt_FromSize_t(__pyx_v_numAttributes); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 13902, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_6 = PyObject_Length(__pyx_t_9); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 13902, __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_PyInt_FromSize_t(__pyx_v_numAttributes); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 13902, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_6 = PyObject_Length(__pyx_t_9); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 13902, __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, 13902, __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, 13902, __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, 13902, __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__395); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13902, __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, 13902, __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, 13902, __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, 13902, __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, 13902, __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, 13902, __pyx_L1_error)
  }

  /* "cuda/cudart.pyx":13903
 *     if numAttributes > <size_t>len(attributes): raise RuntimeError("List is too small: " + str(len(attributes)) + " < " + str(numAttributes))
 *     if numAttributes > <size_t>len(numAttributes): raise RuntimeError("List is too small: " + str(len(numAttributes)) + " < " + 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, 13903, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_v_cdevPtr = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":13904
 *     if numAttributes > <size_t>len(numAttributes): raise RuntimeError("List is too small: " + str(len(numAttributes)) + " < " + 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, 13904, __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, 13904, __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":13905
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 13905, __pyx_L1_error)
  __pyx_v_err = __pyx_t_15;

  /* "cuda/cudart.pyx":13906
 *     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, 13906, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_1 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13906, __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, 13906, __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, 13906, __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, 13906, __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, 13906, __pyx_L23_error)
      __Pyx_GOTREF(__pyx_t_5);
      #endif
      __Pyx_XDECREF_SET(__pyx_9genexpr62__pyx_v_obj, __pyx_t_5);
      __pyx_t_5 = 0;
      __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_9genexpr62__pyx_v_obj, __pyx_n_s_pyObj); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 13906, __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, 13906, __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, 13906, __pyx_L23_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_9genexpr62__pyx_v_obj); __pyx_9genexpr62__pyx_v_obj = 0;
    goto __pyx_L26_exit_scope;
    __pyx_L23_error:;
    __Pyx_XDECREF(__pyx_9genexpr62__pyx_v_obj); __pyx_9genexpr62__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, 13906, __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":13843
 * 
 * @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_9genexpr60__pyx_v_pyattributes);
  __Pyx_XDECREF(__pyx_9genexpr60__pyx_v_pydataSizes);
  __Pyx_XDECREF(__pyx_9genexpr61__pyx_v_pyattributes);
  __Pyx_XDECREF(__pyx_9genexpr62__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":13909
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpyToArray(dst not None : cudaArray_t, 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_275cudaMemcpyToArray(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_274cudaMemcpyToArray[] = "cudaMemcpyToArray(cudaArray_t dst: cudaArray_t, 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 cudaMemcpyHostToHost, cudaMemcpyHostToDevice,\n    cudaMemcpyDeviceToHost, cudaMemcpyDeviceToDevice, or cudaMemcpyDefault.\n    Passing cudaMemcpyDefault is recommended, in which case the type of\n    transfer is inferred from the pointer values. However,\n    cudaMemcpyDefault is only allowed on systems that support unified\n    virtual addressing.\n\n    Parameters\n    ----------\n    dst : 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 : cudaMemcpyKind\n        Type of transfer\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorInvalidMemcpyDirection\n    None\n        None\n\n    See Also\n    --------\n    cudaMemcpy\n    cudaMemcpy2D\n    cudaMemcpy2DToArray\n    cudaMemcpyFromArray\n    cudaMemcpy2DFromArray\n    cudaMemcpyArrayToArray\n    cudaMemcpy2DArrayToArray\n    cudaMemcpyToSymbol\n    cudaMemcpyFromSymbol\n    cudaMemcpyAsync\n    cudaMemcpy2DAsync\n    cudaMemcpyToArrayAsync\n    cudaMemcpy2DToArrayAsync\n    cudaMemcpyFromArrayAsync\n    cudaMemcpy2DFromArrayAsync\n    cudaMemcpyToSymbolAsync\n    cudaMemcpyFromSymbolAsync\n    cuMemcpyHtoA\n    cuMemcpyDtoA\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_275cudaMemcpyToArray = {"cudaMemcpyToArray", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_275cudaMemcpyToArray, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_274cudaMemcpyToArray};
static PyObject *__pyx_pw_4cuda_6cudart_275cudaMemcpyToArray(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_4cuda_6cudart_cudaArray_t *__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, 13909, __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, 13909, __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, 13909, __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, 13909, __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, 13909, __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, 13909, __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 = ((struct __pyx_obj_4cuda_6cudart_cudaArray_t *)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, 13909, __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, 13909, __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, 13909, __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, 13909, __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(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dst), __pyx_ptype_4cuda_6cudart_cudaArray_t, 0, "dst", 0))) __PYX_ERR(0, 13909, __pyx_L1_error)
  if (unlikely(((PyObject *)__pyx_v_kind) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "kind"); __PYX_ERR(0, 13909, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_274cudaMemcpyToArray(__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_274cudaMemcpyToArray(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaArray_t *__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_csrc = NULL;
  void *__pyx_v_csrc_ptr;
  enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind __pyx_v_ckind;
  __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemcpyKind __pyx_t_3;
  __pyx_t_4cuda_7ccudart_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__475)
  __Pyx_RefNannySetupContext("cudaMemcpyToArray", 0);
  __Pyx_TraceCall("cudaMemcpyToArray", __pyx_f[0], 13909, 0, __PYX_ERR(0, 13909, __pyx_L1_error));

  /* "cuda/cudart.pyx":13970
 *     cuMemcpyDtoA
 *     """
 *     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, 13970, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_csrc = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":13971
 *     """
 *     csrc = utils.HelperInputVoidPtr(src)
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     err = ccudart.cudaMemcpyToArray(dst._ptr[0], wOffset, hOffset, csrc_ptr, count, ckind)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_csrc, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13971, __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, 13971, __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":13972
 *     csrc = utils.HelperInputVoidPtr(src)
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaMemcpyToArray(dst._ptr[0], wOffset, hOffset, csrc_ptr, count, ckind)
 *     return (cudaError_t(err),)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_kind, __pyx_n_s_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13972, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = ((enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaMemcpyKind(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 13972, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_ckind = __pyx_t_3;

  /* "cuda/cudart.pyx":13973
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     err = ccudart.cudaMemcpyToArray(dst._ptr[0], wOffset, hOffset, csrc_ptr, count, ckind)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_4 = __pyx_f_4cuda_7ccudart_cudaMemcpyToArray((__pyx_v_dst->_ptr[0]), __pyx_v_wOffset, __pyx_v_hOffset, __pyx_v_csrc_ptr, __pyx_v_count, __pyx_v_ckind); if (unlikely(__pyx_t_4 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 13973, __pyx_L1_error)
  __pyx_v_err = __pyx_t_4;

  /* "cuda/cudart.pyx":13974
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     err = ccudart.cudaMemcpyToArray(dst._ptr[0], wOffset, hOffset, 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, 13974, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 13974, __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, 13974, __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, 13974, __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":13909
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpyToArray(dst not None : cudaArray_t, 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_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpyToArray", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_csrc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":13977
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpyFromArray(dst, src not None : cudaArray_const_t, 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_277cudaMemcpyFromArray(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_276cudaMemcpyFromArray[] = "cudaMemcpyFromArray(dst, cudaArray_const_t src: cudaArray_const_t, 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 cudaMemcpyHostToHost, cudaMemcpyHostToDevice,\n    cudaMemcpyDeviceToHost, cudaMemcpyDeviceToDevice, or cudaMemcpyDefault.\n    Passing cudaMemcpyDefault is recommended, in which case the type of\n    transfer is inferred from the pointer values. However,\n    cudaMemcpyDefault is only allowed on systems that support unified\n    virtual addressing.\n\n    Parameters\n    ----------\n    dst : Any\n        Destination memory address\n    src : 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 : cudaMemcpyKind\n        Type of transfer\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorInvalidMemcpyDirection\n    None\n        None\n\n    See Also\n    --------\n    cudaMemcpy\n    cudaMemcpy2D\n    cudaMemcpyToArray\n    cudaMemcpy2DToArray\n    cudaMemcpy2DFromArray\n    cudaMemcpyArrayToArray\n    cudaMemcpy2DArrayToArray\n    cudaMemcpyToSymbol\n    cudaMemcpyFromSymbol\n    cudaMemcpyAsync\n    cudaMemcpy2DAsync\n    cudaMemcpyToArrayAsync\n    cudaMemcpy2DToArrayAsync\n    cudaMemcpyFromArrayAsync\n    cudaMemcpy2DFromArrayAsync\n    cudaMemcpyToSymbolAsync\n    cudaMemcpyFromSymbolAsync\n    cuMemcpyAtoH\n    cuMemcpyAtoD\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_277cudaMemcpyFromArray = {"cudaMemcpyFromArray", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_277cudaMemcpyFromArray, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_276cudaMemcpyFromArray};
static PyObject *__pyx_pw_4cuda_6cudart_277cudaMemcpyFromArray(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_dst = 0;
  struct __pyx_obj_4cuda_6cudart_cudaArray_const_t *__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, 13977, __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, 13977, __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, 13977, __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, 13977, __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, 13977, __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, 13977, __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 = ((struct __pyx_obj_4cuda_6cudart_cudaArray_const_t *)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, 13977, __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, 13977, __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, 13977, __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, 13977, __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(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_src), __pyx_ptype_4cuda_6cudart_cudaArray_const_t, 0, "src", 0))) __PYX_ERR(0, 13977, __pyx_L1_error)
  if (unlikely(((PyObject *)__pyx_v_kind) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "kind"); __PYX_ERR(0, 13977, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_276cudaMemcpyFromArray(__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_276cudaMemcpyFromArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, struct __pyx_obj_4cuda_6cudart_cudaArray_const_t *__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_cdst = NULL;
  void *__pyx_v_cdst_ptr;
  enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind __pyx_v_ckind;
  __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemcpyKind __pyx_t_3;
  __pyx_t_4cuda_7ccudart_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__476)
  __Pyx_RefNannySetupContext("cudaMemcpyFromArray", 0);
  __Pyx_TraceCall("cudaMemcpyFromArray", __pyx_f[0], 13977, 0, __PYX_ERR(0, 13977, __pyx_L1_error));

  /* "cuda/cudart.pyx":14038
 *     cuMemcpyAtoD
 *     """
 *     cdst = utils.HelperInputVoidPtr(dst)             # <<<<<<<<<<<<<<
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 */
  __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, 14038, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cdst = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":14039
 *     """
 *     cdst = utils.HelperInputVoidPtr(dst)
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     err = ccudart.cudaMemcpyFromArray(cdst_ptr, src._ptr[0], wOffset, hOffset, count, ckind)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cdst, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14039, __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, 14039, __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":14040
 *     cdst = utils.HelperInputVoidPtr(dst)
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaMemcpyFromArray(cdst_ptr, src._ptr[0], wOffset, hOffset, count, ckind)
 *     return (cudaError_t(err),)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_kind, __pyx_n_s_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14040, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = ((enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaMemcpyKind(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 14040, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_ckind = __pyx_t_3;

  /* "cuda/cudart.pyx":14041
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     err = ccudart.cudaMemcpyFromArray(cdst_ptr, src._ptr[0], wOffset, hOffset, count, ckind)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_4 = __pyx_f_4cuda_7ccudart_cudaMemcpyFromArray(__pyx_v_cdst_ptr, (__pyx_v_src->_ptr[0]), __pyx_v_wOffset, __pyx_v_hOffset, __pyx_v_count, __pyx_v_ckind); if (unlikely(__pyx_t_4 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 14041, __pyx_L1_error)
  __pyx_v_err = __pyx_t_4;

  /* "cuda/cudart.pyx":14042
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     err = ccudart.cudaMemcpyFromArray(cdst_ptr, src._ptr[0], wOffset, hOffset, 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, 14042, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14042, __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, 14042, __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, 14042, __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":13977
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpyFromArray(dst, src not None : cudaArray_const_t, 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_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpyFromArray", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_cdst);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":14045
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpyArrayToArray(dst not None : cudaArray_t, size_t wOffsetDst, size_t hOffsetDst, src not None : cudaArray_const_t, 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_279cudaMemcpyArrayToArray(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_278cudaMemcpyArrayToArray[] = "cudaMemcpyArrayToArray(cudaArray_t dst: cudaArray_t, size_t wOffsetDst, size_t hOffsetDst, cudaArray_const_t src: cudaArray_const_t, 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 cudaMemcpyHostToHost, cudaMemcpyHostToDevice,\n    cudaMemcpyDeviceToHost, cudaMemcpyDeviceToDevice, or cudaMemcpyDefault.\n    Passing cudaMemcpyDefault is recommended, in which case the type of\n    transfer is inferred from the pointer values. However,\n    cudaMemcpyDefault is only allowed on systems that support unified\n    virtual addressing.\n\n    Parameters\n    ----------\n    dst : 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 : 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 : cudaMemcpyKind\n        Type of transfer\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorInvalidMemcpyDirection\n    None\n        None\n\n    See Also\n    --------\n    cudaMemcpy\n    cudaMemcpy2D\n    cudaMemcpyToArray\n    cudaMemcpy2DToArray\n    cudaMemcpyFromArray\n    cudaMemcpy2DFromArray\n    cudaMemcpy2DArrayToArray\n    cudaMemcpyToSymbol\n    cudaMemcpyFromSymbol\n    cudaMemcpyAsync\n    cudaMemcpy2DAsync\n    cudaMemcpyToArrayAsync\n    cudaMemcpy2DToArra""yAsync\n    cudaMemcpyFromArrayAsync\n    cudaMemcpy2DFromArrayAsync\n    cudaMemcpyToSymbolAsync\n    cudaMemcpyFromSymbolAsync\n    cuMemcpyAtoA\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_279cudaMemcpyArrayToArray = {"cudaMemcpyArrayToArray", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_279cudaMemcpyArrayToArray, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_278cudaMemcpyArrayToArray};
static PyObject *__pyx_pw_4cuda_6cudart_279cudaMemcpyArrayToArray(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_4cuda_6cudart_cudaArray_t *__pyx_v_dst = 0;
  size_t __pyx_v_wOffsetDst;
  size_t __pyx_v_hOffsetDst;
  struct __pyx_obj_4cuda_6cudart_cudaArray_const_t *__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, 14045, __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, 14045, __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, 14045, __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, 14045, __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, 14045, __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, 14045, __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, 14045, __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, 14045, __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 = ((struct __pyx_obj_4cuda_6cudart_cudaArray_t *)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, 14045, __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, 14045, __pyx_L3_error)
    __pyx_v_src = ((struct __pyx_obj_4cuda_6cudart_cudaArray_const_t *)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, 14045, __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, 14045, __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, 14045, __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, 14045, __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(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dst), __pyx_ptype_4cuda_6cudart_cudaArray_t, 0, "dst", 0))) __PYX_ERR(0, 14045, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_src), __pyx_ptype_4cuda_6cudart_cudaArray_const_t, 0, "src", 0))) __PYX_ERR(0, 14045, __pyx_L1_error)
  if (unlikely(((PyObject *)__pyx_v_kind) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "kind"); __PYX_ERR(0, 14045, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_278cudaMemcpyArrayToArray(__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_278cudaMemcpyArrayToArray(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaArray_t *__pyx_v_dst, size_t __pyx_v_wOffsetDst, size_t __pyx_v_hOffsetDst, struct __pyx_obj_4cuda_6cudart_cudaArray_const_t *__pyx_v_src, size_t __pyx_v_wOffsetSrc, size_t __pyx_v_hOffsetSrc, size_t __pyx_v_count, PyObject *__pyx_v_kind) {
  enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind __pyx_v_ckind;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind __pyx_t_2;
  __pyx_t_4cuda_7ccudart_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__477)
  __Pyx_RefNannySetupContext("cudaMemcpyArrayToArray", 0);
  __Pyx_TraceCall("cudaMemcpyArrayToArray", __pyx_f[0], 14045, 0, __PYX_ERR(0, 14045, __pyx_L1_error));

  /* "cuda/cudart.pyx":14110
 *     cuMemcpyAtoA
 *     """
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaMemcpyArrayToArray(dst._ptr[0], wOffsetDst, hOffsetDst, src._ptr[0], wOffsetSrc, hOffsetSrc, count, ckind)
 *     return (cudaError_t(err),)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_kind, __pyx_n_s_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14110, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaMemcpyKind(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 14110, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_ckind = __pyx_t_2;

  /* "cuda/cudart.pyx":14111
 *     """
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     err = ccudart.cudaMemcpyArrayToArray(dst._ptr[0], wOffsetDst, hOffsetDst, src._ptr[0], wOffsetSrc, hOffsetSrc, count, ckind)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_3 = __pyx_f_4cuda_7ccudart_cudaMemcpyArrayToArray((__pyx_v_dst->_ptr[0]), __pyx_v_wOffsetDst, __pyx_v_hOffsetDst, (__pyx_v_src->_ptr[0]), __pyx_v_wOffsetSrc, __pyx_v_hOffsetSrc, __pyx_v_count, __pyx_v_ckind); if (unlikely(__pyx_t_3 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 14111, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cudart.pyx":14112
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     err = ccudart.cudaMemcpyArrayToArray(dst._ptr[0], wOffsetDst, hOffsetDst, src._ptr[0], wOffsetSrc, hOffsetSrc, 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, 14112, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14112, __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, 14112, __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, 14112, __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":14045
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpyArrayToArray(dst not None : cudaArray_t, size_t wOffsetDst, size_t hOffsetDst, src not None : cudaArray_const_t, 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_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.cudart.cudaMemcpyArrayToArray", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":14115
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpyToArrayAsync(dst not None : cudaArray_t, 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_281cudaMemcpyToArrayAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_280cudaMemcpyToArrayAsync[] = "cudaMemcpyToArrayAsync(cudaArray_t dst: cudaArray_t, 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 cudaMemcpyHostToHost, cudaMemcpyHostToDevice,\n    cudaMemcpyDeviceToHost, cudaMemcpyDeviceToDevice, or cudaMemcpyDefault.\n    Passing cudaMemcpyDefault is recommended, in which case the type of\n    transfer is inferred from the pointer values. However,\n    cudaMemcpyDefault is only allowed on systems that support unified\n    virtual addressing.\n\n    cudaMemcpyToArrayAsync() is asynchronous with respect to the host, so\n    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 cudaMemcpyHostToDevice or cudaMemcpyDeviceToHost\n    and `stream` is non-zero, the copy may overlap with operations in other\n    streams.\n\n    Parameters\n    ----------\n    dst : 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 : cudaMemcpyKind\n        Type of transfer\n    stream : CUstream or cudaStream_t\n        Stream identifier\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorInvalidMemcpyDirection\n    None\n        None\n\n    See Also\n    --------\n    cudaMemcpy\n    cudaMemcpy2D\n    cudaMemcpyToArray\n    cudaMemcpy2DToArray\n    cudaMemcpyFromArray\n    cudaMemcpy2DFromArray\n    cudaMemcpyArrayToArray\n    cuda""Memcpy2DArrayToArray\n    cudaMemcpyToSymbol\n    cudaMemcpyFromSymbol\n    cudaMemcpyAsync\n    cudaMemcpy2DAsync\n    cudaMemcpy2DToArrayAsync\n    cudaMemcpyFromArrayAsync\n    cudaMemcpy2DFromArrayAsync\n    cudaMemcpyToSymbolAsync\n    cudaMemcpyFromSymbolAsync\n    cuMemcpyHtoAAsync\n    cuMemcpy2DAsync\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_281cudaMemcpyToArrayAsync = {"cudaMemcpyToArrayAsync", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_281cudaMemcpyToArrayAsync, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_280cudaMemcpyToArrayAsync};
static PyObject *__pyx_pw_4cuda_6cudart_281cudaMemcpyToArrayAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_4cuda_6cudart_cudaArray_t *__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, 14115, __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, 14115, __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, 14115, __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, 14115, __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, 14115, __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, 14115, __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, 14115, __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 = ((struct __pyx_obj_4cuda_6cudart_cudaArray_t *)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, 14115, __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, 14115, __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, 14115, __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, 14115, __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(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dst), __pyx_ptype_4cuda_6cudart_cudaArray_t, 0, "dst", 0))) __PYX_ERR(0, 14115, __pyx_L1_error)
  if (unlikely(((PyObject *)__pyx_v_kind) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "kind"); __PYX_ERR(0, 14115, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_280cudaMemcpyToArrayAsync(__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_280cudaMemcpyToArrayAsync(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaArray_t *__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) {
  PyObject *__pyx_v_csrc = NULL;
  void *__pyx_v_csrc_ptr;
  enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind __pyx_v_ckind;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_6;
  enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind __pyx_t_7;
  __pyx_t_4cuda_7ccudart_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("cudaMemcpyToArrayAsync", 0);
  __Pyx_TraceCall("cudaMemcpyToArrayAsync", __pyx_f[0], 14115, 0, __PYX_ERR(0, 14115, __pyx_L1_error));

  /* "cuda/cudart.pyx":14185
 *     cuMemcpy2DAsync
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     csrc = utils.HelperInputVoidPtr(src)
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":14186
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))             # <<<<<<<<<<<<<<
 *     csrc = utils.HelperInputVoidPtr(src)
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_stream))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14186, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_stream_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14186, __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, 14186, __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, 14186, __pyx_L1_error)

    /* "cuda/cudart.pyx":14185
 *     cuMemcpy2DAsync
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     csrc = utils.HelperInputVoidPtr(src)
 */
  }

  /* "cuda/cudart.pyx":14187
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     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, 14187, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_csrc = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":14188
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     csrc = utils.HelperInputVoidPtr(src)
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     err = ccudart.cudaMemcpyToArrayAsync(dst._ptr[0], wOffset, hOffset, csrc_ptr, count, ckind, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_csrc, __pyx_n_s_cptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14188, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 14188, __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_6));

  /* "cuda/cudart.pyx":14189
 *     csrc = utils.HelperInputVoidPtr(src)
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaMemcpyToArrayAsync(dst._ptr[0], wOffset, hOffset, csrc_ptr, count, ckind, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     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, 14189, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = ((enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaMemcpyKind(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 14189, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_ckind = __pyx_t_7;

  /* "cuda/cudart.pyx":14190
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     err = ccudart.cudaMemcpyToArrayAsync(dst._ptr[0], wOffset, hOffset, csrc_ptr, count, ckind, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_8 = __pyx_f_4cuda_7ccudart_cudaMemcpyToArrayAsync((__pyx_v_dst->_ptr[0]), __pyx_v_wOffset, __pyx_v_hOffset, __pyx_v_csrc_ptr, __pyx_v_count, __pyx_v_ckind, ((__pyx_t_4cuda_7ccudart_cudaStream_t)(((struct __pyx_obj_4cuda_6cudart_cudaStream_t *)__pyx_v_stream)->__pyx_base._ptr[0]))); if (unlikely(__pyx_t_8 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 14190, __pyx_L1_error)
  __pyx_v_err = __pyx_t_8;

  /* "cuda/cudart.pyx":14191
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     err = ccudart.cudaMemcpyToArrayAsync(dst._ptr[0], wOffset, hOffset, csrc_ptr, count, ckind, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     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, 14191, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_9 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14191, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __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_9) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __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, 14191, __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, 14191, __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":14115
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpyToArrayAsync(dst not None : cudaArray_t, 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_5);
  __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_csrc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":14194
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpyFromArrayAsync(dst, src not None : cudaArray_const_t, 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_283cudaMemcpyFromArrayAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_282cudaMemcpyFromArrayAsync[] = "cudaMemcpyFromArrayAsync(dst, cudaArray_const_t src: cudaArray_const_t, 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 cudaMemcpyHostToHost, cudaMemcpyHostToDevice,\n    cudaMemcpyDeviceToHost, cudaMemcpyDeviceToDevice, or cudaMemcpyDefault.\n    Passing cudaMemcpyDefault is recommended, in which case the type of\n    transfer is inferred from the pointer values. However,\n    cudaMemcpyDefault is only allowed on systems that support unified\n    virtual addressing.\n\n    cudaMemcpyFromArrayAsync() is asynchronous with respect to the host, so\n    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 cudaMemcpyHostToDevice or cudaMemcpyDeviceToHost\n    and `stream` is non-zero, the copy may overlap with operations in other\n    streams.\n\n    Parameters\n    ----------\n    dst : Any\n        Destination memory address\n    src : 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 : cudaMemcpyKind\n        Type of transfer\n    stream : CUstream or cudaStream_t\n        Stream identifier\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorInvalidMemcpyDirection\n    None\n        None\n\n    See Also\n    --------\n    cudaMemcpy\n    cudaMemcpy2D\n    cudaMemcpyToArray\n    cudaMemcpy2DToArray\n    cudaMemcpyFromArray\n    cudaMemcpy2DFromArray\n    cudaMemcpyArrayToArr""ay\n    cudaMemcpy2DArrayToArray\n    cudaMemcpyToSymbol\n    cudaMemcpyFromSymbol\n    cudaMemcpyAsync\n    cudaMemcpy2DAsync\n    cudaMemcpyToArrayAsync\n    cudaMemcpy2DToArrayAsync\n    cudaMemcpy2DFromArrayAsync\n    cudaMemcpyToSymbolAsync\n    cudaMemcpyFromSymbolAsync\n    cuMemcpyAtoHAsync\n    cuMemcpy2DAsync\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_283cudaMemcpyFromArrayAsync = {"cudaMemcpyFromArrayAsync", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_283cudaMemcpyFromArrayAsync, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_282cudaMemcpyFromArrayAsync};
static PyObject *__pyx_pw_4cuda_6cudart_283cudaMemcpyFromArrayAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_dst = 0;
  struct __pyx_obj_4cuda_6cudart_cudaArray_const_t *__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, 14194, __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, 14194, __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, 14194, __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, 14194, __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, 14194, __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, 14194, __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, 14194, __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 = ((struct __pyx_obj_4cuda_6cudart_cudaArray_const_t *)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, 14194, __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, 14194, __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, 14194, __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, 14194, __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(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_src), __pyx_ptype_4cuda_6cudart_cudaArray_const_t, 0, "src", 0))) __PYX_ERR(0, 14194, __pyx_L1_error)
  if (unlikely(((PyObject *)__pyx_v_kind) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "kind"); __PYX_ERR(0, 14194, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_282cudaMemcpyFromArrayAsync(__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_282cudaMemcpyFromArrayAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, struct __pyx_obj_4cuda_6cudart_cudaArray_const_t *__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) {
  PyObject *__pyx_v_cdst = NULL;
  void *__pyx_v_cdst_ptr;
  enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind __pyx_v_ckind;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_6;
  enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind __pyx_t_7;
  __pyx_t_4cuda_7ccudart_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__479)
  __Pyx_RefNannySetupContext("cudaMemcpyFromArrayAsync", 0);
  __Pyx_TraceCall("cudaMemcpyFromArrayAsync", __pyx_f[0], 14194, 0, __PYX_ERR(0, 14194, __pyx_L1_error));

  /* "cuda/cudart.pyx":14264
 *     cuMemcpy2DAsync
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdst = utils.HelperInputVoidPtr(dst)
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":14265
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))             # <<<<<<<<<<<<<<
 *     cdst = utils.HelperInputVoidPtr(dst)
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_stream))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14265, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_stream_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14265, __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, 14265, __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, 14265, __pyx_L1_error)

    /* "cuda/cudart.pyx":14264
 *     cuMemcpy2DAsync
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdst = utils.HelperInputVoidPtr(dst)
 */
  }

  /* "cuda/cudart.pyx":14266
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     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, 14266, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_cdst = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":14267
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdst = utils.HelperInputVoidPtr(dst)
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     err = ccudart.cudaMemcpyFromArrayAsync(cdst_ptr, src._ptr[0], wOffset, hOffset, count, ckind, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_cdst, __pyx_n_s_cptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14267, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 14267, __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_6));

  /* "cuda/cudart.pyx":14268
 *     cdst = utils.HelperInputVoidPtr(dst)
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaMemcpyFromArrayAsync(cdst_ptr, src._ptr[0], wOffset, hOffset, count, ckind, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     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, 14268, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = ((enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaMemcpyKind(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 14268, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_ckind = __pyx_t_7;

  /* "cuda/cudart.pyx":14269
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     err = ccudart.cudaMemcpyFromArrayAsync(cdst_ptr, src._ptr[0], wOffset, hOffset, count, ckind, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_8 = __pyx_f_4cuda_7ccudart_cudaMemcpyFromArrayAsync(__pyx_v_cdst_ptr, (__pyx_v_src->_ptr[0]), __pyx_v_wOffset, __pyx_v_hOffset, __pyx_v_count, __pyx_v_ckind, ((__pyx_t_4cuda_7ccudart_cudaStream_t)(((struct __pyx_obj_4cuda_6cudart_cudaStream_t *)__pyx_v_stream)->__pyx_base._ptr[0]))); if (unlikely(__pyx_t_8 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 14269, __pyx_L1_error)
  __pyx_v_err = __pyx_t_8;

  /* "cuda/cudart.pyx":14270
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     err = ccudart.cudaMemcpyFromArrayAsync(cdst_ptr, src._ptr[0], wOffset, hOffset, count, ckind, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     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, 14270, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_9 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14270, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __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_9) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __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, 14270, __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, 14270, __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":14194
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpyFromArrayAsync(dst, src not None : cudaArray_const_t, 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_5);
  __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_cdst);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":14273
 * 
 * @cython.embedsignature(True)
 * def cudaMallocAsync(size_t size, hStream):             # <<<<<<<<<<<<<<
 *     """ Allocates memory with stream ordered semantics.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_285cudaMallocAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_284cudaMallocAsync[] = "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 : CUstream or 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        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorNotSupported\n        cudaErrorOutOfMemory\n    devPtr : int\n        Returned device pointer\n\n    See Also\n    --------\n    cuMemAllocAsync\n    cudaMallocAsync\n    cudaMallocFromPoolAsync\n    cudaFreeAsync\n    cudaDeviceSetMemPool\n    cudaDeviceGetDefaultMemPool\n    cudaDeviceGetMemPool\n    cudaMemPoolSetAccess\n    cudaMemPoolSetAttribute\n    cudaMemPoolGetAttribute\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\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_285cudaMallocAsync = {"cudaMallocAsync", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_285cudaMallocAsync, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_284cudaMallocAsync};
static PyObject *__pyx_pw_4cuda_6cudart_285cudaMallocAsync(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, 14273, __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, 14273, __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, 14273, __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, 14273, __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_284cudaMallocAsync(__pyx_self, __pyx_v_size, __pyx_v_hStream);

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

static PyObject *__pyx_pf_4cuda_6cudart_284cudaMallocAsync(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_size, PyObject *__pyx_v_hStream) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v_devPtr;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__480)
  __Pyx_RefNannySetupContext("cudaMallocAsync", 0);
  __Pyx_TraceCall("cudaMallocAsync", __pyx_f[0], 14273, 0, __PYX_ERR(0, 14273, __pyx_L1_error));

  /* "cuda/cudart.pyx":14318
 * 
 *     """
 *     if not isinstance(hStream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hStream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(hStream)))
 *     cdef void_ptr devPtr = 0
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":14319
 *     """
 *     if not isinstance(hStream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'hStream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(hStream)))             # <<<<<<<<<<<<<<
 *     cdef void_ptr devPtr = 0
 *     with nogil:
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_hStream))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14319, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_hStream_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14319, __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, 14319, __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, 14319, __pyx_L1_error)

    /* "cuda/cudart.pyx":14318
 * 
 *     """
 *     if not isinstance(hStream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hStream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(hStream)))
 *     cdef void_ptr devPtr = 0
 */
  }

  /* "cuda/cudart.pyx":14320
 *     if not isinstance(hStream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'hStream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(hStream)))
 *     cdef void_ptr devPtr = 0             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = ccudart.cudaMallocAsync(<void**>&devPtr, size, <ccudart.cudaStream_t>(<cudaStream_t>hStream)._ptr[0])
 */
  __pyx_v_devPtr = 0;

  /* "cuda/cudart.pyx":14321
 *         raise TypeError("Argument 'hStream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(hStream)))
 *     cdef void_ptr devPtr = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMallocAsync(<void**>&devPtr, size, <ccudart.cudaStream_t>(<cudaStream_t>hStream)._ptr[0])
 *     return (cudaError_t(err), devPtr)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":14322
 *     cdef void_ptr devPtr = 0
 *     with nogil:
 *         err = ccudart.cudaMallocAsync(<void**>&devPtr, size, <ccudart.cudaStream_t>(<cudaStream_t>hStream)._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), devPtr)
 * 
 */
        __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaMallocAsync(((void **)(&__pyx_v_devPtr)), __pyx_v_size, ((__pyx_t_4cuda_7ccudart_cudaStream_t)(((struct __pyx_obj_4cuda_6cudart_cudaStream_t *)__pyx_v_hStream)->__pyx_base._ptr[0]))); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 14322, __pyx_L7_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/cudart.pyx":14321
 *         raise TypeError("Argument 'hStream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(hStream)))
 *     cdef void_ptr devPtr = 0
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMallocAsync(<void**>&devPtr, size, <ccudart.cudaStream_t>(<cudaStream_t>hStream)._ptr[0])
 *     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":14323
 *     with nogil:
 *         err = ccudart.cudaMallocAsync(<void**>&devPtr, size, <ccudart.cudaStream_t>(<cudaStream_t>hStream)._ptr[0])
 *     return (cudaError_t(err), devPtr)             # <<<<<<<<<<<<<<
 * 
 * @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, 14323, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14323, __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_4 = (__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_4)) __PYX_ERR(0, 14323, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(__pyx_v_devPtr); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14323, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14323, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_5);
  __pyx_t_4 = 0;
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":14273
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaMallocAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":14326
 * 
 * @cython.embedsignature(True)
 * def cudaFreeAsync(devPtr, hStream):             # <<<<<<<<<<<<<<
 *     """ Frees memory with stream ordered semantics.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_287cudaFreeAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_286cudaFreeAsync[] = "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 : CUstream or cudaStream_t\n        The stream establishing the stream ordering promise\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorNotSupported\n    None\n        None\n\n    See Also\n    --------\n    cuMemFreeAsync\n    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\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_287cudaFreeAsync = {"cudaFreeAsync", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_287cudaFreeAsync, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_286cudaFreeAsync};
static PyObject *__pyx_pw_4cuda_6cudart_287cudaFreeAsync(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, 14326, __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, 14326, __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, 14326, __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_286cudaFreeAsync(__pyx_self, __pyx_v_devPtr, __pyx_v_hStream);

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

static PyObject *__pyx_pf_4cuda_6cudart_286cudaFreeAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_devPtr, PyObject *__pyx_v_hStream) {
  PyObject *__pyx_v_cdevPtr = NULL;
  void *__pyx_v_cdevPtr_ptr;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_6;
  __pyx_t_4cuda_7ccudart_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__481)
  __Pyx_RefNannySetupContext("cudaFreeAsync", 0);
  __Pyx_TraceCall("cudaFreeAsync", __pyx_f[0], 14326, 0, __PYX_ERR(0, 14326, __pyx_L1_error));

  /* "cuda/cudart.pyx":14360
 * 
 *     """
 *     if not isinstance(hStream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hStream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(hStream)))
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":14361
 *     """
 *     if not isinstance(hStream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'hStream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(hStream)))             # <<<<<<<<<<<<<<
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_hStream))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14361, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_hStream_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14361, __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, 14361, __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, 14361, __pyx_L1_error)

    /* "cuda/cudart.pyx":14360
 * 
 *     """
 *     if not isinstance(hStream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hStream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(hStream)))
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 */
  }

  /* "cuda/cudart.pyx":14362
 *     if not isinstance(hStream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'hStream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(hStream)))
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)             # <<<<<<<<<<<<<<
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     with nogil:
 */
  __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_devPtr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14362, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_cdevPtr = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":14363
 *         raise TypeError("Argument 'hStream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(hStream)))
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = ccudart.cudaFreeAsync(cdevPtr_ptr, <ccudart.cudaStream_t>(<cudaStream_t>hStream)._ptr[0])
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_cdevPtr, __pyx_n_s_cptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14363, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 14363, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cdevPtr_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_6));

  /* "cuda/cudart.pyx":14364
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaFreeAsync(cdevPtr_ptr, <ccudart.cudaStream_t>(<cudaStream_t>hStream)._ptr[0])
 *     return (cudaError_t(err),)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":14365
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     with nogil:
 *         err = ccudart.cudaFreeAsync(cdevPtr_ptr, <ccudart.cudaStream_t>(<cudaStream_t>hStream)._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
        __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaFreeAsync(__pyx_v_cdevPtr_ptr, ((__pyx_t_4cuda_7ccudart_cudaStream_t)(((struct __pyx_obj_4cuda_6cudart_cudaStream_t *)__pyx_v_hStream)->__pyx_base._ptr[0]))); if (unlikely(__pyx_t_7 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 14365, __pyx_L7_error)
        __pyx_v_err = __pyx_t_7;
      }

      /* "cuda/cudart.pyx":14364
 *     cdevPtr = utils.HelperInputVoidPtr(devPtr)
 *     cdef void* cdevPtr_ptr = <void*><void_ptr>cdevPtr.cptr
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaFreeAsync(cdevPtr_ptr, <ccudart.cudaStream_t>(<cudaStream_t>hStream)._ptr[0])
 *     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":14366
 *     with nogil:
 *         err = ccudart.cudaFreeAsync(cdevPtr_ptr, <ccudart.cudaStream_t>(<cudaStream_t>hStream)._ptr[0])
 *     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, 14366, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_8 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14366, __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_4 = (__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_4)) __PYX_ERR(0, 14366, __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, 14366, __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":14326
 * 
 * @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_5);
  __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_cdevPtr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":14369
 * 
 * @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_289cudaMemPoolTrimTo(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_288cudaMemPoolTrimTo[] = "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 : CUmemoryPool or 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        cudaSuccess\n        cudaErrorInvalidValue\n    None\n        None\n\n    See Also\n    --------\n    cuMemPoolTrimTo\n    cudaMallocAsync\n    cudaFreeAsync\n    cudaDeviceGetDefaultMemPool\n    cudaDeviceGetMemPool\n    cudaMemPoolCreate\n\n    Notes\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\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_289cudaMemPoolTrimTo = {"cudaMemPoolTrimTo", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_289cudaMemPoolTrimTo, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_288cudaMemPoolTrimTo};
static PyObject *__pyx_pw_4cuda_6cudart_289cudaMemPoolTrimTo(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, 14369, __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, 14369, __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, 14369, __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, 14369, __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_288cudaMemPoolTrimTo(__pyx_self, __pyx_v_memPool, __pyx_v_minBytesToKeep);

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

static PyObject *__pyx_pf_4cuda_6cudart_288cudaMemPoolTrimTo(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_memPool, size_t __pyx_v_minBytesToKeep) {
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__482)
  __Pyx_RefNannySetupContext("cudaMemPoolTrimTo", 0);
  __Pyx_TraceCall("cudaMemPoolTrimTo", __pyx_f[0], 14369, 0, __PYX_ERR(0, 14369, __pyx_L1_error));

  /* "cuda/cudart.pyx":14410
 * 
 *     """
 *     if not isinstance(memPool, (cudaMemPool_t, cuda.CUmemoryPool)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'memPool' is not instance of type (expected <class 'cudart.cudaMemPool_t, cuda.CUmemoryPool'>, found " + str(type(memPool)))
 *     with nogil:
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_memPool, __pyx_ptype_4cuda_6cudart_cudaMemPool_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_memPool, __pyx_ptype_4cuda_4cuda_CUmemoryPool); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":14411
 *     """
 *     if not isinstance(memPool, (cudaMemPool_t, cuda.CUmemoryPool)):
 *         raise TypeError("Argument 'memPool' is not instance of type (expected <class 'cudart.cudaMemPool_t, cuda.CUmemoryPool'>, found " + str(type(memPool)))             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = ccudart.cudaMemPoolTrimTo(<ccudart.cudaMemPool_t>(<cudaMemPool_t>memPool)._ptr[0], minBytesToKeep)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_memPool))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14411, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_memPool_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14411, __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, 14411, __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, 14411, __pyx_L1_error)

    /* "cuda/cudart.pyx":14410
 * 
 *     """
 *     if not isinstance(memPool, (cudaMemPool_t, cuda.CUmemoryPool)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'memPool' is not instance of type (expected <class 'cudart.cudaMemPool_t, cuda.CUmemoryPool'>, found " + str(type(memPool)))
 *     with nogil:
 */
  }

  /* "cuda/cudart.pyx":14412
 *     if not isinstance(memPool, (cudaMemPool_t, cuda.CUmemoryPool)):
 *         raise TypeError("Argument 'memPool' is not instance of type (expected <class 'cudart.cudaMemPool_t, cuda.CUmemoryPool'>, found " + str(type(memPool)))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMemPoolTrimTo(<ccudart.cudaMemPool_t>(<cudaMemPool_t>memPool)._ptr[0], minBytesToKeep)
 *     return (cudaError_t(err),)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":14413
 *         raise TypeError("Argument 'memPool' is not instance of type (expected <class 'cudart.cudaMemPool_t, cuda.CUmemoryPool'>, found " + str(type(memPool)))
 *     with nogil:
 *         err = ccudart.cudaMemPoolTrimTo(<ccudart.cudaMemPool_t>(<cudaMemPool_t>memPool)._ptr[0], minBytesToKeep)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
        __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaMemPoolTrimTo(((__pyx_t_4cuda_7ccudart_cudaMemPool_t)(((struct __pyx_obj_4cuda_6cudart_cudaMemPool_t *)__pyx_v_memPool)->__pyx_base._ptr[0])), __pyx_v_minBytesToKeep); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 14413, __pyx_L7_error)
        __pyx_v_err = __pyx_t_6;
      }

      /* "cuda/cudart.pyx":14412
 *     if not isinstance(memPool, (cudaMemPool_t, cuda.CUmemoryPool)):
 *         raise TypeError("Argument 'memPool' is not instance of type (expected <class 'cudart.cudaMemPool_t, cuda.CUmemoryPool'>, found " + str(type(memPool)))
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaMemPoolTrimTo(<ccudart.cudaMemPool_t>(<cudaMemPool_t>memPool)._ptr[0], 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":14414
 *     with nogil:
 *         err = ccudart.cudaMemPoolTrimTo(<ccudart.cudaMemPool_t>(<cudaMemPool_t>memPool)._ptr[0], minBytesToKeep)
 *     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, 14414, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14414, __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_4 = (__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_4)) __PYX_ERR(0, 14414, __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, 14414, __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":14369
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaMemPoolTrimTo", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":14417
 * 
 * @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_291cudaMemPoolSetAttribute(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_290cudaMemPoolSetAttribute[] = "cudaMemPoolSetAttribute(memPool, attr: cudaMemPoolAttr, value)\n Sets attributes of a memory pool.\n\n    Supported attributes are: ::cudaMemPoolAttrReleaseThreshold: (value\n    type = cuuint64_t) Amount of reserved memory in bytes to hold onto\n    before trying to release memory back to the OS. When more than the\n    release threshold bytes of memory are held by the memory pool, the\n    allocator will try to release memory back to the OS on the next call to\n    stream, event or context synchronize. (default 0)\n    ::cudaMemPoolReuseFollowEventDependencies: (value type = int) Allow\n    cudaMallocAsync to use memory asynchronously freed in another stream as\n    long as a stream ordering dependency of the allocating stream on the\n    free action exists. Cuda events and null stream interactions can create\n    the required stream ordered dependencies. (default enabled)\n    ::cudaMemPoolReuseAllowOpportunistic: (value type = int) Allow reuse of\n    already completed frees when there is no dependency between the free\n    and allocation. (default enabled)\n    ::cudaMemPoolReuseAllowInternalDependencies: (value type = int) Allow\n    cudaMallocAsync to insert new stream dependencies in order to establish\n    the stream ordering required to reuse a piece of memory released by\n    cudaFreeAsync (default enabled).\n\n    Parameters\n    ----------\n    pool : CUmemoryPool or cudaMemPool_t\n        The memory pool to modify\n    attr : cudaMemPoolAttr\n        The attribute to modify\n    value : Any\n        Pointer to the value to assign\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    None\n        None\n\n    See Also\n    --------\n    cuMemPoolSetAttribute\n    cudaMallocAsync\n    cudaFreeAsync\n    cudaDeviceGetDefaultMemPool\n    cudaDeviceGetMemPool\n    cudaMemPoolCreate\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_291cudaMemPoolSetAttribute = {"cudaMemPoolSetAttribute", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_291cudaMemPoolSetAttribute, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_290cudaMemPoolSetAttribute};
static PyObject *__pyx_pw_4cuda_6cudart_291cudaMemPoolSetAttribute(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, 14417, __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, 14417, __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, 14417, __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, 14417, __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, 14417, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_290cudaMemPoolSetAttribute(__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_290cudaMemPoolSetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_memPool, PyObject *__pyx_v_attr, PyObject *__pyx_v_value) {
  enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr __pyx_v_cattr;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperCUmemPool_attribute *__pyx_v_cvalue = 0;
  void *__pyx_v_cvalue_ptr;
  __pyx_t_4cuda_7ccudart_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;
  enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_8;
  __pyx_t_4cuda_7ccudart_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__483)
  __Pyx_RefNannySetupContext("cudaMemPoolSetAttribute", 0);
  __Pyx_TraceCall("cudaMemPoolSetAttribute", __pyx_f[0], 14417, 0, __PYX_ERR(0, 14417, __pyx_L1_error));

  /* "cuda/cudart.pyx":14465
 *     cudaMemPoolCreate
 *     """
 *     if not isinstance(memPool, (cudaMemPool_t, cuda.CUmemoryPool)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'memPool' is not instance of type (expected <class 'cudart.cudaMemPool_t, cuda.CUmemoryPool'>, found " + str(type(memPool)))
 *     cdef ccudart.cudaMemPoolAttr cattr = attr.value
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_memPool, __pyx_ptype_4cuda_6cudart_cudaMemPool_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_memPool, __pyx_ptype_4cuda_4cuda_CUmemoryPool); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":14466
 *     """
 *     if not isinstance(memPool, (cudaMemPool_t, cuda.CUmemoryPool)):
 *         raise TypeError("Argument 'memPool' is not instance of type (expected <class 'cudart.cudaMemPool_t, cuda.CUmemoryPool'>, found " + str(type(memPool)))             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaMemPoolAttr cattr = attr.value
 *     cdef utils.HelperCUmemPool_attribute cvalue = utils.HelperCUmemPool_attribute(attr, value, is_getter=False)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_memPool))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14466, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_memPool_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14466, __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, 14466, __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, 14466, __pyx_L1_error)

    /* "cuda/cudart.pyx":14465
 *     cudaMemPoolCreate
 *     """
 *     if not isinstance(memPool, (cudaMemPool_t, cuda.CUmemoryPool)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'memPool' is not instance of type (expected <class 'cudart.cudaMemPool_t, cuda.CUmemoryPool'>, found " + str(type(memPool)))
 *     cdef ccudart.cudaMemPoolAttr cattr = attr.value
 */
  }

  /* "cuda/cudart.pyx":14467
 *     if not isinstance(memPool, (cudaMemPool_t, cuda.CUmemoryPool)):
 *         raise TypeError("Argument 'memPool' is not instance of type (expected <class 'cudart.cudaMemPool_t, cuda.CUmemoryPool'>, found " + str(type(memPool)))
 *     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_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_n_s_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14467, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = ((enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaMemPoolAttr(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 14467, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cattr = __pyx_t_6;

  /* "cuda/cudart.pyx":14468
 *         raise TypeError("Argument 'memPool' is not instance of type (expected <class 'cudart.cudaMemPool_t, cuda.CUmemoryPool'>, found " + str(type(memPool)))
 *     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_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14468, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_v_attr);
  __Pyx_GIVEREF(__pyx_v_attr);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_attr);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_value);
  __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14468, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_is_getter, Py_False) < 0) __PYX_ERR(0, 14468, __pyx_L1_error)
  __pyx_t_7 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperCUmemPool_attribute), __pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14468, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_v_cvalue = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperCUmemPool_attribute *)__pyx_t_7);
  __pyx_t_7 = 0;

  /* "cuda/cudart.pyx":14469
 *     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(<ccudart.cudaMemPool_t>(<cudaMemPool_t>memPool)._ptr[0], cattr, cvalue_ptr)
 */
  __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cvalue), __pyx_n_s_cptr); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14469, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_7); if (unlikely((__pyx_t_8 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 14469, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_v_cvalue_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_8));

  /* "cuda/cudart.pyx":14470
 *     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(<ccudart.cudaMemPool_t>(<cudaMemPool_t>memPool)._ptr[0], cattr, cvalue_ptr)
 *     return (cudaError_t(err),)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":14471
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr
 *     with nogil:
 *         err = ccudart.cudaMemPoolSetAttribute(<ccudart.cudaMemPool_t>(<cudaMemPool_t>memPool)._ptr[0], cattr, cvalue_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
        __pyx_t_9 = __pyx_f_4cuda_7ccudart_cudaMemPoolSetAttribute(((__pyx_t_4cuda_7ccudart_cudaMemPool_t)(((struct __pyx_obj_4cuda_6cudart_cudaMemPool_t *)__pyx_v_memPool)->__pyx_base._ptr[0])), __pyx_v_cattr, __pyx_v_cvalue_ptr); if (unlikely(__pyx_t_9 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 14471, __pyx_L7_error)
        __pyx_v_err = __pyx_t_9;
      }

      /* "cuda/cudart.pyx":14470
 *     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(<ccudart.cudaMemPool_t>(<cudaMemPool_t>memPool)._ptr[0], 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":14472
 *     with nogil:
 *         err = ccudart.cudaMemPoolSetAttribute(<ccudart.cudaMemPool_t>(<cudaMemPool_t>memPool)._ptr[0], cattr, cvalue_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, 14472, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14472, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __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_7 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_10, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4);
  __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14472, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14472, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_7);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_7);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":14417
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.cudart.cudaMemPoolSetAttribute", __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":14475
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolGetAttribute(memPool, attr not None : cudaMemPoolAttr):             # <<<<<<<<<<<<<<
 *     """ Gets attributes of a memory pool.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_293cudaMemPoolGetAttribute(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_292cudaMemPoolGetAttribute[] = "cudaMemPoolGetAttribute(memPool, attr: cudaMemPoolAttr)\n Gets attributes of a memory pool.\n\n    Supported attributes are: ::cudaMemPoolAttrReleaseThreshold: (value\n    type = cuuint64_t) Amount of reserved memory in bytes to hold onto\n    before trying to release memory back to the OS. When more than the\n    release threshold bytes of memory are held by the memory pool, the\n    allocator will try to release memory back to the OS on the next call to\n    stream, event or context synchronize. (default 0)\n    ::cudaMemPoolReuseFollowEventDependencies: (value type = int) Allow\n    cudaMallocAsync to use memory asynchronously freed in another stream as\n    long as a stream ordering dependency of the allocating stream on the\n    free action exists. Cuda events and null stream interactions can create\n    the required stream ordered dependencies. (default enabled)\n    ::cudaMemPoolReuseAllowOpportunistic: (value type = int) Allow reuse of\n    already completed frees when there is no dependency between the free\n    and allocation. (default enabled)\n    ::cudaMemPoolReuseAllowInternalDependencies: (value type = int) Allow\n    cudaMallocAsync to insert new stream dependencies in order to establish\n    the stream ordering required to reuse a piece of memory released by\n    cudaFreeAsync (default enabled).\n\n    Parameters\n    ----------\n    pool : CUmemoryPool or cudaMemPool_t\n        The memory pool to get attributes of\n    attr : cudaMemPoolAttr\n        The attribute to get\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    value : Any\n        Retrieved value\n\n    See Also\n    --------\n    cuMemPoolGetAttribute\n    cudaMallocAsync\n    cudaFreeAsync\n    cudaDeviceGetDefaultMemPool\n    cudaDeviceGetMemPool\n    cudaMemPoolCreate\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_293cudaMemPoolGetAttribute = {"cudaMemPoolGetAttribute", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_293cudaMemPoolGetAttribute, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_292cudaMemPoolGetAttribute};
static PyObject *__pyx_pw_4cuda_6cudart_293cudaMemPoolGetAttribute(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, 14475, __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, 14475, __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, 14475, __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, 14475, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_292cudaMemPoolGetAttribute(__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_292cudaMemPoolGetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_memPool, PyObject *__pyx_v_attr) {
  enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr __pyx_v_cattr;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperCUmemPool_attribute *__pyx_v_cvalue = 0;
  void *__pyx_v_cvalue_ptr;
  __pyx_t_4cuda_7ccudart_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;
  enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_8;
  __pyx_t_4cuda_7ccudart_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__484)
  __Pyx_RefNannySetupContext("cudaMemPoolGetAttribute", 0);
  __Pyx_TraceCall("cudaMemPoolGetAttribute", __pyx_f[0], 14475, 0, __PYX_ERR(0, 14475, __pyx_L1_error));

  /* "cuda/cudart.pyx":14521
 *     cudaMemPoolCreate
 *     """
 *     if not isinstance(memPool, (cudaMemPool_t, cuda.CUmemoryPool)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'memPool' is not instance of type (expected <class 'cudart.cudaMemPool_t, cuda.CUmemoryPool'>, found " + str(type(memPool)))
 *     cdef ccudart.cudaMemPoolAttr cattr = attr.value
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_memPool, __pyx_ptype_4cuda_6cudart_cudaMemPool_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_memPool, __pyx_ptype_4cuda_4cuda_CUmemoryPool); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":14522
 *     """
 *     if not isinstance(memPool, (cudaMemPool_t, cuda.CUmemoryPool)):
 *         raise TypeError("Argument 'memPool' is not instance of type (expected <class 'cudart.cudaMemPool_t, cuda.CUmemoryPool'>, found " + str(type(memPool)))             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaMemPoolAttr cattr = attr.value
 *     cdef utils.HelperCUmemPool_attribute cvalue = utils.HelperCUmemPool_attribute(attr, 0, is_getter=True)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_memPool))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14522, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_memPool_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14522, __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, 14522, __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, 14522, __pyx_L1_error)

    /* "cuda/cudart.pyx":14521
 *     cudaMemPoolCreate
 *     """
 *     if not isinstance(memPool, (cudaMemPool_t, cuda.CUmemoryPool)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'memPool' is not instance of type (expected <class 'cudart.cudaMemPool_t, cuda.CUmemoryPool'>, found " + str(type(memPool)))
 *     cdef ccudart.cudaMemPoolAttr cattr = attr.value
 */
  }

  /* "cuda/cudart.pyx":14523
 *     if not isinstance(memPool, (cudaMemPool_t, cuda.CUmemoryPool)):
 *         raise TypeError("Argument 'memPool' is not instance of type (expected <class 'cudart.cudaMemPool_t, cuda.CUmemoryPool'>, found " + str(type(memPool)))
 *     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_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_n_s_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14523, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = ((enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaMemPoolAttr(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 14523, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cattr = __pyx_t_6;

  /* "cuda/cudart.pyx":14524
 *         raise TypeError("Argument 'memPool' is not instance of type (expected <class 'cudart.cudaMemPool_t, cuda.CUmemoryPool'>, found " + str(type(memPool)))
 *     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_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14524, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_v_attr);
  __Pyx_GIVEREF(__pyx_v_attr);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_attr);
  __Pyx_INCREF(__pyx_int_0);
  __Pyx_GIVEREF(__pyx_int_0);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_int_0);
  __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14524, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_is_getter, Py_True) < 0) __PYX_ERR(0, 14524, __pyx_L1_error)
  __pyx_t_7 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperCUmemPool_attribute), __pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14524, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_v_cvalue = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperCUmemPool_attribute *)__pyx_t_7);
  __pyx_t_7 = 0;

  /* "cuda/cudart.pyx":14525
 *     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(<ccudart.cudaMemPool_t>(<cudaMemPool_t>memPool)._ptr[0], cattr, cvalue_ptr)
 */
  __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cvalue), __pyx_n_s_cptr); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14525, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_7); if (unlikely((__pyx_t_8 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 14525, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_v_cvalue_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_8));

  /* "cuda/cudart.pyx":14526
 *     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(<ccudart.cudaMemPool_t>(<cudaMemPool_t>memPool)._ptr[0], 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":14527
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr
 *     with nogil:
 *         err = ccudart.cudaMemPoolGetAttribute(<ccudart.cudaMemPool_t>(<cudaMemPool_t>memPool)._ptr[0], cattr, cvalue_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), cvalue.pyObj())
 * 
 */
        __pyx_t_9 = __pyx_f_4cuda_7ccudart_cudaMemPoolGetAttribute(((__pyx_t_4cuda_7ccudart_cudaMemPool_t)(((struct __pyx_obj_4cuda_6cudart_cudaMemPool_t *)__pyx_v_memPool)->__pyx_base._ptr[0])), __pyx_v_cattr, __pyx_v_cvalue_ptr); if (unlikely(__pyx_t_9 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 14527, __pyx_L7_error)
        __pyx_v_err = __pyx_t_9;
      }

      /* "cuda/cudart.pyx":14526
 *     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(<ccudart.cudaMemPool_t>(<cudaMemPool_t>memPool)._ptr[0], 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":14528
 *     with nogil:
 *         err = ccudart.cudaMemPoolGetAttribute(<ccudart.cudaMemPool_t>(<cudaMemPool_t>memPool)._ptr[0], cattr, cvalue_ptr)
 *     return (cudaError_t(err), cvalue.pyObj())             # <<<<<<<<<<<<<<
 * 
 * @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, 14528, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14528, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __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_7 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_10, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4);
  __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14528, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cvalue), __pyx_n_s_pyObj); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14528, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_10 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(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_5 = (__pyx_t_10) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_10) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14528, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14528, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_7);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_5);
  __pyx_t_7 = 0;
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":14475
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.cudart.cudaMemPoolGetAttribute", __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":14531
 * 
 * @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_295cudaMemPoolSetAccess(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_294cudaMemPoolSetAccess[] = "cudaMemPoolSetAccess(memPool, descList: List[cudaMemAccessDesc], size_t count)\n Controls visibility of pools between devices.\n\n    Parameters\n    ----------\n    pool : CUmemoryPool or cudaMemPool_t\n        The pool being modified\n    map : List[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        cudaSuccess\n        cudaErrorInvalidValue\n    None\n        None\n\n    See Also\n    --------\n    cuMemPoolSetAccess\n    cudaMemPoolGetAccess\n    cudaMallocAsync\n    cudaFreeAsync\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_295cudaMemPoolSetAccess = {"cudaMemPoolSetAccess", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_295cudaMemPoolSetAccess, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_294cudaMemPoolSetAccess};
static PyObject *__pyx_pw_4cuda_6cudart_295cudaMemPoolSetAccess(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, 14531, __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, 14531, __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, 14531, __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, 14531, __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, 14531, __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_294cudaMemPoolSetAccess(__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":14560
 *     """
 *     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]")
 *     if not isinstance(memPool, (cudaMemPool_t, cuda.CUmemoryPool)):
 */

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, 14560, __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, 14560, __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], 14560, 0, __PYX_ERR(0, 14560, __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, 14560, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_descList)) { __Pyx_RaiseClosureNameError("descList"); __PYX_ERR(0, 14560, __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, 14560, __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, 14560, __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, 14560, __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, 14560, __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, 14560, __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, 14560, __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, 14560, __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":14531
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolSetAccess(memPool, descList : List[cudaMemAccessDesc], size_t count):             # <<<<<<<<<<<<<<
 *     """ Controls visibility of pools between devices.
 * 
 */

static PyObject *__pyx_pf_4cuda_6cudart_294cudaMemPoolSetAccess(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;
  struct __pyx_t_4cuda_7ccudart_cudaMemAccessDesc *__pyx_v_cdescList;
  Py_ssize_t __pyx_v_idx;
  __pyx_t_4cuda_7ccudart_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;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  struct __pyx_t_4cuda_7ccudart_cudaMemAccessDesc *__pyx_t_10;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_t_11;
  PyObject *__pyx_t_12 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__485)
  __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, 14531, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __Pyx_TraceCall("cudaMemPoolSetAccess", __pyx_f[0], 14531, 0, __PYX_ERR(0, 14531, __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":14559
 *     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, 14559, __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":14560
 *     """
 *     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]")
 *     if not isinstance(memPool, (cudaMemPool_t, cuda.CUmemoryPool)):
 */
  __pyx_t_1 = __pyx_pf_4cuda_6cudart_20cudaMemPoolSetAccess_genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14560, __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, 14560, __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, 14560, __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":14561
 *     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]")             # <<<<<<<<<<<<<<
 *     if not isinstance(memPool, (cudaMemPool_t, cuda.CUmemoryPool)):
 *         raise TypeError("Argument 'memPool' is not instance of type (expected <class 'cudart.cudaMemPool_t, cuda.CUmemoryPool'>, found " + str(type(memPool)))
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__486, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14561, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 14561, __pyx_L1_error)

    /* "cuda/cudart.pyx":14560
 *     """
 *     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]")
 *     if not isinstance(memPool, (cudaMemPool_t, cuda.CUmemoryPool)):
 */
  }

  /* "cuda/cudart.pyx":14562
 *     if not all(isinstance(_x, (cudaMemAccessDesc)) for _x in descList):
 *         raise TypeError("Argument 'descList' is not instance of type (expected List[ccudart.cudaMemAccessDesc]")
 *     if not isinstance(memPool, (cudaMemPool_t, cuda.CUmemoryPool)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'memPool' is not instance of type (expected <class 'cudart.cudaMemPool_t, cuda.CUmemoryPool'>, found " + str(type(memPool)))
 *     cdef ccudart.cudaMemAccessDesc* cdescList = NULL
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_memPool, __pyx_ptype_4cuda_6cudart_cudaMemPool_t); 
  __pyx_t_5 = (__pyx_t_2 != 0);
  if (!__pyx_t_5) {
  } else {
    __pyx_t_4 = __pyx_t_5;
    goto __pyx_L5_bool_binop_done;
  }
  __pyx_t_5 = __Pyx_TypeCheck(__pyx_v_memPool, __pyx_ptype_4cuda_4cuda_CUmemoryPool); 
  __pyx_t_2 = (__pyx_t_5 != 0);
  __pyx_t_4 = __pyx_t_2;
  __pyx_L5_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_4 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":14563
 *         raise TypeError("Argument 'descList' is not instance of type (expected List[ccudart.cudaMemAccessDesc]")
 *     if not isinstance(memPool, (cudaMemPool_t, cuda.CUmemoryPool)):
 *         raise TypeError("Argument 'memPool' is not instance of type (expected <class 'cudart.cudaMemPool_t, cuda.CUmemoryPool'>, found " + str(type(memPool)))             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaMemAccessDesc* cdescList = NULL
 *     if len(descList) > 0:
 */
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_memPool))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14563, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_memPool_is_not_instance, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14563, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14563, __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, 14563, __pyx_L1_error)

    /* "cuda/cudart.pyx":14562
 *     if not all(isinstance(_x, (cudaMemAccessDesc)) for _x in descList):
 *         raise TypeError("Argument 'descList' is not instance of type (expected List[ccudart.cudaMemAccessDesc]")
 *     if not isinstance(memPool, (cudaMemPool_t, cuda.CUmemoryPool)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'memPool' is not instance of type (expected <class 'cudart.cudaMemPool_t, cuda.CUmemoryPool'>, found " + str(type(memPool)))
 *     cdef ccudart.cudaMemAccessDesc* cdescList = NULL
 */
  }

  /* "cuda/cudart.pyx":14564
 *     if not isinstance(memPool, (cudaMemPool_t, cuda.CUmemoryPool)):
 *         raise TypeError("Argument 'memPool' is not instance of type (expected <class 'cudart.cudaMemPool_t, cuda.CUmemoryPool'>, found " + str(type(memPool)))
 *     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":14565
 *         raise TypeError("Argument 'memPool' is not instance of type (expected <class 'cudart.cudaMemPool_t, cuda.CUmemoryPool'>, found " + str(type(memPool)))
 *     cdef ccudart.cudaMemAccessDesc* cdescList = NULL
 *     if len(descList) > 0:             # <<<<<<<<<<<<<<
 *         cdescList = <ccudart.cudaMemAccessDesc*> calloc(len(descList), sizeof(ccudart.cudaMemAccessDesc))
 *         if cdescList is NULL:
 */
  __pyx_t_3 = __pyx_cur_scope->__pyx_v_descList;
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_6 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14565, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_2 = ((__pyx_t_6 > 0) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":14566
 *     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_3 = __pyx_cur_scope->__pyx_v_descList;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_6 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14566, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_cdescList = ((struct __pyx_t_4cuda_7ccudart_cudaMemAccessDesc *)calloc(__pyx_t_6, (sizeof(struct __pyx_t_4cuda_7ccudart_cudaMemAccessDesc))));

    /* "cuda/cudart.pyx":14567
 *     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_2 = ((__pyx_v_cdescList == NULL) != 0);
    if (unlikely(__pyx_t_2)) {

      /* "cuda/cudart.pyx":14568
 *         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_3 = __pyx_cur_scope->__pyx_v_descList;
      __Pyx_INCREF(__pyx_t_3);
      __pyx_t_6 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14568, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14568, __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, 14568, __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_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14568, __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, 14568, __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(struct __pyx_t_4cuda_7ccudart_cudaMemAccessDesc))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14568, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14568, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14568, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14568, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(0, 14568, __pyx_L1_error)

      /* "cuda/cudart.pyx":14567
 *     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":14569
 *         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_7 = __pyx_cur_scope->__pyx_v_descList;
    __Pyx_INCREF(__pyx_t_7);
    __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14569, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_8 = __pyx_t_6;
    for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
      __pyx_v_idx = __pyx_t_9;

      /* "cuda/cudart.pyx":14570
 *             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_7 = __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_7)) __PYX_ERR(0, 14570, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      (void)(memcpy((&(__pyx_v_cdescList[__pyx_v_idx])), ((struct __pyx_obj_4cuda_6cudart_cudaMemAccessDesc *)__pyx_t_7)->_ptr, (sizeof(struct __pyx_t_4cuda_7ccudart_cudaMemAccessDesc))));
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    }

    /* "cuda/cudart.pyx":14565
 *         raise TypeError("Argument 'memPool' is not instance of type (expected <class 'cudart.cudaMemPool_t, cuda.CUmemoryPool'>, found " + str(type(memPool)))
 *     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":14572
 *             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(<ccudart.cudaMemPool_t>(<cudaMemPool_t>memPool)._ptr[0], (<cudaMemAccessDesc>descList[0])._ptr if len(descList) == 1 else cdescList, count)
 *     if cdescList is not NULL:
 */
  __pyx_t_7 = __pyx_cur_scope->__pyx_v_descList;
  __Pyx_INCREF(__pyx_t_7);
  __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14572, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_2 = ((__pyx_v_count > ((size_t)__pyx_t_6)) != 0);
  if (unlikely(__pyx_t_2)) {
    __pyx_t_7 = __pyx_cur_scope->__pyx_v_descList;
    __Pyx_INCREF(__pyx_t_7);
    __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 14572, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14572, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14572, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_kp_u_List_is_too_small, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14572, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_t_7, __pyx_kp_u__395); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14572, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyInt_FromSize_t(__pyx_v_count); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14572, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14572, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14572, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14572, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(0, 14572, __pyx_L1_error)
  }

  /* "cuda/cudart.pyx":14573
 * 
 *     if count > <size_t>len(descList): raise RuntimeError("List is too small: " + str(len(descList)) + " < " + str(count))
 *     err = ccudart.cudaMemPoolSetAccess(<ccudart.cudaMemPool_t>(<cudaMemPool_t>memPool)._ptr[0], (<cudaMemAccessDesc>descList[0])._ptr if len(descList) == 1 else cdescList, count)             # <<<<<<<<<<<<<<
 *     if cdescList is not NULL:
 *         free(cdescList)
 */
  __pyx_t_1 = __pyx_cur_scope->__pyx_v_descList;
  __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, 14573, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (((__pyx_t_6 == 1) != 0)) {
    __pyx_t_1 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_descList, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14573, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_10 = ((struct __pyx_obj_4cuda_6cudart_cudaMemAccessDesc *)__pyx_t_1)->_ptr;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  } else {
    __pyx_t_10 = __pyx_v_cdescList;
  }
  __pyx_t_11 = __pyx_f_4cuda_7ccudart_cudaMemPoolSetAccess(((__pyx_t_4cuda_7ccudart_cudaMemPool_t)(((struct __pyx_obj_4cuda_6cudart_cudaMemPool_t *)__pyx_v_memPool)->__pyx_base._ptr[0])), __pyx_t_10, __pyx_v_count); if (unlikely(__pyx_t_11 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 14573, __pyx_L1_error)
  __pyx_v_err = __pyx_t_11;

  /* "cuda/cudart.pyx":14574
 *     if count > <size_t>len(descList): raise RuntimeError("List is too small: " + str(len(descList)) + " < " + str(count))
 *     err = ccudart.cudaMemPoolSetAccess(<ccudart.cudaMemPool_t>(<cudaMemPool_t>memPool)._ptr[0], (<cudaMemAccessDesc>descList[0])._ptr if len(descList) == 1 else cdescList, count)
 *     if cdescList is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdescList)
 *     return (cudaError_t(err),)
 */
  __pyx_t_2 = ((__pyx_v_cdescList != NULL) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":14575
 *     err = ccudart.cudaMemPoolSetAccess(<ccudart.cudaMemPool_t>(<cudaMemPool_t>memPool)._ptr[0], (<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":14574
 *     if count > <size_t>len(descList): raise RuntimeError("List is too small: " + str(len(descList)) + " < " + str(count))
 *     err = ccudart.cudaMemPoolSetAccess(<ccudart.cudaMemPool_t>(<cudaMemPool_t>memPool)._ptr[0], (<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":14576
 *     if cdescList is not NULL:
 *         free(cdescList)
 *     return (cudaError_t(err),)             # <<<<<<<<<<<<<<
 * 
 * @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, 14576, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14576, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_12 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_7);
    if (likely(__pyx_t_12)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_12);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_7, function);
    }
  }
  __pyx_t_1 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_12, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_3);
  __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14576, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14576, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":14531
 * 
 * @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_7);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("cuda.cudart.cudaMemPoolSetAccess", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __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":14579
 * 
 * @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_297cudaMemPoolGetAccess(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_296cudaMemPoolGetAccess[] = "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 : CUmemoryPool or cudaMemPool_t\n        the pool being queried\n    location : cudaMemLocation\n        the location accessing the pool\n\n    Returns\n    -------\n    cudaError_t\n\n    flags : cudaMemAccessFlags\n        the accessibility of the pool from the specified location\n\n    See Also\n    --------\n    cuMemPoolGetAccess\n    cudaMemPoolSetAccess\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_297cudaMemPoolGetAccess = {"cudaMemPoolGetAccess", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_297cudaMemPoolGetAccess, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_296cudaMemPoolGetAccess};
static PyObject *__pyx_pw_4cuda_6cudart_297cudaMemPoolGetAccess(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, 14579, __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, 14579, __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, 14579, __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, 14579, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_296cudaMemPoolGetAccess(__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_296cudaMemPoolGetAccess(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_memPool, struct __pyx_obj_4cuda_6cudart_cudaMemLocation *__pyx_v_location) {
  enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags __pyx_v_flags;
  struct __pyx_t_4cuda_7ccudart_cudaMemLocation *__pyx_v_clocation_ptr;
  __pyx_t_4cuda_7ccudart_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;
  struct __pyx_t_4cuda_7ccudart_cudaMemLocation *__pyx_t_6;
  __pyx_t_4cuda_7ccudart_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__487)
  __Pyx_RefNannySetupContext("cudaMemPoolGetAccess", 0);
  __Pyx_TraceCall("cudaMemPoolGetAccess", __pyx_f[0], 14579, 0, __PYX_ERR(0, 14579, __pyx_L1_error));

  /* "cuda/cudart.pyx":14604
 *     cudaMemPoolSetAccess
 *     """
 *     if not isinstance(memPool, (cudaMemPool_t, cuda.CUmemoryPool)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'memPool' is not instance of type (expected <class 'cudart.cudaMemPool_t, cuda.CUmemoryPool'>, found " + str(type(memPool)))
 *     cdef ccudart.cudaMemAccessFlags flags
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_memPool, __pyx_ptype_4cuda_6cudart_cudaMemPool_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_memPool, __pyx_ptype_4cuda_4cuda_CUmemoryPool); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":14605
 *     """
 *     if not isinstance(memPool, (cudaMemPool_t, cuda.CUmemoryPool)):
 *         raise TypeError("Argument 'memPool' is not instance of type (expected <class 'cudart.cudaMemPool_t, cuda.CUmemoryPool'>, found " + str(type(memPool)))             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaMemAccessFlags flags
 *     cdef ccudart.cudaMemLocation* clocation_ptr = location._ptr if location != None else NULL
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_memPool))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14605, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_memPool_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14605, __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, 14605, __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, 14605, __pyx_L1_error)

    /* "cuda/cudart.pyx":14604
 *     cudaMemPoolSetAccess
 *     """
 *     if not isinstance(memPool, (cudaMemPool_t, cuda.CUmemoryPool)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'memPool' is not instance of type (expected <class 'cudart.cudaMemPool_t, cuda.CUmemoryPool'>, found " + str(type(memPool)))
 *     cdef ccudart.cudaMemAccessFlags flags
 */
  }

  /* "cuda/cudart.pyx":14607
 *         raise TypeError("Argument 'memPool' is not instance of type (expected <class 'cudart.cudaMemPool_t, cuda.CUmemoryPool'>, found " + str(type(memPool)))
 *     cdef ccudart.cudaMemAccessFlags flags
 *     cdef ccudart.cudaMemLocation* clocation_ptr = location._ptr if location != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaMemPoolGetAccess(&flags, <ccudart.cudaMemPool_t>(<cudaMemPool_t>memPool)._ptr[0], clocation_ptr)
 *     return (cudaError_t(err), cudaMemAccessFlags(flags))
 */
  __pyx_t_4 = PyObject_RichCompare(((PyObject *)__pyx_v_location), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14607, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 14607, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_2) {
    __pyx_t_6 = __pyx_v_location->_ptr;
  } else {
    __pyx_t_6 = NULL;
  }
  __pyx_v_clocation_ptr = __pyx_t_6;

  /* "cuda/cudart.pyx":14608
 *     cdef ccudart.cudaMemAccessFlags flags
 *     cdef ccudart.cudaMemLocation* clocation_ptr = location._ptr if location != None else NULL
 *     err = ccudart.cudaMemPoolGetAccess(&flags, <ccudart.cudaMemPool_t>(<cudaMemPool_t>memPool)._ptr[0], clocation_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), cudaMemAccessFlags(flags))
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaMemPoolGetAccess((&__pyx_v_flags), ((__pyx_t_4cuda_7ccudart_cudaMemPool_t)(((struct __pyx_obj_4cuda_6cudart_cudaMemPool_t *)__pyx_v_memPool)->__pyx_base._ptr[0])), __pyx_v_clocation_ptr); if (unlikely(__pyx_t_7 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 14608, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":14609
 *     cdef ccudart.cudaMemLocation* clocation_ptr = location._ptr if location != None else NULL
 *     err = ccudart.cudaMemPoolGetAccess(&flags, <ccudart.cudaMemPool_t>(<cudaMemPool_t>memPool)._ptr[0], clocation_ptr)
 *     return (cudaError_t(err), cudaMemAccessFlags(flags))             # <<<<<<<<<<<<<<
 * 
 * @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, 14609, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_8 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14609, __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_4 = (__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_4)) __PYX_ERR(0, 14609, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_cudaMemAccessFlags); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14609, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemAccessFlags(__pyx_v_flags); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 14609, __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_5 = (__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_5)) __PYX_ERR(0, 14609, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14609, __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_5);
  PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_5);
  __pyx_t_4 = 0;
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":14579
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.cudart.cudaMemPoolGetAccess", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":14612
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolCreate(poolProps : cudaMemPoolProps):             # <<<<<<<<<<<<<<
 *     """ Creates a memory pool.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_299cudaMemPoolCreate(PyObject *__pyx_self, PyObject *__pyx_v_poolProps); /*proto*/
static char __pyx_doc_4cuda_6cudart_298cudaMemPoolCreate[] = "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    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorNotSupported\n    None\n        None\n\n    See Also\n    --------\n    cuMemPoolCreate\n    cudaDeviceSetMemPool\n    cudaMallocFromPoolAsync\n    cudaMemPoolExportToShareableHandle\n    cudaDeviceGetDefaultMemPool\n    cudaDeviceGetMemPool\n\n    Notes\n    -----\n    Specifying cudaMemHandleTypeNone creates a memory pool that will not support IPC.\n\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_299cudaMemPoolCreate = {"cudaMemPoolCreate", (PyCFunction)__pyx_pw_4cuda_6cudart_299cudaMemPoolCreate, METH_O, __pyx_doc_4cuda_6cudart_298cudaMemPoolCreate};
static PyObject *__pyx_pw_4cuda_6cudart_299cudaMemPoolCreate(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, 14612, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_298cudaMemPoolCreate(__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_298cudaMemPoolCreate(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 __pyx_t_4cuda_7ccudart_cudaMemPoolProps *__pyx_v_cpoolProps_ptr;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  struct __pyx_t_4cuda_7ccudart_cudaMemPoolProps *__pyx_t_2;
  int __pyx_t_3;
  __pyx_t_4cuda_7ccudart_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__488)
  __Pyx_RefNannySetupContext("cudaMemPoolCreate", 0);
  __Pyx_TraceCall("cudaMemPoolCreate", __pyx_f[0], 14612, 0, __PYX_ERR(0, 14612, __pyx_L1_error));

  /* "cuda/cudart.pyx":14645
 * 
 *     """
 *     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, 14645, __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":14646
 *     """
 *     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, 14646, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 14646, __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":14647
 *     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(((__pyx_t_4cuda_7ccudart_cudaMemPool_t *)__pyx_v_memPool->__pyx_base._ptr), __pyx_v_cpoolProps_ptr); if (unlikely(__pyx_t_4 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 14647, __pyx_L1_error)
  __pyx_v_err = __pyx_t_4;

  /* "cuda/cudart.pyx":14648
 *     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, 14648, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14648, __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, 14648, __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, 14648, __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":14612
 * 
 * @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":14651
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolDestroy(memPool):             # <<<<<<<<<<<<<<
 *     """ Destroys the specified memory pool.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_301cudaMemPoolDestroy(PyObject *__pyx_self, PyObject *__pyx_v_memPool); /*proto*/
static char __pyx_doc_4cuda_6cudart_300cudaMemPoolDestroy[] = "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 cudaMemPoolDestroy is\n    invoked, the function will return immediately and the resources\n    associated with the pool will be released automatically once there are\n    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    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    None\n        None\n\n    See Also\n    --------\n    cuMemPoolDestroy\n    cudaFreeAsync\n    cudaDeviceSetMemPool\n    cudaDeviceGetDefaultMemPool\n    cudaDeviceGetMemPool\n    cudaMemPoolCreate\n\n    Notes\n    -----\n    A device's default memory pool cannot be destroyed.\n\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_301cudaMemPoolDestroy = {"cudaMemPoolDestroy", (PyCFunction)__pyx_pw_4cuda_6cudart_301cudaMemPoolDestroy, METH_O, __pyx_doc_4cuda_6cudart_300cudaMemPoolDestroy};
static PyObject *__pyx_pw_4cuda_6cudart_301cudaMemPoolDestroy(PyObject *__pyx_self, PyObject *__pyx_v_memPool) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMemPoolDestroy (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_300cudaMemPoolDestroy(__pyx_self, ((PyObject *)__pyx_v_memPool));

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

static PyObject *__pyx_pf_4cuda_6cudart_300cudaMemPoolDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_memPool) {
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__489)
  __Pyx_RefNannySetupContext("cudaMemPoolDestroy", 0);
  __Pyx_TraceCall("cudaMemPoolDestroy", __pyx_f[0], 14651, 0, __PYX_ERR(0, 14651, __pyx_L1_error));

  /* "cuda/cudart.pyx":14685
 * 
 *     """
 *     if not isinstance(memPool, (cudaMemPool_t, cuda.CUmemoryPool)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'memPool' is not instance of type (expected <class 'cudart.cudaMemPool_t, cuda.CUmemoryPool'>, found " + str(type(memPool)))
 *     err = ccudart.cudaMemPoolDestroy(<ccudart.cudaMemPool_t>(<cudaMemPool_t>memPool)._ptr[0])
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_memPool, __pyx_ptype_4cuda_6cudart_cudaMemPool_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_memPool, __pyx_ptype_4cuda_4cuda_CUmemoryPool); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":14686
 *     """
 *     if not isinstance(memPool, (cudaMemPool_t, cuda.CUmemoryPool)):
 *         raise TypeError("Argument 'memPool' is not instance of type (expected <class 'cudart.cudaMemPool_t, cuda.CUmemoryPool'>, found " + str(type(memPool)))             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaMemPoolDestroy(<ccudart.cudaMemPool_t>(<cudaMemPool_t>memPool)._ptr[0])
 *     return (cudaError_t(err),)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_memPool))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14686, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_memPool_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14686, __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, 14686, __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, 14686, __pyx_L1_error)

    /* "cuda/cudart.pyx":14685
 * 
 *     """
 *     if not isinstance(memPool, (cudaMemPool_t, cuda.CUmemoryPool)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'memPool' is not instance of type (expected <class 'cudart.cudaMemPool_t, cuda.CUmemoryPool'>, found " + str(type(memPool)))
 *     err = ccudart.cudaMemPoolDestroy(<ccudart.cudaMemPool_t>(<cudaMemPool_t>memPool)._ptr[0])
 */
  }

  /* "cuda/cudart.pyx":14687
 *     if not isinstance(memPool, (cudaMemPool_t, cuda.CUmemoryPool)):
 *         raise TypeError("Argument 'memPool' is not instance of type (expected <class 'cudart.cudaMemPool_t, cuda.CUmemoryPool'>, found " + str(type(memPool)))
 *     err = ccudart.cudaMemPoolDestroy(<ccudart.cudaMemPool_t>(<cudaMemPool_t>memPool)._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaMemPoolDestroy(((__pyx_t_4cuda_7ccudart_cudaMemPool_t)(((struct __pyx_obj_4cuda_6cudart_cudaMemPool_t *)__pyx_v_memPool)->__pyx_base._ptr[0]))); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 14687, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":14688
 *         raise TypeError("Argument 'memPool' is not instance of type (expected <class 'cudart.cudaMemPool_t, cuda.CUmemoryPool'>, found " + str(type(memPool)))
 *     err = ccudart.cudaMemPoolDestroy(<ccudart.cudaMemPool_t>(<cudaMemPool_t>memPool)._ptr[0])
 *     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, 14688, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14688, __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_4 = (__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_4)) __PYX_ERR(0, 14688, __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, 14688, __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":14651
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaMemPoolDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":14691
 * 
 * @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_303cudaMallocFromPoolAsync(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_302cudaMallocFromPoolAsync[] = "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 : CUmemoryPool or cudaMemPool_t\n        The pool to allocate from\n    stream : CUstream or cudaStream_t\n        The stream establishing the stream ordering semantic\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorNotSupported\n        cudaErrorOutOfMemory\n    ptr : int\n        Returned device pointer\n\n    See Also\n    --------\n    cuMemAllocFromPoolAsync\n    cudaMallocAsync\n    cudaFreeAsync\n    cudaDeviceGetDefaultMemPool\n    cudaMemPoolCreate\n    cudaMemPoolSetAccess\n    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\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_303cudaMallocFromPoolAsync = {"cudaMallocFromPoolAsync", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_303cudaMallocFromPoolAsync, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_302cudaMallocFromPoolAsync};
static PyObject *__pyx_pw_4cuda_6cudart_303cudaMallocFromPoolAsync(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, 14691, __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, 14691, __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, 14691, __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, 14691, __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, 14691, __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_302cudaMallocFromPoolAsync(__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_302cudaMallocFromPoolAsync(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_size, PyObject *__pyx_v_memPool, PyObject *__pyx_v_stream) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v_ptr;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__490)
  __Pyx_RefNannySetupContext("cudaMallocFromPoolAsync", 0);
  __Pyx_TraceCall("cudaMallocFromPoolAsync", __pyx_f[0], 14691, 0, __PYX_ERR(0, 14691, __pyx_L1_error));

  /* "cuda/cudart.pyx":14733
 * 
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     if not isinstance(memPool, (cudaMemPool_t, cuda.CUmemoryPool)):
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":14734
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))             # <<<<<<<<<<<<<<
 *     if not isinstance(memPool, (cudaMemPool_t, cuda.CUmemoryPool)):
 *         raise TypeError("Argument 'memPool' is not instance of type (expected <class 'cudart.cudaMemPool_t, cuda.CUmemoryPool'>, found " + str(type(memPool)))
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_stream))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14734, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_stream_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14734, __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, 14734, __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, 14734, __pyx_L1_error)

    /* "cuda/cudart.pyx":14733
 * 
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     if not isinstance(memPool, (cudaMemPool_t, cuda.CUmemoryPool)):
 */
  }

  /* "cuda/cudart.pyx":14735
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     if not isinstance(memPool, (cudaMemPool_t, cuda.CUmemoryPool)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'memPool' is not instance of type (expected <class 'cudart.cudaMemPool_t, cuda.CUmemoryPool'>, found " + str(type(memPool)))
 *     cdef void_ptr ptr = 0
 */
  __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)) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "cuda/cudart.pyx":14736
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     if not isinstance(memPool, (cudaMemPool_t, cuda.CUmemoryPool)):
 *         raise TypeError("Argument 'memPool' is not instance of type (expected <class 'cudart.cudaMemPool_t, cuda.CUmemoryPool'>, found " + str(type(memPool)))             # <<<<<<<<<<<<<<
 *     cdef void_ptr ptr = 0
 *     err = ccudart.cudaMallocFromPoolAsync(<void**>&ptr, size, <ccudart.cudaMemPool_t>(<cudaMemPool_t>memPool)._ptr[0], <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_memPool))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14736, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_memPool_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14736, __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, 14736, __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, 14736, __pyx_L1_error)

    /* "cuda/cudart.pyx":14735
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     if not isinstance(memPool, (cudaMemPool_t, cuda.CUmemoryPool)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'memPool' is not instance of type (expected <class 'cudart.cudaMemPool_t, cuda.CUmemoryPool'>, found " + str(type(memPool)))
 *     cdef void_ptr ptr = 0
 */
  }

  /* "cuda/cudart.pyx":14737
 *     if not isinstance(memPool, (cudaMemPool_t, cuda.CUmemoryPool)):
 *         raise TypeError("Argument 'memPool' is not instance of type (expected <class 'cudart.cudaMemPool_t, cuda.CUmemoryPool'>, found " + str(type(memPool)))
 *     cdef void_ptr ptr = 0             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaMallocFromPoolAsync(<void**>&ptr, size, <ccudart.cudaMemPool_t>(<cudaMemPool_t>memPool)._ptr[0], <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     return (cudaError_t(err), ptr)
 */
  __pyx_v_ptr = 0;

  /* "cuda/cudart.pyx":14738
 *         raise TypeError("Argument 'memPool' is not instance of type (expected <class 'cudart.cudaMemPool_t, cuda.CUmemoryPool'>, found " + str(type(memPool)))
 *     cdef void_ptr ptr = 0
 *     err = ccudart.cudaMallocFromPoolAsync(<void**>&ptr, size, <ccudart.cudaMemPool_t>(<cudaMemPool_t>memPool)._ptr[0], <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), ptr)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaMallocFromPoolAsync(((void **)(&__pyx_v_ptr)), __pyx_v_size, ((__pyx_t_4cuda_7ccudart_cudaMemPool_t)(((struct __pyx_obj_4cuda_6cudart_cudaMemPool_t *)__pyx_v_memPool)->__pyx_base._ptr[0])), ((__pyx_t_4cuda_7ccudart_cudaStream_t)(((struct __pyx_obj_4cuda_6cudart_cudaStream_t *)__pyx_v_stream)->__pyx_base._ptr[0]))); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 14738, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":14739
 *     cdef void_ptr ptr = 0
 *     err = ccudart.cudaMallocFromPoolAsync(<void**>&ptr, size, <ccudart.cudaMemPool_t>(<cudaMemPool_t>memPool)._ptr[0], <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     return (cudaError_t(err), ptr)             # <<<<<<<<<<<<<<
 * 
 * @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, 14739, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14739, __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_4 = (__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_4)) __PYX_ERR(0, 14739, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(__pyx_v_ptr); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14739, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14739, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_5);
  __pyx_t_4 = 0;
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":14691
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaMallocFromPoolAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":14742
 * 
 * @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_305cudaMemPoolExportToShareableHandle(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_304cudaMemPoolExportToShareableHandle[] = "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 cudaMemPoolImportFromShareableHandle.\n    Individual pointers can then be shared with the\n    cudaMemPoolExportPointer and cudaMemPoolImportPointer APIs. The\n    implementation of what the shareable handle is and how it can be\n    transferred is defined by the requested handle type.\n\n    Parameters\n    ----------\n    pool : CUmemoryPool or cudaMemPool_t\n        pool to export\n    handleType : cudaMemAllocationHandleType\n        the type of handle to create\n    flags : unsigned int\n        must be 0\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorOutOfMemory\n    handle_out : int\n        pointer to the location in which to store the requested handle\n\n    See Also\n    --------\n    cuMemPoolExportToShareableHandle\n    cudaMemPoolImportFromShareableHandle\n    cudaMemPoolExportPointer\n    cudaMemPoolImportPointer\n\n    Notes\n    -----\n    : To create an IPC capable mempool, create a mempool with a CUmemAllocationHandleType other than cudaMemHandleTypeNone.\n\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_305cudaMemPoolExportToShareableHandle = {"cudaMemPoolExportToShareableHandle", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_305cudaMemPoolExportToShareableHandle, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_304cudaMemPoolExportToShareableHandle};
static PyObject *__pyx_pw_4cuda_6cudart_305cudaMemPoolExportToShareableHandle(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, 14742, __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, 14742, __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, 14742, __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, 14742, __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, 14742, __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, 14742, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_304cudaMemPoolExportToShareableHandle(__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_304cudaMemPoolExportToShareableHandle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_memPool, PyObject *__pyx_v_handleType, unsigned int __pyx_v_flags) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v_shareableHandle;
  void *__pyx_v_cshareableHandle_ptr;
  enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType __pyx_v_chandleType;
  __pyx_t_4cuda_7ccudart_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;
  enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType __pyx_t_6;
  __pyx_t_4cuda_7ccudart_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("cudaMemPoolExportToShareableHandle", 0);
  __Pyx_TraceCall("cudaMemPoolExportToShareableHandle", __pyx_f[0], 14742, 0, __PYX_ERR(0, 14742, __pyx_L1_error));

  /* "cuda/cudart.pyx":14783
 * 
 *     """
 *     if not isinstance(memPool, (cudaMemPool_t, cuda.CUmemoryPool)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'memPool' is not instance of type (expected <class 'cudart.cudaMemPool_t, cuda.CUmemoryPool'>, found " + str(type(memPool)))
 *     cdef void_ptr shareableHandle = 0
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_memPool, __pyx_ptype_4cuda_6cudart_cudaMemPool_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_memPool, __pyx_ptype_4cuda_4cuda_CUmemoryPool); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":14784
 *     """
 *     if not isinstance(memPool, (cudaMemPool_t, cuda.CUmemoryPool)):
 *         raise TypeError("Argument 'memPool' is not instance of type (expected <class 'cudart.cudaMemPool_t, cuda.CUmemoryPool'>, found " + str(type(memPool)))             # <<<<<<<<<<<<<<
 *     cdef void_ptr shareableHandle = 0
 *     cdef void* cshareableHandle_ptr = <void*>shareableHandle
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_memPool))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14784, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_memPool_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14784, __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, 14784, __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, 14784, __pyx_L1_error)

    /* "cuda/cudart.pyx":14783
 * 
 *     """
 *     if not isinstance(memPool, (cudaMemPool_t, cuda.CUmemoryPool)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'memPool' is not instance of type (expected <class 'cudart.cudaMemPool_t, cuda.CUmemoryPool'>, found " + str(type(memPool)))
 *     cdef void_ptr shareableHandle = 0
 */
  }

  /* "cuda/cudart.pyx":14785
 *     if not isinstance(memPool, (cudaMemPool_t, cuda.CUmemoryPool)):
 *         raise TypeError("Argument 'memPool' is not instance of type (expected <class 'cudart.cudaMemPool_t, cuda.CUmemoryPool'>, found " + str(type(memPool)))
 *     cdef void_ptr shareableHandle = 0             # <<<<<<<<<<<<<<
 *     cdef void* cshareableHandle_ptr = <void*>shareableHandle
 *     cdef ccudart.cudaMemAllocationHandleType chandleType = handleType.value
 */
  __pyx_v_shareableHandle = 0;

  /* "cuda/cudart.pyx":14786
 *         raise TypeError("Argument 'memPool' is not instance of type (expected <class 'cudart.cudaMemPool_t, cuda.CUmemoryPool'>, found " + str(type(memPool)))
 *     cdef void_ptr shareableHandle = 0
 *     cdef void* cshareableHandle_ptr = <void*>shareableHandle             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaMemAllocationHandleType chandleType = handleType.value
 *     err = ccudart.cudaMemPoolExportToShareableHandle(cshareableHandle_ptr, <ccudart.cudaMemPool_t>(<cudaMemPool_t>memPool)._ptr[0], chandleType, flags)
 */
  __pyx_v_cshareableHandle_ptr = ((void *)__pyx_v_shareableHandle);

  /* "cuda/cudart.pyx":14787
 *     cdef void_ptr shareableHandle = 0
 *     cdef void* cshareableHandle_ptr = <void*>shareableHandle
 *     cdef ccudart.cudaMemAllocationHandleType chandleType = handleType.value             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaMemPoolExportToShareableHandle(cshareableHandle_ptr, <ccudart.cudaMemPool_t>(<cudaMemPool_t>memPool)._ptr[0], chandleType, flags)
 *     return (cudaError_t(err), shareableHandle)
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_handleType, __pyx_n_s_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14787, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = ((enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 14787, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_chandleType = __pyx_t_6;

  /* "cuda/cudart.pyx":14788
 *     cdef void* cshareableHandle_ptr = <void*>shareableHandle
 *     cdef ccudart.cudaMemAllocationHandleType chandleType = handleType.value
 *     err = ccudart.cudaMemPoolExportToShareableHandle(cshareableHandle_ptr, <ccudart.cudaMemPool_t>(<cudaMemPool_t>memPool)._ptr[0], chandleType, flags)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), shareableHandle)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaMemPoolExportToShareableHandle(__pyx_v_cshareableHandle_ptr, ((__pyx_t_4cuda_7ccudart_cudaMemPool_t)(((struct __pyx_obj_4cuda_6cudart_cudaMemPool_t *)__pyx_v_memPool)->__pyx_base._ptr[0])), __pyx_v_chandleType, __pyx_v_flags); if (unlikely(__pyx_t_7 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 14788, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":14789
 *     cdef ccudart.cudaMemAllocationHandleType chandleType = handleType.value
 *     err = ccudart.cudaMemPoolExportToShareableHandle(cshareableHandle_ptr, <ccudart.cudaMemPool_t>(<cudaMemPool_t>memPool)._ptr[0], chandleType, flags)
 *     return (cudaError_t(err), shareableHandle)             # <<<<<<<<<<<<<<
 * 
 * @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, 14789, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_8 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14789, __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_4 = (__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_4)) __PYX_ERR(0, 14789, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(__pyx_v_shareableHandle); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14789, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14789, __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_5);
  PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_5);
  __pyx_t_4 = 0;
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":14742
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaMemPoolExportToShareableHandle", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":14792
 * 
 * @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_307cudaMemPoolImportFromShareableHandle(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_306cudaMemPoolImportFromShareableHandle[] = "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    cudaMemPoolImportPointer.\n\n    Parameters\n    ----------\n    handle : Any\n        OS handle of the pool to open\n    handleType : cudaMemAllocationHandleType\n        The type of handle being imported\n    flags : unsigned int\n        must be 0\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorOutOfMemory\n    pool_out : cudaMemPool_t\n        Returned memory pool\n\n    See Also\n    --------\n    cuMemPoolImportFromShareableHandle\n    cudaMemPoolExportToShareableHandle\n    cudaMemPoolExportPointer\n    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 cudaDeviceSetMemPool or cudaMallocFromPoolAsync calls.\n\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_307cudaMemPoolImportFromShareableHandle = {"cudaMemPoolImportFromShareableHandle", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_307cudaMemPoolImportFromShareableHandle, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_306cudaMemPoolImportFromShareableHandle};
static PyObject *__pyx_pw_4cuda_6cudart_307cudaMemPoolImportFromShareableHandle(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, 14792, __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, 14792, __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, 14792, __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, 14792, __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, 14792, __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, 14792, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_306cudaMemPoolImportFromShareableHandle(__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_306cudaMemPoolImportFromShareableHandle(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 __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType __pyx_v_chandleType;
  __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType __pyx_t_3;
  __pyx_t_4cuda_7ccudart_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__492)
  __Pyx_RefNannySetupContext("cudaMemPoolImportFromShareableHandle", 0);
  __Pyx_TraceCall("cudaMemPoolImportFromShareableHandle", __pyx_f[0], 14792, 0, __PYX_ERR(0, 14792, __pyx_L1_error));

  /* "cuda/cudart.pyx":14828
 * 
 *     """
 *     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, 14828, __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":14829
 *     """
 *     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, 14829, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cshareableHandle = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":14830
 *     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, 14830, __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, 14830, __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":14831
 *     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, 14831, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = ((enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 14831, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_chandleType = __pyx_t_3;

  /* "cuda/cudart.pyx":14832
 *     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(((__pyx_t_4cuda_7ccudart_cudaMemPool_t *)__pyx_v_memPool->__pyx_base._ptr), __pyx_v_cshareableHandle_ptr, __pyx_v_chandleType, __pyx_v_flags); if (unlikely(__pyx_t_4 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 14832, __pyx_L1_error)
  __pyx_v_err = __pyx_t_4;

  /* "cuda/cudart.pyx":14833
 *     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, 14833, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 14833, __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, 14833, __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, 14833, __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":14792
 * 
 * @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":14836
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolExportPointer(ptr):             # <<<<<<<<<<<<<<
 *     """ Export data to share a memory pool allocation between processes.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_309cudaMemPoolExportPointer(PyObject *__pyx_self, PyObject *__pyx_v_ptr); /*proto*/
static char __pyx_doc_4cuda_6cudart_308cudaMemPoolExportPointer[] = "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 cudaMemPoolImportPointer api. The data is not a\n    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        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorOutOfMemory\n    shareData_out : cudaMemPoolPtrExportData\n        Returned export data\n\n    See Also\n    --------\n    cuMemPoolExportPointer\n    cudaMemPoolExportToShareableHandle\n    cudaMemPoolImportFromShareableHandle\n    cudaMemPoolImportPointer\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_309cudaMemPoolExportPointer = {"cudaMemPoolExportPointer", (PyCFunction)__pyx_pw_4cuda_6cudart_309cudaMemPoolExportPointer, METH_O, __pyx_doc_4cuda_6cudart_308cudaMemPoolExportPointer};
static PyObject *__pyx_pw_4cuda_6cudart_309cudaMemPoolExportPointer(PyObject *__pyx_self, PyObject *__pyx_v_ptr) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaMemPoolExportPointer (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_308cudaMemPoolExportPointer(__pyx_self, ((PyObject *)__pyx_v_ptr));

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

static PyObject *__pyx_pf_4cuda_6cudart_308cudaMemPoolExportPointer(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;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__493)
  __Pyx_RefNannySetupContext("cudaMemPoolExportPointer", 0);
  __Pyx_TraceCall("cudaMemPoolExportPointer", __pyx_f[0], 14836, 0, __PYX_ERR(0, 14836, __pyx_L1_error));

  /* "cuda/cudart.pyx":14865
 *     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, 14865, __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":14866
 *     """
 *     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, 14866, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cptr = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":14867
 *     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, 14867, __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, 14867, __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":14868
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 14868, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cudart.pyx":14869
 *     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, 14869, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14869, __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, 14869, __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, 14869, __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":14836
 * 
 * @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":14872
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolImportPointer(memPool, exportData : cudaMemPoolPtrExportData):             # <<<<<<<<<<<<<<
 *     """ Import a memory pool allocation from another process.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_311cudaMemPoolImportPointer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_310cudaMemPoolImportPointer[] = "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 cudaFreeAsync\n    is used, the free must be completed on the importing process before the\n    free operation on the exporting process.\n\n    Parameters\n    ----------\n    pool : CUmemoryPool or cudaMemPool_t\n        pool from which to import\n    shareData : cudaMemPoolPtrExportData\n        data specifying the memory to import\n\n    Returns\n    -------\n    cudaError_t\n        CUDA_SUCCESS\n        CUDA_ERROR_INVALID_VALUE\n        CUDA_ERROR_NOT_INITIALIZED\n        CUDA_ERROR_OUT_OF_MEMORY\n    ptr_out : int\n        pointer to imported memory\n\n    See Also\n    --------\n    cuMemPoolImportPointer\n    cudaMemPoolExportToShareableHandle\n    cudaMemPoolImportFromShareableHandle\n    cudaMemPoolExportPointer\n\n    Notes\n    -----\n    The cudaFreeAsync api may be used in the exporting process before the cudaFreeAsync operation completes in its stream as long as the cudaFreeAsync in the exporting process specifies a stream with a stream dependency on the importing process's cudaFreeAsync.\n\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_311cudaMemPoolImportPointer = {"cudaMemPoolImportPointer", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_311cudaMemPoolImportPointer, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_310cudaMemPoolImportPointer};
static PyObject *__pyx_pw_4cuda_6cudart_311cudaMemPoolImportPointer(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, 14872, __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, 14872, __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, 14872, __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, 14872, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_310cudaMemPoolImportPointer(__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_310cudaMemPoolImportPointer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_memPool, struct __pyx_obj_4cuda_6cudart_cudaMemPoolPtrExportData *__pyx_v_exportData) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v_ptr;
  struct __pyx_t_4cuda_7ccudart_cudaMemPoolPtrExportData *__pyx_v_cexportData_ptr;
  __pyx_t_4cuda_7ccudart_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;
  struct __pyx_t_4cuda_7ccudart_cudaMemPoolPtrExportData *__pyx_t_6;
  __pyx_t_4cuda_7ccudart_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("cudaMemPoolImportPointer", 0);
  __Pyx_TraceCall("cudaMemPoolImportPointer", __pyx_f[0], 14872, 0, __PYX_ERR(0, 14872, __pyx_L1_error));

  /* "cuda/cudart.pyx":14912
 * 
 *     """
 *     if not isinstance(memPool, (cudaMemPool_t, cuda.CUmemoryPool)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'memPool' is not instance of type (expected <class 'cudart.cudaMemPool_t, cuda.CUmemoryPool'>, found " + str(type(memPool)))
 *     cdef void_ptr ptr = 0
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_memPool, __pyx_ptype_4cuda_6cudart_cudaMemPool_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_memPool, __pyx_ptype_4cuda_4cuda_CUmemoryPool); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":14913
 *     """
 *     if not isinstance(memPool, (cudaMemPool_t, cuda.CUmemoryPool)):
 *         raise TypeError("Argument 'memPool' is not instance of type (expected <class 'cudart.cudaMemPool_t, cuda.CUmemoryPool'>, found " + str(type(memPool)))             # <<<<<<<<<<<<<<
 *     cdef void_ptr ptr = 0
 *     cdef ccudart.cudaMemPoolPtrExportData* cexportData_ptr = exportData._ptr if exportData != None else NULL
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_memPool))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14913, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_memPool_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14913, __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, 14913, __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, 14913, __pyx_L1_error)

    /* "cuda/cudart.pyx":14912
 * 
 *     """
 *     if not isinstance(memPool, (cudaMemPool_t, cuda.CUmemoryPool)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'memPool' is not instance of type (expected <class 'cudart.cudaMemPool_t, cuda.CUmemoryPool'>, found " + str(type(memPool)))
 *     cdef void_ptr ptr = 0
 */
  }

  /* "cuda/cudart.pyx":14914
 *     if not isinstance(memPool, (cudaMemPool_t, cuda.CUmemoryPool)):
 *         raise TypeError("Argument 'memPool' is not instance of type (expected <class 'cudart.cudaMemPool_t, cuda.CUmemoryPool'>, found " + str(type(memPool)))
 *     cdef void_ptr ptr = 0             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaMemPoolPtrExportData* cexportData_ptr = exportData._ptr if exportData != None else NULL
 *     err = ccudart.cudaMemPoolImportPointer(<void**>&ptr, <ccudart.cudaMemPool_t>(<cudaMemPool_t>memPool)._ptr[0], cexportData_ptr)
 */
  __pyx_v_ptr = 0;

  /* "cuda/cudart.pyx":14915
 *         raise TypeError("Argument 'memPool' is not instance of type (expected <class 'cudart.cudaMemPool_t, cuda.CUmemoryPool'>, found " + str(type(memPool)))
 *     cdef void_ptr ptr = 0
 *     cdef ccudart.cudaMemPoolPtrExportData* cexportData_ptr = exportData._ptr if exportData != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaMemPoolImportPointer(<void**>&ptr, <ccudart.cudaMemPool_t>(<cudaMemPool_t>memPool)._ptr[0], cexportData_ptr)
 *     return (cudaError_t(err), ptr)
 */
  __pyx_t_4 = PyObject_RichCompare(((PyObject *)__pyx_v_exportData), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14915, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 14915, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_2) {
    __pyx_t_6 = __pyx_v_exportData->_ptr;
  } else {
    __pyx_t_6 = NULL;
  }
  __pyx_v_cexportData_ptr = __pyx_t_6;

  /* "cuda/cudart.pyx":14916
 *     cdef void_ptr ptr = 0
 *     cdef ccudart.cudaMemPoolPtrExportData* cexportData_ptr = exportData._ptr if exportData != None else NULL
 *     err = ccudart.cudaMemPoolImportPointer(<void**>&ptr, <ccudart.cudaMemPool_t>(<cudaMemPool_t>memPool)._ptr[0], cexportData_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), ptr)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaMemPoolImportPointer(((void **)(&__pyx_v_ptr)), ((__pyx_t_4cuda_7ccudart_cudaMemPool_t)(((struct __pyx_obj_4cuda_6cudart_cudaMemPool_t *)__pyx_v_memPool)->__pyx_base._ptr[0])), __pyx_v_cexportData_ptr); if (unlikely(__pyx_t_7 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 14916, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":14917
 *     cdef ccudart.cudaMemPoolPtrExportData* cexportData_ptr = exportData._ptr if exportData != None else NULL
 *     err = ccudart.cudaMemPoolImportPointer(<void**>&ptr, <ccudart.cudaMemPool_t>(<cudaMemPool_t>memPool)._ptr[0], cexportData_ptr)
 *     return (cudaError_t(err), ptr)             # <<<<<<<<<<<<<<
 * 
 * @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, 14917, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_8 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14917, __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_4 = (__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_4)) __PYX_ERR(0, 14917, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(__pyx_v_ptr); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14917, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 14917, __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_5);
  PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_5);
  __pyx_t_4 = 0;
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":14872
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaMemPoolImportPointer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":14920
 * 
 * @cython.embedsignature(True)
 * def cudaPointerGetAttributes(ptr):             # <<<<<<<<<<<<<<
 *     """ Returns attributes about a specified pointer.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_313cudaPointerGetAttributes(PyObject *__pyx_self, PyObject *__pyx_v_ptr); /*proto*/
static char __pyx_doc_4cuda_6cudart_312cudaPointerGetAttributes[] = "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 cudaErrorInvalidValue is returned.\n\n    cudaPointerAttributes::type identifies type of memory. It can be\n    cudaMemoryTypeUnregistered for unregistered host memory,\n    cudaMemoryTypeHost for registered host memory, cudaMemoryTypeDevice for\n    device memory or cudaMemoryTypeManaged for managed memory. device is\n    the device against which `ptr` was allocated. If `ptr` has memory type\n    cudaMemoryTypeDevice then this identifies the device on which the\n    memory referred to by `ptr` physically resides. If `ptr` has memory\n    type cudaMemoryTypeHost then this identifies the device which was\n    current when the allocation was made (and if that device is\n    deinitialized then this allocation will vanish with that device's\n    state). devicePointer is the device pointer alias through which the\n    memory referred to by `ptr` may be accessed on the current device. If\n    the memory referred to by `ptr` cannot be accessed directly by the\n    current device then this is NULL.   hostPointer is the host pointer\n    alias through which the memory referred to by `ptr` may be accessed on\n    the host. If the memory referred to by `ptr` cannot be accessed\n    directly by the host then this is NULL.\n\n    Parameters\n    ----------\n    ptr : Any\n        Pointer to get attributes for\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidDevice\n        cudaErrorInvalidValue\n    attributes : cudaPointerAttributes\n        Attributes for the specified pointer\n\n    See Also\n    --------\n    cudaGetDeviceCount\n    cudaGetDevice\n    cudaSetDevice\n    cudaChooseDevice\n    cuPointerGetAttributes\n\n    Notes\n    -----\n    In CUDA 11.0 forward passing host point""er will return cudaMemoryTypeUnregistered in cudaPointerAttributestype and call will return cudaSuccess.\n\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_313cudaPointerGetAttributes = {"cudaPointerGetAttributes", (PyCFunction)__pyx_pw_4cuda_6cudart_313cudaPointerGetAttributes, METH_O, __pyx_doc_4cuda_6cudart_312cudaPointerGetAttributes};
static PyObject *__pyx_pw_4cuda_6cudart_313cudaPointerGetAttributes(PyObject *__pyx_self, PyObject *__pyx_v_ptr) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaPointerGetAttributes (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_312cudaPointerGetAttributes(__pyx_self, ((PyObject *)__pyx_v_ptr));

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

static PyObject *__pyx_pf_4cuda_6cudart_312cudaPointerGetAttributes(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;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__495)
  __Pyx_RefNannySetupContext("cudaPointerGetAttributes", 0);
  __Pyx_TraceCall("cudaPointerGetAttributes", __pyx_f[0], 14920, 0, __PYX_ERR(0, 14920, __pyx_L1_error));

  /* "cuda/cudart.pyx":14972
 * 
 *     """
 *     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, 14972, __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":14973
 *     """
 *     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, 14973, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cptr = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":14974
 *     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, 14974, __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, 14974, __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":14975
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 14975, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cudart.pyx":14976
 *     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, 14976, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 14976, __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, 14976, __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, 14976, __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":14920
 * 
 * @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":14979
 * 
 * @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_315cudaDeviceCanAccessPeer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_314cudaDeviceCanAccessPeer[] = "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 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        cudaSuccess\n        cudaErrorInvalidDevice\n    canAccessPeer : int\n        Returned access capability\n\n    See Also\n    --------\n    cudaDeviceEnablePeerAccess\n    cudaDeviceDisablePeerAccess\n    cuDeviceCanAccessPeer\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_315cudaDeviceCanAccessPeer = {"cudaDeviceCanAccessPeer", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_315cudaDeviceCanAccessPeer, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_314cudaDeviceCanAccessPeer};
static PyObject *__pyx_pw_4cuda_6cudart_315cudaDeviceCanAccessPeer(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, 14979, __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, 14979, __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, 14979, __pyx_L3_error)
    __pyx_v_peerDevice = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_peerDevice == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 14979, __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, 14979, __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_314cudaDeviceCanAccessPeer(__pyx_self, __pyx_v_device, __pyx_v_peerDevice);

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

static PyObject *__pyx_pf_4cuda_6cudart_314cudaDeviceCanAccessPeer(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_device, int __pyx_v_peerDevice) {
  int __pyx_v_canAccessPeer;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __pyx_t_4cuda_7ccudart_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__496)
  __Pyx_RefNannySetupContext("cudaDeviceCanAccessPeer", 0);
  __Pyx_TraceCall("cudaDeviceCanAccessPeer", __pyx_f[0], 14979, 0, __PYX_ERR(0, 14979, __pyx_L1_error));

  /* "cuda/cudart.pyx":15010
 *     cuDeviceCanAccessPeer
 *     """
 *     cdef int canAccessPeer = 0             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaDeviceCanAccessPeer(&canAccessPeer, device, peerDevice)
 *     return (cudaError_t(err), canAccessPeer)
 */
  __pyx_v_canAccessPeer = 0;

  /* "cuda/cudart.pyx":15011
 *     """
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 15011, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":15012
 *     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, 15012, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15012, __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, 15012, __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, 15012, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15012, __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":14979
 * 
 * @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":15015
 * 
 * @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_317cudaDeviceEnablePeerAccess(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_316cudaDeviceEnablePeerAccess[] = "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 cudaDeviceDisablePeerAccess() or\n    either device is reset using 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 cudaDeviceEnablePeerAccess() is 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 cudaErrorInvalidDevice if cudaDeviceCanAccessPeer() indicates\n    that the current device cannot directly access memory from\n    `peerDevice`.\n\n    Returns cudaErrorPeerAccessAlreadyEnabled if direct access of\n    `peerDevice` from the current device has already been enabled.\n\n    Returns 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        cudaSuccess\n        cudaErrorInvalidDevice\n        cudaErrorPeerAccessAlreadyEnabled\n        cudaErrorInvalidValue\n    None\n        None\n\n    See Also\n    --------\n    cudaDeviceCanAccessPeer\n    cudaDeviceDisablePeerAccess\n    cuCtxEnablePeerAccess\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_317cudaDeviceEnablePeerAccess = {"cudaDeviceEnablePeerAccess", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_317cudaDeviceEnablePeerAccess, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_316cudaDeviceEnablePeerAccess};
static PyObject *__pyx_pw_4cuda_6cudart_317cudaDeviceEnablePeerAccess(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, 15015, __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, 15015, __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, 15015, __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, 15015, __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, 15015, __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_316cudaDeviceEnablePeerAccess(__pyx_self, __pyx_v_peerDevice, __pyx_v_flags);

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

static PyObject *__pyx_pf_4cuda_6cudart_316cudaDeviceEnablePeerAccess(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_peerDevice, unsigned int __pyx_v_flags) {
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __pyx_t_4cuda_7ccudart_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__497)
  __Pyx_RefNannySetupContext("cudaDeviceEnablePeerAccess", 0);
  __Pyx_TraceCall("cudaDeviceEnablePeerAccess", __pyx_f[0], 15015, 0, __PYX_ERR(0, 15015, __pyx_L1_error));

  /* "cuda/cudart.pyx":15063
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 15063, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":15064
 *     """
 *     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, 15064, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15064, __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, 15064, __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, 15064, __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":15015
 * 
 * @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":15067
 * 
 * @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_319cudaDeviceDisablePeerAccess(PyObject *__pyx_self, PyObject *__pyx_arg_peerDevice); /*proto*/
static char __pyx_doc_4cuda_6cudart_318cudaDeviceDisablePeerAccess[] = "cudaDeviceDisablePeerAccess(int peerDevice)\n Disables direct access to memory allocations on a peer device.\n\n    Returns cudaErrorPeerAccessNotEnabled if direct access to memory on\n    `peerDevice` has not yet been enabled from the current device.\n\n    Parameters\n    ----------\n    peerDevice : int\n        Peer device to disable direct access to\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorPeerAccessNotEnabled\n        cudaErrorInvalidDevice\n    None\n        None\n\n    See Also\n    --------\n    cudaDeviceCanAccessPeer\n    cudaDeviceEnablePeerAccess\n    cuCtxDisablePeerAccess\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_319cudaDeviceDisablePeerAccess = {"cudaDeviceDisablePeerAccess", (PyCFunction)__pyx_pw_4cuda_6cudart_319cudaDeviceDisablePeerAccess, METH_O, __pyx_doc_4cuda_6cudart_318cudaDeviceDisablePeerAccess};
static PyObject *__pyx_pw_4cuda_6cudart_319cudaDeviceDisablePeerAccess(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, 15067, __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_318cudaDeviceDisablePeerAccess(__pyx_self, ((int)__pyx_v_peerDevice));

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

static PyObject *__pyx_pf_4cuda_6cudart_318cudaDeviceDisablePeerAccess(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_peerDevice) {
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __pyx_t_4cuda_7ccudart_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__498)
  __Pyx_RefNannySetupContext("cudaDeviceDisablePeerAccess", 0);
  __Pyx_TraceCall("cudaDeviceDisablePeerAccess", __pyx_f[0], 15067, 0, __PYX_ERR(0, 15067, __pyx_L1_error));

  /* "cuda/cudart.pyx":15093
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 15093, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":15094
 *     """
 *     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, 15094, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15094, __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, 15094, __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, 15094, __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":15067
 * 
 * @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":15097
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsUnregisterResource(resource not None : cudaGraphicsResource_t):             # <<<<<<<<<<<<<<
 *     """ Unregisters a graphics resource for access by CUDA.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_321cudaGraphicsUnregisterResource(PyObject *__pyx_self, PyObject *__pyx_v_resource); /*proto*/
static char __pyx_doc_4cuda_6cudart_320cudaGraphicsUnregisterResource[] = "cudaGraphicsUnregisterResource(cudaGraphicsResource_t resource: cudaGraphicsResource_t)\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 cudaErrorInvalidResourceHandle is\n    returned.\n\n    Parameters\n    ----------\n    resource : cudaGraphicsResource_t\n        Resource to unregister\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidResourceHandle\n        cudaErrorUnknown\n    None\n        None\n\n    See Also\n    --------\n    cuGraphicsUnregisterResource\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_321cudaGraphicsUnregisterResource = {"cudaGraphicsUnregisterResource", (PyCFunction)__pyx_pw_4cuda_6cudart_321cudaGraphicsUnregisterResource, METH_O, __pyx_doc_4cuda_6cudart_320cudaGraphicsUnregisterResource};
static PyObject *__pyx_pw_4cuda_6cudart_321cudaGraphicsUnregisterResource(PyObject *__pyx_self, PyObject *__pyx_v_resource) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphicsUnregisterResource (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_resource), __pyx_ptype_4cuda_6cudart_cudaGraphicsResource_t, 0, "resource", 0))) __PYX_ERR(0, 15097, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_320cudaGraphicsUnregisterResource(__pyx_self, ((struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *)__pyx_v_resource));

  /* 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_320cudaGraphicsUnregisterResource(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *__pyx_v_resource) {
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __pyx_t_4cuda_7ccudart_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__499)
  __Pyx_RefNannySetupContext("cudaGraphicsUnregisterResource", 0);
  __Pyx_TraceCall("cudaGraphicsUnregisterResource", __pyx_f[0], 15097, 0, __PYX_ERR(0, 15097, __pyx_L1_error));

  /* "cuda/cudart.pyx":15124
 *     cuGraphicsUnregisterResource
 *     """
 *     err = ccudart.cudaGraphicsUnregisterResource(resource._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_7ccudart_cudaGraphicsUnregisterResource((__pyx_v_resource->_ptr[0])); if (unlikely(__pyx_t_1 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 15124, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":15125
 *     """
 *     err = ccudart.cudaGraphicsUnregisterResource(resource._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, 15125, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15125, __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, 15125, __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, 15125, __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":15097
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsUnregisterResource(resource not None : cudaGraphicsResource_t):             # <<<<<<<<<<<<<<
 *     """ Unregisters a graphics resource for access by CUDA.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphicsUnregisterResource", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":15128
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsResourceSetMapFlags(resource not None : cudaGraphicsResource_t, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Set usage flags for mapping a graphics resource.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_323cudaGraphicsResourceSetMapFlags(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_322cudaGraphicsResourceSetMapFlags[] = "cudaGraphicsResourceSetMapFlags(cudaGraphicsResource_t resource: cudaGraphicsResource_t, 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    ::cudaGraphicsMapFlagsNone: Specifies no hints about how `resource`\n    will be used. It is therefore assumed that CUDA may read from or write\n    to `resource`. ::cudaGraphicsMapFlagsReadOnly: Specifies that CUDA will\n    not write to `resource`. ::cudaGraphicsMapFlagsWriteDiscard: Specifies\n    CUDA will not read from `resource` and will write over the entire\n    contents of `resource`, so none of the data previously stored in\n    `resource` will be preserved.\n\n    If `resource` is presently mapped for access by CUDA then\n    cudaErrorUnknown is returned. If `flags` is not one of the above values\n    then cudaErrorInvalidValue is returned.\n\n    Parameters\n    ----------\n    resource : 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        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorInvalidResourceHandle\n        cudaErrorUnknown\n    None\n        None\n\n    See Also\n    --------\n    cudaGraphicsMapResources\n    cuGraphicsResourceSetMapFlags\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_323cudaGraphicsResourceSetMapFlags = {"cudaGraphicsResourceSetMapFlags", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_323cudaGraphicsResourceSetMapFlags, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_322cudaGraphicsResourceSetMapFlags};
static PyObject *__pyx_pw_4cuda_6cudart_323cudaGraphicsResourceSetMapFlags(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *__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, 15128, __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, 15128, __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 = ((struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_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, 15128, __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, 15128, __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:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_resource), __pyx_ptype_4cuda_6cudart_cudaGraphicsResource_t, 0, "resource", 0))) __PYX_ERR(0, 15128, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_322cudaGraphicsResourceSetMapFlags(__pyx_self, __pyx_v_resource, __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_322cudaGraphicsResourceSetMapFlags(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *__pyx_v_resource, unsigned int __pyx_v_flags) {
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __pyx_t_4cuda_7ccudart_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__500)
  __Pyx_RefNannySetupContext("cudaGraphicsResourceSetMapFlags", 0);
  __Pyx_TraceCall("cudaGraphicsResourceSetMapFlags", __pyx_f[0], 15128, 0, __PYX_ERR(0, 15128, __pyx_L1_error));

  /* "cuda/cudart.pyx":15169
 *     cuGraphicsResourceSetMapFlags
 *     """
 *     err = ccudart.cudaGraphicsResourceSetMapFlags(resource._ptr[0], flags)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_7ccudart_cudaGraphicsResourceSetMapFlags((__pyx_v_resource->_ptr[0]), __pyx_v_flags); if (unlikely(__pyx_t_1 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 15169, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":15170
 *     """
 *     err = ccudart.cudaGraphicsResourceSetMapFlags(resource._ptr[0], 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, 15170, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15170, __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, 15170, __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, 15170, __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":15128
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsResourceSetMapFlags(resource not None : cudaGraphicsResource_t, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Set usage flags for mapping a graphics resource.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphicsResourceSetMapFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":15173
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsMapResources(int count, resources : cudaGraphicsResource_t, stream):             # <<<<<<<<<<<<<<
 *     """ Map graphics resources for access by CUDA.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_325cudaGraphicsMapResources(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_324cudaGraphicsMapResources[] = "cudaGraphicsMapResources(int count, cudaGraphicsResource_t resources: cudaGraphicsResource_t, 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 cudaGraphicsMapResources() will complete before any\n    subsequent CUDA work issued in `stream` begins.\n\n    If `resources` contains any duplicate entries then\n    cudaErrorInvalidResourceHandle is returned. If any of `resources` are\n    presently mapped for access by CUDA then cudaErrorUnknown is returned.\n\n    Parameters\n    ----------\n    count : int\n        Number of resources to map\n    resources : cudaGraphicsResource_t\n        Resources to map for CUDA\n    stream : CUstream or cudaStream_t\n        Stream for synchronization\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidResourceHandle\n        cudaErrorUnknown\n    None\n        None\n\n    See Also\n    --------\n    cudaGraphicsResourceGetMappedPointer\n    cudaGraphicsSubResourceGetMappedArray\n    cudaGraphicsUnmapResources\n    cuGraphicsMapResources\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_325cudaGraphicsMapResources = {"cudaGraphicsMapResources", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_325cudaGraphicsMapResources, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_324cudaGraphicsMapResources};
static PyObject *__pyx_pw_4cuda_6cudart_325cudaGraphicsMapResources(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_v_count;
  struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *__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, 15173, __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, 15173, __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, 15173, __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, 15173, __pyx_L3_error)
    __pyx_v_resources = ((struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *)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, 15173, __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:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_resources), __pyx_ptype_4cuda_6cudart_cudaGraphicsResource_t, 1, "resources", 0))) __PYX_ERR(0, 15173, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_324cudaGraphicsMapResources(__pyx_self, __pyx_v_count, __pyx_v_resources, __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_324cudaGraphicsMapResources(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_count, struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *__pyx_v_resources, PyObject *__pyx_v_stream) {
  __pyx_t_4cuda_7ccudart_cudaGraphicsResource_t *__pyx_v_cresources_ptr;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_cudaGraphicsResource_t *__pyx_t_6;
  __pyx_t_4cuda_7ccudart_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__501)
  __Pyx_RefNannySetupContext("cudaGraphicsMapResources", 0);
  __Pyx_TraceCall("cudaGraphicsMapResources", __pyx_f[0], 15173, 0, __PYX_ERR(0, 15173, __pyx_L1_error));

  /* "cuda/cudart.pyx":15216
 *     cuGraphicsMapResources
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdef ccudart.cudaGraphicsResource_t* cresources_ptr = resources._ptr if resources != None else NULL
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":15217
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaGraphicsResource_t* cresources_ptr = resources._ptr if resources != None else NULL
 *     err = ccudart.cudaGraphicsMapResources(count, cresources_ptr, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_stream))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15217, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_stream_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15217, __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, 15217, __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, 15217, __pyx_L1_error)

    /* "cuda/cudart.pyx":15216
 *     cuGraphicsMapResources
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdef ccudart.cudaGraphicsResource_t* cresources_ptr = resources._ptr if resources != None else NULL
 */
  }

  /* "cuda/cudart.pyx":15218
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdef ccudart.cudaGraphicsResource_t* cresources_ptr = resources._ptr if resources != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphicsMapResources(count, cresources_ptr, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     return (cudaError_t(err),)
 */
  __pyx_t_4 = PyObject_RichCompare(((PyObject *)__pyx_v_resources), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15218, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 15218, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_2) {
    __pyx_t_6 = __pyx_v_resources->_ptr;
  } else {
    __pyx_t_6 = NULL;
  }
  __pyx_v_cresources_ptr = __pyx_t_6;

  /* "cuda/cudart.pyx":15219
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdef ccudart.cudaGraphicsResource_t* cresources_ptr = resources._ptr if resources != None else NULL
 *     err = ccudart.cudaGraphicsMapResources(count, cresources_ptr, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaGraphicsMapResources(__pyx_v_count, __pyx_v_cresources_ptr, ((__pyx_t_4cuda_7ccudart_cudaStream_t)(((struct __pyx_obj_4cuda_6cudart_cudaStream_t *)__pyx_v_stream)->__pyx_base._ptr[0]))); if (unlikely(__pyx_t_7 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 15219, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":15220
 *     cdef ccudart.cudaGraphicsResource_t* cresources_ptr = resources._ptr if resources != None else NULL
 *     err = ccudart.cudaGraphicsMapResources(count, cresources_ptr, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     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, 15220, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_8 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15220, __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_4 = (__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_4)) __PYX_ERR(0, 15220, __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, 15220, __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":15173
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsMapResources(int count, resources : cudaGraphicsResource_t, stream):             # <<<<<<<<<<<<<<
 *     """ Map graphics resources for access by CUDA.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphicsMapResources", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":15223
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsUnmapResources(int count, resources : cudaGraphicsResource_t, stream):             # <<<<<<<<<<<<<<
 *     """ Unmap graphics resources.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_327cudaGraphicsUnmapResources(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_326cudaGraphicsUnmapResources[] = "cudaGraphicsUnmapResources(int count, cudaGraphicsResource_t resources: cudaGraphicsResource_t, 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 cudaGraphicsUnmapResources() will complete\n    before any subsequently issued graphics work begins.\n\n    If `resources` contains any duplicate entries then\n    cudaErrorInvalidResourceHandle is returned. If any of `resources` are\n    not presently mapped for access by CUDA then cudaErrorUnknown is\n    returned.\n\n    Parameters\n    ----------\n    count : int\n        Number of resources to unmap\n    resources : cudaGraphicsResource_t\n        Resources to unmap\n    stream : CUstream or cudaStream_t\n        Stream for synchronization\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidResourceHandle\n        cudaErrorUnknown\n    None\n        None\n\n    See Also\n    --------\n    cudaGraphicsMapResources\n    cuGraphicsUnmapResources\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_327cudaGraphicsUnmapResources = {"cudaGraphicsUnmapResources", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_327cudaGraphicsUnmapResources, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_326cudaGraphicsUnmapResources};
static PyObject *__pyx_pw_4cuda_6cudart_327cudaGraphicsUnmapResources(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_v_count;
  struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *__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, 15223, __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, 15223, __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, 15223, __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, 15223, __pyx_L3_error)
    __pyx_v_resources = ((struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *)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, 15223, __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:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_resources), __pyx_ptype_4cuda_6cudart_cudaGraphicsResource_t, 1, "resources", 0))) __PYX_ERR(0, 15223, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_326cudaGraphicsUnmapResources(__pyx_self, __pyx_v_count, __pyx_v_resources, __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_326cudaGraphicsUnmapResources(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_count, struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *__pyx_v_resources, PyObject *__pyx_v_stream) {
  __pyx_t_4cuda_7ccudart_cudaGraphicsResource_t *__pyx_v_cresources_ptr;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_cudaGraphicsResource_t *__pyx_t_6;
  __pyx_t_4cuda_7ccudart_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__502)
  __Pyx_RefNannySetupContext("cudaGraphicsUnmapResources", 0);
  __Pyx_TraceCall("cudaGraphicsUnmapResources", __pyx_f[0], 15223, 0, __PYX_ERR(0, 15223, __pyx_L1_error));

  /* "cuda/cudart.pyx":15263
 *     cuGraphicsUnmapResources
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdef ccudart.cudaGraphicsResource_t* cresources_ptr = resources._ptr if resources != None else NULL
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":15264
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaGraphicsResource_t* cresources_ptr = resources._ptr if resources != None else NULL
 *     err = ccudart.cudaGraphicsUnmapResources(count, cresources_ptr, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_stream))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15264, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_stream_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15264, __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, 15264, __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, 15264, __pyx_L1_error)

    /* "cuda/cudart.pyx":15263
 *     cuGraphicsUnmapResources
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdef ccudart.cudaGraphicsResource_t* cresources_ptr = resources._ptr if resources != None else NULL
 */
  }

  /* "cuda/cudart.pyx":15265
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdef ccudart.cudaGraphicsResource_t* cresources_ptr = resources._ptr if resources != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphicsUnmapResources(count, cresources_ptr, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     return (cudaError_t(err),)
 */
  __pyx_t_4 = PyObject_RichCompare(((PyObject *)__pyx_v_resources), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15265, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 15265, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_2) {
    __pyx_t_6 = __pyx_v_resources->_ptr;
  } else {
    __pyx_t_6 = NULL;
  }
  __pyx_v_cresources_ptr = __pyx_t_6;

  /* "cuda/cudart.pyx":15266
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     cdef ccudart.cudaGraphicsResource_t* cresources_ptr = resources._ptr if resources != None else NULL
 *     err = ccudart.cudaGraphicsUnmapResources(count, cresources_ptr, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaGraphicsUnmapResources(__pyx_v_count, __pyx_v_cresources_ptr, ((__pyx_t_4cuda_7ccudart_cudaStream_t)(((struct __pyx_obj_4cuda_6cudart_cudaStream_t *)__pyx_v_stream)->__pyx_base._ptr[0]))); if (unlikely(__pyx_t_7 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 15266, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":15267
 *     cdef ccudart.cudaGraphicsResource_t* cresources_ptr = resources._ptr if resources != None else NULL
 *     err = ccudart.cudaGraphicsUnmapResources(count, cresources_ptr, <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     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, 15267, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_8 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15267, __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_4 = (__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_4)) __PYX_ERR(0, 15267, __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, 15267, __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":15223
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsUnmapResources(int count, resources : cudaGraphicsResource_t, stream):             # <<<<<<<<<<<<<<
 *     """ Unmap graphics resources.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphicsUnmapResources", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":15270
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsResourceGetMappedPointer(resource not None : cudaGraphicsResource_t):             # <<<<<<<<<<<<<<
 *     """ Get an device pointer through which to access a mapped graphics resource.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_329cudaGraphicsResourceGetMappedPointer(PyObject *__pyx_self, PyObject *__pyx_v_resource); /*proto*/
static char __pyx_doc_4cuda_6cudart_328cudaGraphicsResourceGetMappedPointer[] = "cudaGraphicsResourceGetMappedPointer(cudaGraphicsResource_t resource: cudaGraphicsResource_t)\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 cudaErrorUnknown is returned. If `resource` is not mapped then\n    cudaErrorUnknown is returned.   devPtr   - Returned pointer through\n    which `resource` may be accessed      size   - Returned size of the\n    buffer accessible starting at `*devPtr`      resource   - Mapped\n    resource to access    ::cudaSuccess, cudaErrorInvalidValue,\n    cudaErrorInvalidResourceHandle, cudaErrorUnknown \notefnerr\n    \note_init_rt \note_callback  cudaGraphicsMapResources,\n    cudaGraphicsSubResourceGetMappedArray,\n    cuGraphicsResourceGetMappedPointer\n\n    Returns\n    -------\n    cudaError_t\n\n    None\n        None\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_329cudaGraphicsResourceGetMappedPointer = {"cudaGraphicsResourceGetMappedPointer", (PyCFunction)__pyx_pw_4cuda_6cudart_329cudaGraphicsResourceGetMappedPointer, METH_O, __pyx_doc_4cuda_6cudart_328cudaGraphicsResourceGetMappedPointer};
static PyObject *__pyx_pw_4cuda_6cudart_329cudaGraphicsResourceGetMappedPointer(PyObject *__pyx_self, PyObject *__pyx_v_resource) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphicsResourceGetMappedPointer (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_resource), __pyx_ptype_4cuda_6cudart_cudaGraphicsResource_t, 0, "resource", 0))) __PYX_ERR(0, 15270, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_328cudaGraphicsResourceGetMappedPointer(__pyx_self, ((struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *)__pyx_v_resource));

  /* 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_328cudaGraphicsResourceGetMappedPointer(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *__pyx_v_resource) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v_devPtr;
  size_t __pyx_v_size;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __pyx_t_4cuda_7ccudart_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__503)
  __Pyx_RefNannySetupContext("cudaGraphicsResourceGetMappedPointer", 0);
  __Pyx_TraceCall("cudaGraphicsResourceGetMappedPointer", __pyx_f[0], 15270, 0, __PYX_ERR(0, 15270, __pyx_L1_error));

  /* "cuda/cudart.pyx":15296
 *         None
 *     """
 *     cdef void_ptr devPtr = 0             # <<<<<<<<<<<<<<
 *     cdef size_t size = 0
 *     err = ccudart.cudaGraphicsResourceGetMappedPointer(<void**>&devPtr, &size, resource._ptr[0])
 */
  __pyx_v_devPtr = 0;

  /* "cuda/cudart.pyx":15297
 *     """
 *     cdef void_ptr devPtr = 0
 *     cdef size_t size = 0             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphicsResourceGetMappedPointer(<void**>&devPtr, &size, resource._ptr[0])
 *     return (cudaError_t(err), devPtr, size)
 */
  __pyx_v_size = 0;

  /* "cuda/cudart.pyx":15298
 *     cdef void_ptr devPtr = 0
 *     cdef size_t size = 0
 *     err = ccudart.cudaGraphicsResourceGetMappedPointer(<void**>&devPtr, &size, resource._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), devPtr, size)
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_7ccudart_cudaGraphicsResourceGetMappedPointer(((void **)(&__pyx_v_devPtr)), (&__pyx_v_size), (__pyx_v_resource->_ptr[0])); if (unlikely(__pyx_t_1 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 15298, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":15299
 *     cdef size_t size = 0
 *     err = ccudart.cudaGraphicsResourceGetMappedPointer(<void**>&devPtr, &size, resource._ptr[0])
 *     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, 15299, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15299, __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, 15299, __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, 15299, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_FromSize_t(__pyx_v_size); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15299, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15299, __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":15270
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsResourceGetMappedPointer(resource not None : cudaGraphicsResource_t):             # <<<<<<<<<<<<<<
 *     """ Get an device pointer through which to access a mapped graphics resource.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphicsResourceGetMappedPointer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":15302
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsSubResourceGetMappedArray(resource not None : cudaGraphicsResource_t, 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_331cudaGraphicsSubResourceGetMappedArray(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_330cudaGraphicsSubResourceGetMappedArray[] = "cudaGraphicsSubResourceGetMappedArray(cudaGraphicsResource_t resource: cudaGraphicsResource_t, 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 cudaErrorUnknown is returned. If `arrayIndex` is not a valid array\n    index for `resource` then cudaErrorInvalidValue is returned. If\n    `mipLevel` is not a valid mipmap level for `resource` then\n    cudaErrorInvalidValue is returned. If `resource` is not mapped then\n    cudaErrorUnknown is returned.\n\n    Parameters\n    ----------\n    resource : 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        cudaGraphicsCubeFace for cubemap textures for the subresource to\n        access\n    mipLevel : unsigned int\n        Mipmap level for the subresource to access\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorInvalidResourceHandle\n        cudaErrorUnknown\n    array : cudaArray_t\n        Returned array through which a subresource of `resource` may be\n        accessed\n\n    See Also\n    --------\n    cudaGraphicsResourceGetMappedPointer\n    cuGraphicsSubResourceGetMappedArray\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_331cudaGraphicsSubResourceGetMappedArray = {"cudaGraphicsSubResourceGetMappedArray", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_331cudaGraphicsSubResourceGetMappedArray, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_330cudaGraphicsSubResourceGetMappedArray};
static PyObject *__pyx_pw_4cuda_6cudart_331cudaGraphicsSubResourceGetMappedArray(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *__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, 15302, __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, 15302, __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, 15302, __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 = ((struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *)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, 15302, __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, 15302, __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, 15302, __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:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_resource), __pyx_ptype_4cuda_6cudart_cudaGraphicsResource_t, 0, "resource", 0))) __PYX_ERR(0, 15302, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_330cudaGraphicsSubResourceGetMappedArray(__pyx_self, __pyx_v_resource, __pyx_v_arrayIndex, __pyx_v_mipLevel);

  /* 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_330cudaGraphicsSubResourceGetMappedArray(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *__pyx_v_resource, unsigned int __pyx_v_arrayIndex, unsigned int __pyx_v_mipLevel) {
  struct __pyx_obj_4cuda_6cudart_cudaArray_t *__pyx_v_array = 0;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_7ccudart_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__504)
  __Pyx_RefNannySetupContext("cudaGraphicsSubResourceGetMappedArray", 0);
  __Pyx_TraceCall("cudaGraphicsSubResourceGetMappedArray", __pyx_f[0], 15302, 0, __PYX_ERR(0, 15302, __pyx_L1_error));

  /* "cuda/cudart.pyx":15344
 *     cuGraphicsSubResourceGetMappedArray
 *     """
 *     cdef cudaArray_t array = cudaArray_t()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphicsSubResourceGetMappedArray(array._ptr, resource._ptr[0], arrayIndex, mipLevel)
 *     return (cudaError_t(err), array)
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaArray_t)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15344, __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":15345
 *     """
 *     cdef cudaArray_t array = cudaArray_t()
 *     err = ccudart.cudaGraphicsSubResourceGetMappedArray(array._ptr, resource._ptr[0], arrayIndex, mipLevel)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), array)
 * 
 */
  __pyx_t_2 = __pyx_f_4cuda_7ccudart_cudaGraphicsSubResourceGetMappedArray(__pyx_v_array->_ptr, (__pyx_v_resource->_ptr[0]), __pyx_v_arrayIndex, __pyx_v_mipLevel); if (unlikely(__pyx_t_2 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 15345, __pyx_L1_error)
  __pyx_v_err = __pyx_t_2;

  /* "cuda/cudart.pyx":15346
 *     cdef cudaArray_t array = cudaArray_t()
 *     err = ccudart.cudaGraphicsSubResourceGetMappedArray(array._ptr, resource._ptr[0], 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, 15346, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15346, __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, 15346, __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, 15346, __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_array));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_array));
  PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_array));
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":15302
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsSubResourceGetMappedArray(resource not None : cudaGraphicsResource_t, 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_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphicsSubResourceGetMappedArray", __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":15349
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsResourceGetMappedMipmappedArray(resource not None : cudaGraphicsResource_t):             # <<<<<<<<<<<<<<
 *     """ Get a mipmapped array through which to access a mapped graphics resource.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_333cudaGraphicsResourceGetMappedMipmappedArray(PyObject *__pyx_self, PyObject *__pyx_v_resource); /*proto*/
static char __pyx_doc_4cuda_6cudart_332cudaGraphicsResourceGetMappedMipmappedArray[] = "cudaGraphicsResourceGetMappedMipmappedArray(cudaGraphicsResource_t resource: cudaGraphicsResource_t)\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 cudaErrorUnknown is returned. If `resource` is not mapped then\n    cudaErrorUnknown is returned.\n\n    Parameters\n    ----------\n    resource : cudaGraphicsResource_t\n        Mapped resource to access\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorInvalidResourceHandle\n        cudaErrorUnknown\n    mipmappedArray : cudaMipmappedArray_t\n        Returned mipmapped array through which `resource` may be accessed\n\n    See Also\n    --------\n    cudaGraphicsResourceGetMappedPointer\n    cuGraphicsResourceGetMappedMipmappedArray\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_333cudaGraphicsResourceGetMappedMipmappedArray = {"cudaGraphicsResourceGetMappedMipmappedArray", (PyCFunction)__pyx_pw_4cuda_6cudart_333cudaGraphicsResourceGetMappedMipmappedArray, METH_O, __pyx_doc_4cuda_6cudart_332cudaGraphicsResourceGetMappedMipmappedArray};
static PyObject *__pyx_pw_4cuda_6cudart_333cudaGraphicsResourceGetMappedMipmappedArray(PyObject *__pyx_self, PyObject *__pyx_v_resource) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphicsResourceGetMappedMipmappedArray (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_resource), __pyx_ptype_4cuda_6cudart_cudaGraphicsResource_t, 0, "resource", 0))) __PYX_ERR(0, 15349, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_332cudaGraphicsResourceGetMappedMipmappedArray(__pyx_self, ((struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *)__pyx_v_resource));

  /* 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_332cudaGraphicsResourceGetMappedMipmappedArray(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaGraphicsResource_t *__pyx_v_resource) {
  struct __pyx_obj_4cuda_6cudart_cudaMipmappedArray_t *__pyx_v_mipmappedArray = 0;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_7ccudart_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__505)
  __Pyx_RefNannySetupContext("cudaGraphicsResourceGetMappedMipmappedArray", 0);
  __Pyx_TraceCall("cudaGraphicsResourceGetMappedMipmappedArray", __pyx_f[0], 15349, 0, __PYX_ERR(0, 15349, __pyx_L1_error));

  /* "cuda/cudart.pyx":15380
 *     cuGraphicsResourceGetMappedMipmappedArray
 *     """
 *     cdef cudaMipmappedArray_t mipmappedArray = cudaMipmappedArray_t()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphicsResourceGetMappedMipmappedArray(mipmappedArray._ptr, resource._ptr[0])
 *     return (cudaError_t(err), mipmappedArray)
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMipmappedArray_t)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15380, __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":15381
 *     """
 *     cdef cudaMipmappedArray_t mipmappedArray = cudaMipmappedArray_t()
 *     err = ccudart.cudaGraphicsResourceGetMappedMipmappedArray(mipmappedArray._ptr, resource._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), mipmappedArray)
 * 
 */
  __pyx_t_2 = __pyx_f_4cuda_7ccudart_cudaGraphicsResourceGetMappedMipmappedArray(__pyx_v_mipmappedArray->_ptr, (__pyx_v_resource->_ptr[0])); if (unlikely(__pyx_t_2 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 15381, __pyx_L1_error)
  __pyx_v_err = __pyx_t_2;

  /* "cuda/cudart.pyx":15382
 *     cdef cudaMipmappedArray_t mipmappedArray = cudaMipmappedArray_t()
 *     err = ccudart.cudaGraphicsResourceGetMappedMipmappedArray(mipmappedArray._ptr, resource._ptr[0])
 *     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, 15382, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15382, __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, 15382, __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, 15382, __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_mipmappedArray));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_mipmappedArray));
  PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_mipmappedArray));
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":15349
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsResourceGetMappedMipmappedArray(resource not None : cudaGraphicsResource_t):             # <<<<<<<<<<<<<<
 *     """ Get a mipmapped array through which to access a mapped graphics resource.
 * 
 */

  /* 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.cudaGraphicsResourceGetMappedMipmappedArray", __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":15385
 * 
 * @cython.embedsignature(True)
 * def cudaGetChannelDesc(array not None : cudaArray_const_t):             # <<<<<<<<<<<<<<
 *     """ Get the channel descriptor of an array.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_335cudaGetChannelDesc(PyObject *__pyx_self, PyObject *__pyx_v_array); /*proto*/
static char __pyx_doc_4cuda_6cudart_334cudaGetChannelDesc[] = "cudaGetChannelDesc(cudaArray_const_t array: cudaArray_const_t)\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 : cudaArray_const_t\n        Memory array on device\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    desc : cudaChannelFormatDesc\n        Channel format\n\n    See Also\n    --------\n    cudaCreateChannelDesc\n    cudaCreateTextureObject\n    cudaCreateSurfaceObject\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_335cudaGetChannelDesc = {"cudaGetChannelDesc", (PyCFunction)__pyx_pw_4cuda_6cudart_335cudaGetChannelDesc, METH_O, __pyx_doc_4cuda_6cudart_334cudaGetChannelDesc};
static PyObject *__pyx_pw_4cuda_6cudart_335cudaGetChannelDesc(PyObject *__pyx_self, PyObject *__pyx_v_array) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGetChannelDesc (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_array), __pyx_ptype_4cuda_6cudart_cudaArray_const_t, 0, "array", 0))) __PYX_ERR(0, 15385, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_334cudaGetChannelDesc(__pyx_self, ((struct __pyx_obj_4cuda_6cudart_cudaArray_const_t *)__pyx_v_array));

  /* 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_334cudaGetChannelDesc(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaArray_const_t *__pyx_v_array) {
  struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *__pyx_v_desc = 0;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_7ccudart_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__506)
  __Pyx_RefNannySetupContext("cudaGetChannelDesc", 0);
  __Pyx_TraceCall("cudaGetChannelDesc", __pyx_f[0], 15385, 0, __PYX_ERR(0, 15385, __pyx_L1_error));

  /* "cuda/cudart.pyx":15409
 *     cudaCreateSurfaceObject
 *     """
 *     cdef cudaChannelFormatDesc desc = cudaChannelFormatDesc()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = ccudart.cudaGetChannelDesc(desc._ptr, array._ptr[0])
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaChannelFormatDesc)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15409, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_desc = ((struct __pyx_obj_4cuda_6cudart_cudaChannelFormatDesc *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":15410
 *     """
 *     cdef cudaChannelFormatDesc desc = cudaChannelFormatDesc()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaGetChannelDesc(desc._ptr, array._ptr[0])
 *     return (cudaError_t(err), desc)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":15411
 *     cdef cudaChannelFormatDesc desc = cudaChannelFormatDesc()
 *     with nogil:
 *         err = ccudart.cudaGetChannelDesc(desc._ptr, array._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), desc)
 * 
 */
        __pyx_t_2 = __pyx_f_4cuda_7ccudart_cudaGetChannelDesc(__pyx_v_desc->_ptr, (__pyx_v_array->_ptr[0])); if (unlikely(__pyx_t_2 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 15411, __pyx_L4_error)
        __pyx_v_err = __pyx_t_2;
      }

      /* "cuda/cudart.pyx":15410
 *     """
 *     cdef cudaChannelFormatDesc desc = cudaChannelFormatDesc()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaGetChannelDesc(desc._ptr, array._ptr[0])
 *     return (cudaError_t(err), desc)
 */
      /*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":15412
 *     with nogil:
 *         err = ccudart.cudaGetChannelDesc(desc._ptr, array._ptr[0])
 *     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, 15412, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15412, __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, 15412, __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, 15412, __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_desc));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_desc));
  PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_desc));
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":15385
 * 
 * @cython.embedsignature(True)
 * def cudaGetChannelDesc(array not None : cudaArray_const_t):             # <<<<<<<<<<<<<<
 *     """ Get the channel descriptor of an array.
 * 
 */

  /* 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.cudaGetChannelDesc", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_desc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":15415
 * 
 * @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_337cudaCreateChannelDesc(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_336cudaCreateChannelDesc[] = "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 cudaChannelFormatDesc is defined\n    as: structcudaChannelFormatDesc{ intx,y,z,w;\n    enumcudaChannelFormatKindf; };\n\n    where cudaChannelFormatKind is one of cudaChannelFormatKindSigned,\n    cudaChannelFormatKindUnsigned, or 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 : cudaChannelFormatKind\n        Channel format\n\n    Returns\n    -------\n    cudaError_t\n        Channel descriptor with format `f`\n    None\n        None\n\n    See Also\n    --------\n    cudaGetChannelDesc\n    cudaCreateTextureObject\n    cudaCreateSurfaceObject\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_337cudaCreateChannelDesc = {"cudaCreateChannelDesc", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_337cudaCreateChannelDesc, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_336cudaCreateChannelDesc};
static PyObject *__pyx_pw_4cuda_6cudart_337cudaCreateChannelDesc(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, 15415, __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, 15415, __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, 15415, __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, 15415, __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, 15415, __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, 15415, __pyx_L3_error)
    __pyx_v_y = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_y == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 15415, __pyx_L3_error)
    __pyx_v_z = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_z == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 15415, __pyx_L3_error)
    __pyx_v_w = __Pyx_PyInt_As_int(values[3]); if (unlikely((__pyx_v_w == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 15415, __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, 15415, __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, 15415, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_336cudaCreateChannelDesc(__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_336cudaCreateChannelDesc(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 __pyx_t_4cuda_7ccudart_cudaChannelFormatKind __pyx_v_cf;
  struct __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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__507)
  __Pyx_RefNannySetupContext("cudaCreateChannelDesc", 0);
  __Pyx_TraceCall("cudaCreateChannelDesc", __pyx_f[0], 15415, 0, __PYX_ERR(0, 15415, __pyx_L1_error));

  /* "cuda/cudart.pyx":15452
 *     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, 15452, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaChannelFormatKind(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 15452, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cf = __pyx_t_2;

  /* "cuda/cudart.pyx":15454
 *     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":15455
 *     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, 15455, __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":15456
 *     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":15457
 *     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, 15457, __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, 15457, __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, 15457, __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":15415
 * 
 * @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":15460
 * 
 * @cython.embedsignature(True)
 * def cudaCreateTextureObject(pResDesc : cudaResourceDesc, pTexDesc : cudaTextureDesc, pResViewDesc : cudaResourceViewDesc):             # <<<<<<<<<<<<<<
 *     """ Creates a texture object.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_339cudaCreateTextureObject(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_338cudaCreateTextureObject[] = "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 cudaResourceDesc structure is defined as: structcudaResourceDesc{\n    enumcudaResourceTyperesType;  union{ struct{ cudaArray_tarray; }array;\n    struct{ cudaMipmappedArray_tmipmap; }mipmap; struct{ void*devPtr;\n    structcudaChannelFormatDescdesc; size_tsizeInBytes; }linear; struct{\n    void*devPtr; structcudaChannelFormatDescdesc; size_twidth;\n    size_theight; size_tpitchInBytes; }pitch2D; }res; }; where:\n    cudaResourceDesc::resType specifies the type of resource to texture\n    from. CUresourceType is defined as: enumcudaResourceType{\n    cudaResourceTypeArray=0x00, cudaResourceTypeMipmappedArray=0x01,\n    cudaResourceTypeLinear=0x02, cudaResourceTypePitch2D=0x03 };\n\n    If cudaResourceDesc::resType is set to cudaResourceTypeArray,\n    cudaResourceDesc::res::array::array must be set to a valid CUDA array\n    handle.\n\n    If cudaResourceDesc::resType is set to cudaResourceTypeMipmappedArray,\n    cudaResourceDesc::res::mipmap::mipmap must be set to a valid CUDA\n    mipmapped array handle and cudaTextureDesc::normalizedCoords must be\n    set to true.""\n\n    If cudaResourceDesc::resType is set to cudaResourceTypeLinear,\n    cudaResourceDesc::res::linear::devPtr must be set to a valid device\n    pointer, that is aligned to cudaDeviceProp::textureAlignment.\n    cudaResourceDesc::res::linear::desc describes the format and the number\n    of components per array element.\n    cudaResourceDesc::res::linear::sizeInBytes specifies the size of the\n    array in bytes. The total number of elements in the linear address\n    range cannot exceed cudaDeviceProp::maxTexture1DLinear. The number of\n    elements is computed as (sizeInBytes / sizeof(desc)).\n\n    If cudaResourceDesc::resType is set to cudaResourceTypePitch2D,\n    cudaResourceDesc::res::pitch2D::devPtr must be set to a valid device\n    pointer, that is aligned to cudaDeviceProp::textureAlignment.\n    cudaResourceDesc::res::pitch2D::desc describes the format and the\n    number of components per array element.\n    cudaResourceDesc::res::pitch2D::width and\n    cudaResourceDesc::res::pitch2D::height specify the width and height of\n    the array in elements, and cannot exceed\n    cudaDeviceProp::maxTexture2DLinear[0] and\n    cudaDeviceProp::maxTexture2DLinear[1] respectively.\n    cudaResourceDesc::res::pitch2D::pitchInBytes specifies the pitch\n    between two rows in bytes and has to be aligned to\n    cudaDeviceProp::texturePitchAlignment. Pitch cannot exceed\n    cudaDeviceProp::maxTexture2DLinear[2].\n\n    The cudaResourceViewDesc struct is defined as\n    structcudaResourceViewDesc{ enumcudaResourceViewFormatformat;\n    size_twidth; size_theight; size_tdepth; unsignedintfirstMipmapLevel;\n    unsignedintlastMipmapLevel; unsignedintfirstLayer;\n    unsignedintlastLayer; }; where: cudaResourceViewDesc::format specifies\n    how the data contained in the CUDA array or CUDA mipmapped array should\n    be interpreted. Note that this can incur a change in size of the\n    texture data. If the resource view format is a block compressed format,\n    then"" 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 BC\n    formats require the underlying resource to have the same 32-bit\n    unsigned int format but with 4 channels. cudaResourceViewDesc::width\n    specifies the new width of the texture data. If the resource view\n    format is a block compressed format, this value has to be 4 times the\n    original width of the resource. For non block compressed formats, this\n    value has to be equal to that of the original resource.\n    cudaResourceViewDesc::height specifies the new height of the texture\n    data. If the resource view format is a block compressed format, this\n    value has to be 4 times the original height of the resource. For non\n    block compressed formats, this value has to be equal to that of the\n    original resource. cudaResourceViewDesc::depth specifies the new depth\n    of the texture data. This value has to be equal to that of the original\n    resource. cudaResourceViewDesc::firstMipmapLevel specifies the most\n    detailed mipmap level. This will be the new mipmap level zero. For non-\n    mipmapped resources, this value has to be\n    zero.cudaTextureDesc::minMipmapLevelClamp and\n    cudaTextureDesc::maxMipmapLevelClamp will be relative to this value.\n    For ex., if the firstMipmapLevel is set to 2, and a minMipmapLevelClamp\n    of 1.2 is specified, then the actual minimum mipmap level clamp will be\n    3.2. cudaResourceViewDesc::lastMipmapLevel specifies the least detailed\n    mipmap level. For non-mipmapped resources, this value has to be zero.\n    cudaResourceViewDesc::firstLayer specifies the first layer index for\n    layered textures. This will be the new layer zero. For non-layered\n    resources, this value has to be zero. cudaResourceViewDes""c::lastLayer\n    specifies the last layer index for layered textures. For non-layered\n    resources, this value has to be zero.\n\n    Parameters\n    ----------\n    pResDesc : cudaResourceDesc\n        Resource descriptor\n    pTexDesc : cudaTextureDesc\n        Texture descriptor\n    pResViewDesc : cudaResourceViewDesc\n        Resource view descriptor\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    pTexObject : cudaTextureObject_t\n        Texture object to create\n\n    See Also\n    --------\n    cudaDestroyTextureObject\n    cuTexObjectCreate\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_339cudaCreateTextureObject = {"cudaCreateTextureObject", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_339cudaCreateTextureObject, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_338cudaCreateTextureObject};
static PyObject *__pyx_pw_4cuda_6cudart_339cudaCreateTextureObject(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, 15460, __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, 15460, __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, 15460, __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, 15460, __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, 15460, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pTexDesc), __pyx_ptype_4cuda_6cudart_cudaTextureDesc, 1, "pTexDesc", 0))) __PYX_ERR(0, 15460, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pResViewDesc), __pyx_ptype_4cuda_6cudart_cudaResourceViewDesc, 1, "pResViewDesc", 0))) __PYX_ERR(0, 15460, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_338cudaCreateTextureObject(__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_338cudaCreateTextureObject(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 __pyx_t_4cuda_7ccudart_cudaResourceDesc *__pyx_v_cpResDesc_ptr;
  struct __pyx_t_4cuda_7ccudart_cudaTextureDesc *__pyx_v_cpTexDesc_ptr;
  struct __pyx_t_4cuda_7ccudart_cudaResourceViewDesc *__pyx_v_cpResViewDesc_ptr;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  struct __pyx_t_4cuda_7ccudart_cudaResourceDesc *__pyx_t_2;
  int __pyx_t_3;
  struct __pyx_t_4cuda_7ccudart_cudaTextureDesc *__pyx_t_4;
  struct __pyx_t_4cuda_7ccudart_cudaResourceViewDesc *__pyx_t_5;
  __pyx_t_4cuda_7ccudart_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__508)
  __Pyx_RefNannySetupContext("cudaCreateTextureObject", 0);
  __Pyx_TraceCall("cudaCreateTextureObject", __pyx_f[0], 15460, 0, __PYX_ERR(0, 15460, __pyx_L1_error));

  /* "cuda/cudart.pyx":15581
 *     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, 15581, __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":15582
 *     """
 *     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, 15582, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 15582, __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":15583
 *     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, 15583, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 15583, __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":15584
 *     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, 15584, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 15584, __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":15585
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 15585, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":15586
 *     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, 15586, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 15586, __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, 15586, __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, 15586, __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":15460
 * 
 * @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":15589
 * 
 * @cython.embedsignature(True)
 * def cudaDestroyTextureObject(texObject not None : cudaTextureObject_t):             # <<<<<<<<<<<<<<
 *     """ Destroys a texture object.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_341cudaDestroyTextureObject(PyObject *__pyx_self, PyObject *__pyx_v_texObject); /*proto*/
static char __pyx_doc_4cuda_6cudart_340cudaDestroyTextureObject[] = "cudaDestroyTextureObject(cudaTextureObject_t texObject: cudaTextureObject_t)\n Destroys a texture object.\n\n    Destroys the texture object specified by `texObject`.\n\n    Parameters\n    ----------\n    texObject : cudaTextureObject_t\n        Texture object to destroy\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    None\n        None\n\n    See Also\n    --------\n    cudaCreateTextureObject\n    cuTexObjectDestroy\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_341cudaDestroyTextureObject = {"cudaDestroyTextureObject", (PyCFunction)__pyx_pw_4cuda_6cudart_341cudaDestroyTextureObject, METH_O, __pyx_doc_4cuda_6cudart_340cudaDestroyTextureObject};
static PyObject *__pyx_pw_4cuda_6cudart_341cudaDestroyTextureObject(PyObject *__pyx_self, PyObject *__pyx_v_texObject) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaDestroyTextureObject (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_texObject), __pyx_ptype_4cuda_6cudart_cudaTextureObject_t, 0, "texObject", 0))) __PYX_ERR(0, 15589, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_340cudaDestroyTextureObject(__pyx_self, ((struct __pyx_obj_4cuda_6cudart_cudaTextureObject_t *)__pyx_v_texObject));

  /* 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_340cudaDestroyTextureObject(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaTextureObject_t *__pyx_v_texObject) {
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __pyx_t_4cuda_7ccudart_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__509)
  __Pyx_RefNannySetupContext("cudaDestroyTextureObject", 0);
  __Pyx_TraceCall("cudaDestroyTextureObject", __pyx_f[0], 15589, 0, __PYX_ERR(0, 15589, __pyx_L1_error));

  /* "cuda/cudart.pyx":15612
 *     cuTexObjectDestroy
 *     """
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaDestroyTextureObject(texObject._ptr[0])
 *     return (cudaError_t(err),)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":15613
 *     """
 *     with nogil:
 *         err = ccudart.cudaDestroyTextureObject(texObject._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
        __pyx_t_1 = __pyx_f_4cuda_7ccudart_cudaDestroyTextureObject((__pyx_v_texObject->_ptr[0])); if (unlikely(__pyx_t_1 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 15613, __pyx_L4_error)
        __pyx_v_err = __pyx_t_1;
      }

      /* "cuda/cudart.pyx":15612
 *     cuTexObjectDestroy
 *     """
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaDestroyTextureObject(texObject._ptr[0])
 *     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":15614
 *     with nogil:
 *         err = ccudart.cudaDestroyTextureObject(texObject._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, 15614, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15614, __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, 15614, __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, 15614, __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":15589
 * 
 * @cython.embedsignature(True)
 * def cudaDestroyTextureObject(texObject not None : cudaTextureObject_t):             # <<<<<<<<<<<<<<
 *     """ Destroys a texture object.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cudart.cudaDestroyTextureObject", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":15617
 * 
 * @cython.embedsignature(True)
 * def cudaGetTextureObjectResourceDesc(texObject not None : cudaTextureObject_t):             # <<<<<<<<<<<<<<
 *     """ Returns a texture object's resource descriptor.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_343cudaGetTextureObjectResourceDesc(PyObject *__pyx_self, PyObject *__pyx_v_texObject); /*proto*/
static char __pyx_doc_4cuda_6cudart_342cudaGetTextureObjectResourceDesc[] = "cudaGetTextureObjectResourceDesc(cudaTextureObject_t texObject: cudaTextureObject_t)\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 : cudaTextureObject_t\n        Texture object\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    pResDesc : cudaResourceDesc\n        Resource descriptor\n\n    See Also\n    --------\n    cudaCreateTextureObject\n    cuTexObjectGetResourceDesc\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_343cudaGetTextureObjectResourceDesc = {"cudaGetTextureObjectResourceDesc", (PyCFunction)__pyx_pw_4cuda_6cudart_343cudaGetTextureObjectResourceDesc, METH_O, __pyx_doc_4cuda_6cudart_342cudaGetTextureObjectResourceDesc};
static PyObject *__pyx_pw_4cuda_6cudart_343cudaGetTextureObjectResourceDesc(PyObject *__pyx_self, PyObject *__pyx_v_texObject) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGetTextureObjectResourceDesc (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_texObject), __pyx_ptype_4cuda_6cudart_cudaTextureObject_t, 0, "texObject", 0))) __PYX_ERR(0, 15617, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_342cudaGetTextureObjectResourceDesc(__pyx_self, ((struct __pyx_obj_4cuda_6cudart_cudaTextureObject_t *)__pyx_v_texObject));

  /* 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_342cudaGetTextureObjectResourceDesc(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaTextureObject_t *__pyx_v_texObject) {
  struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *__pyx_v_pResDesc = 0;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_7ccudart_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__510)
  __Pyx_RefNannySetupContext("cudaGetTextureObjectResourceDesc", 0);
  __Pyx_TraceCall("cudaGetTextureObjectResourceDesc", __pyx_f[0], 15617, 0, __PYX_ERR(0, 15617, __pyx_L1_error));

  /* "cuda/cudart.pyx":15641
 *     cuTexObjectGetResourceDesc
 *     """
 *     cdef cudaResourceDesc pResDesc = cudaResourceDesc()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = ccudart.cudaGetTextureObjectResourceDesc(pResDesc._ptr, texObject._ptr[0])
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaResourceDesc)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15641, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_pResDesc = ((struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":15642
 *     """
 *     cdef cudaResourceDesc pResDesc = cudaResourceDesc()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaGetTextureObjectResourceDesc(pResDesc._ptr, texObject._ptr[0])
 *     return (cudaError_t(err), pResDesc)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":15643
 *     cdef cudaResourceDesc pResDesc = cudaResourceDesc()
 *     with nogil:
 *         err = ccudart.cudaGetTextureObjectResourceDesc(pResDesc._ptr, texObject._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pResDesc)
 * 
 */
        __pyx_t_2 = __pyx_f_4cuda_7ccudart_cudaGetTextureObjectResourceDesc(__pyx_v_pResDesc->_ptr, (__pyx_v_texObject->_ptr[0])); if (unlikely(__pyx_t_2 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 15643, __pyx_L4_error)
        __pyx_v_err = __pyx_t_2;
      }

      /* "cuda/cudart.pyx":15642
 *     """
 *     cdef cudaResourceDesc pResDesc = cudaResourceDesc()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaGetTextureObjectResourceDesc(pResDesc._ptr, texObject._ptr[0])
 *     return (cudaError_t(err), pResDesc)
 */
      /*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":15644
 *     with nogil:
 *         err = ccudart.cudaGetTextureObjectResourceDesc(pResDesc._ptr, texObject._ptr[0])
 *     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, 15644, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15644, __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, 15644, __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, 15644, __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_pResDesc));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pResDesc));
  PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_pResDesc));
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":15617
 * 
 * @cython.embedsignature(True)
 * def cudaGetTextureObjectResourceDesc(texObject not None : cudaTextureObject_t):             # <<<<<<<<<<<<<<
 *     """ Returns a texture object's resource descriptor.
 * 
 */

  /* 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.cudaGetTextureObjectResourceDesc", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_pResDesc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":15647
 * 
 * @cython.embedsignature(True)
 * def cudaGetTextureObjectTextureDesc(texObject not None : cudaTextureObject_t):             # <<<<<<<<<<<<<<
 *     """ Returns a texture object's texture descriptor.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_345cudaGetTextureObjectTextureDesc(PyObject *__pyx_self, PyObject *__pyx_v_texObject); /*proto*/
static char __pyx_doc_4cuda_6cudart_344cudaGetTextureObjectTextureDesc[] = "cudaGetTextureObjectTextureDesc(cudaTextureObject_t texObject: cudaTextureObject_t)\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 : cudaTextureObject_t\n        Texture object\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    pTexDesc : cudaTextureDesc\n        Texture descriptor\n\n    See Also\n    --------\n    cudaCreateTextureObject\n    cuTexObjectGetTextureDesc\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_345cudaGetTextureObjectTextureDesc = {"cudaGetTextureObjectTextureDesc", (PyCFunction)__pyx_pw_4cuda_6cudart_345cudaGetTextureObjectTextureDesc, METH_O, __pyx_doc_4cuda_6cudart_344cudaGetTextureObjectTextureDesc};
static PyObject *__pyx_pw_4cuda_6cudart_345cudaGetTextureObjectTextureDesc(PyObject *__pyx_self, PyObject *__pyx_v_texObject) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGetTextureObjectTextureDesc (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_texObject), __pyx_ptype_4cuda_6cudart_cudaTextureObject_t, 0, "texObject", 0))) __PYX_ERR(0, 15647, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_344cudaGetTextureObjectTextureDesc(__pyx_self, ((struct __pyx_obj_4cuda_6cudart_cudaTextureObject_t *)__pyx_v_texObject));

  /* 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_344cudaGetTextureObjectTextureDesc(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaTextureObject_t *__pyx_v_texObject) {
  struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *__pyx_v_pTexDesc = 0;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_7ccudart_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__511)
  __Pyx_RefNannySetupContext("cudaGetTextureObjectTextureDesc", 0);
  __Pyx_TraceCall("cudaGetTextureObjectTextureDesc", __pyx_f[0], 15647, 0, __PYX_ERR(0, 15647, __pyx_L1_error));

  /* "cuda/cudart.pyx":15671
 *     cuTexObjectGetTextureDesc
 *     """
 *     cdef cudaTextureDesc pTexDesc = cudaTextureDesc()             # <<<<<<<<<<<<<<
 *     with nogil:
 *         err = ccudart.cudaGetTextureObjectTextureDesc(pTexDesc._ptr, texObject._ptr[0])
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaTextureDesc)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15671, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_pTexDesc = ((struct __pyx_obj_4cuda_6cudart_cudaTextureDesc *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":15672
 *     """
 *     cdef cudaTextureDesc pTexDesc = cudaTextureDesc()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaGetTextureObjectTextureDesc(pTexDesc._ptr, texObject._ptr[0])
 *     return (cudaError_t(err), pTexDesc)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":15673
 *     cdef cudaTextureDesc pTexDesc = cudaTextureDesc()
 *     with nogil:
 *         err = ccudart.cudaGetTextureObjectTextureDesc(pTexDesc._ptr, texObject._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pTexDesc)
 * 
 */
        __pyx_t_2 = __pyx_f_4cuda_7ccudart_cudaGetTextureObjectTextureDesc(__pyx_v_pTexDesc->_ptr, (__pyx_v_texObject->_ptr[0])); if (unlikely(__pyx_t_2 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 15673, __pyx_L4_error)
        __pyx_v_err = __pyx_t_2;
      }

      /* "cuda/cudart.pyx":15672
 *     """
 *     cdef cudaTextureDesc pTexDesc = cudaTextureDesc()
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaGetTextureObjectTextureDesc(pTexDesc._ptr, texObject._ptr[0])
 *     return (cudaError_t(err), pTexDesc)
 */
      /*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":15674
 *     with nogil:
 *         err = ccudart.cudaGetTextureObjectTextureDesc(pTexDesc._ptr, texObject._ptr[0])
 *     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, 15674, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15674, __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, 15674, __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, 15674, __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_pTexDesc));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pTexDesc));
  PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_pTexDesc));
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":15647
 * 
 * @cython.embedsignature(True)
 * def cudaGetTextureObjectTextureDesc(texObject not None : cudaTextureObject_t):             # <<<<<<<<<<<<<<
 *     """ Returns a texture object's texture descriptor.
 * 
 */

  /* 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.cudaGetTextureObjectTextureDesc", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_pTexDesc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":15677
 * 
 * @cython.embedsignature(True)
 * def cudaGetTextureObjectResourceViewDesc(texObject not None : cudaTextureObject_t):             # <<<<<<<<<<<<<<
 *     """ Returns a texture object's resource view descriptor.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_347cudaGetTextureObjectResourceViewDesc(PyObject *__pyx_self, PyObject *__pyx_v_texObject); /*proto*/
static char __pyx_doc_4cuda_6cudart_346cudaGetTextureObjectResourceViewDesc[] = "cudaGetTextureObjectResourceViewDesc(cudaTextureObject_t texObject: cudaTextureObject_t)\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    cudaErrorInvalidValue is returned.\n\n    Parameters\n    ----------\n    texObject : cudaTextureObject_t\n        Texture object\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    pResViewDesc : cudaResourceViewDesc\n        Resource view descriptor\n\n    See Also\n    --------\n    cudaCreateTextureObject\n    cuTexObjectGetResourceViewDesc\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_347cudaGetTextureObjectResourceViewDesc = {"cudaGetTextureObjectResourceViewDesc", (PyCFunction)__pyx_pw_4cuda_6cudart_347cudaGetTextureObjectResourceViewDesc, METH_O, __pyx_doc_4cuda_6cudart_346cudaGetTextureObjectResourceViewDesc};
static PyObject *__pyx_pw_4cuda_6cudart_347cudaGetTextureObjectResourceViewDesc(PyObject *__pyx_self, PyObject *__pyx_v_texObject) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGetTextureObjectResourceViewDesc (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_texObject), __pyx_ptype_4cuda_6cudart_cudaTextureObject_t, 0, "texObject", 0))) __PYX_ERR(0, 15677, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_346cudaGetTextureObjectResourceViewDesc(__pyx_self, ((struct __pyx_obj_4cuda_6cudart_cudaTextureObject_t *)__pyx_v_texObject));

  /* 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_346cudaGetTextureObjectResourceViewDesc(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaTextureObject_t *__pyx_v_texObject) {
  struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *__pyx_v_pResViewDesc = 0;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_7ccudart_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__512)
  __Pyx_RefNannySetupContext("cudaGetTextureObjectResourceViewDesc", 0);
  __Pyx_TraceCall("cudaGetTextureObjectResourceViewDesc", __pyx_f[0], 15677, 0, __PYX_ERR(0, 15677, __pyx_L1_error));

  /* "cuda/cudart.pyx":15702
 *     cuTexObjectGetResourceViewDesc
 *     """
 *     cdef cudaResourceViewDesc pResViewDesc = cudaResourceViewDesc()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGetTextureObjectResourceViewDesc(pResViewDesc._ptr, texObject._ptr[0])
 *     return (cudaError_t(err), pResViewDesc)
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaResourceViewDesc)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15702, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_pResViewDesc = ((struct __pyx_obj_4cuda_6cudart_cudaResourceViewDesc *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":15703
 *     """
 *     cdef cudaResourceViewDesc pResViewDesc = cudaResourceViewDesc()
 *     err = ccudart.cudaGetTextureObjectResourceViewDesc(pResViewDesc._ptr, texObject._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pResViewDesc)
 * 
 */
  __pyx_t_2 = __pyx_f_4cuda_7ccudart_cudaGetTextureObjectResourceViewDesc(__pyx_v_pResViewDesc->_ptr, (__pyx_v_texObject->_ptr[0])); if (unlikely(__pyx_t_2 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 15703, __pyx_L1_error)
  __pyx_v_err = __pyx_t_2;

  /* "cuda/cudart.pyx":15704
 *     cdef cudaResourceViewDesc pResViewDesc = cudaResourceViewDesc()
 *     err = ccudart.cudaGetTextureObjectResourceViewDesc(pResViewDesc._ptr, texObject._ptr[0])
 *     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, 15704, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15704, __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, 15704, __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, 15704, __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_pResViewDesc));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pResViewDesc));
  PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_pResViewDesc));
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":15677
 * 
 * @cython.embedsignature(True)
 * def cudaGetTextureObjectResourceViewDesc(texObject not None : cudaTextureObject_t):             # <<<<<<<<<<<<<<
 *     """ Returns a texture object's resource view descriptor.
 * 
 */

  /* 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.cudaGetTextureObjectResourceViewDesc", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_pResViewDesc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":15707
 * 
 * @cython.embedsignature(True)
 * def cudaCreateSurfaceObject(pResDesc : cudaResourceDesc):             # <<<<<<<<<<<<<<
 *     """ Creates a surface object.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_349cudaCreateSurfaceObject(PyObject *__pyx_self, PyObject *__pyx_v_pResDesc); /*proto*/
static char __pyx_doc_4cuda_6cudart_348cudaCreateSurfaceObject[] = "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    cudaResourceDesc::resType must be cudaResourceTypeArray and\n    cudaResourceDesc::res::array::array must be set to a valid CUDA array\n    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 : cudaResourceDesc\n        Resource descriptor\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorInvalidChannelDescriptor\n        cudaErrorInvalidResourceHandle\n    pSurfObject : cudaSurfaceObject_t\n        Surface object to create\n\n    See Also\n    --------\n    cudaDestroySurfaceObject\n    cuSurfObjectCreate\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_349cudaCreateSurfaceObject = {"cudaCreateSurfaceObject", (PyCFunction)__pyx_pw_4cuda_6cudart_349cudaCreateSurfaceObject, METH_O, __pyx_doc_4cuda_6cudart_348cudaCreateSurfaceObject};
static PyObject *__pyx_pw_4cuda_6cudart_349cudaCreateSurfaceObject(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, 15707, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_348cudaCreateSurfaceObject(__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_348cudaCreateSurfaceObject(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 __pyx_t_4cuda_7ccudart_cudaResourceDesc *__pyx_v_cpResDesc_ptr;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  struct __pyx_t_4cuda_7ccudart_cudaResourceDesc *__pyx_t_2;
  int __pyx_t_3;
  __pyx_t_4cuda_7ccudart_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__513)
  __Pyx_RefNannySetupContext("cudaCreateSurfaceObject", 0);
  __Pyx_TraceCall("cudaCreateSurfaceObject", __pyx_f[0], 15707, 0, __PYX_ERR(0, 15707, __pyx_L1_error));

  /* "cuda/cudart.pyx":15740
 *     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, 15740, __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":15741
 *     """
 *     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, 15741, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 15741, __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":15742
 *     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":15743
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 15743, __pyx_L4_error)
        __pyx_v_err = __pyx_t_4;
      }

      /* "cuda/cudart.pyx":15742
 *     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":15744
 *     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, 15744, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 15744, __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, 15744, __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, 15744, __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":15707
 * 
 * @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":15747
 * 
 * @cython.embedsignature(True)
 * def cudaDestroySurfaceObject(surfObject not None : cudaSurfaceObject_t):             # <<<<<<<<<<<<<<
 *     """ Destroys a surface object.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_351cudaDestroySurfaceObject(PyObject *__pyx_self, PyObject *__pyx_v_surfObject); /*proto*/
static char __pyx_doc_4cuda_6cudart_350cudaDestroySurfaceObject[] = "cudaDestroySurfaceObject(cudaSurfaceObject_t surfObject: cudaSurfaceObject_t)\n Destroys a surface object.\n\n    Destroys the surface object specified by `surfObject`.\n\n    Parameters\n    ----------\n    surfObject : cudaSurfaceObject_t\n        Surface object to destroy\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    None\n        None\n\n    See Also\n    --------\n    cudaCreateSurfaceObject\n    cuSurfObjectDestroy\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_351cudaDestroySurfaceObject = {"cudaDestroySurfaceObject", (PyCFunction)__pyx_pw_4cuda_6cudart_351cudaDestroySurfaceObject, METH_O, __pyx_doc_4cuda_6cudart_350cudaDestroySurfaceObject};
static PyObject *__pyx_pw_4cuda_6cudart_351cudaDestroySurfaceObject(PyObject *__pyx_self, PyObject *__pyx_v_surfObject) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaDestroySurfaceObject (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_surfObject), __pyx_ptype_4cuda_6cudart_cudaSurfaceObject_t, 0, "surfObject", 0))) __PYX_ERR(0, 15747, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_350cudaDestroySurfaceObject(__pyx_self, ((struct __pyx_obj_4cuda_6cudart_cudaSurfaceObject_t *)__pyx_v_surfObject));

  /* 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_350cudaDestroySurfaceObject(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaSurfaceObject_t *__pyx_v_surfObject) {
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __pyx_t_4cuda_7ccudart_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__514)
  __Pyx_RefNannySetupContext("cudaDestroySurfaceObject", 0);
  __Pyx_TraceCall("cudaDestroySurfaceObject", __pyx_f[0], 15747, 0, __PYX_ERR(0, 15747, __pyx_L1_error));

  /* "cuda/cudart.pyx":15770
 *     cuSurfObjectDestroy
 *     """
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaDestroySurfaceObject(surfObject._ptr[0])
 *     return (cudaError_t(err),)
 */
  {
      #ifdef WITH_THREAD
      PyThreadState *_save;
      Py_UNBLOCK_THREADS
      __Pyx_FastGIL_Remember();
      #endif
      /*try:*/ {

        /* "cuda/cudart.pyx":15771
 *     """
 *     with nogil:
 *         err = ccudart.cudaDestroySurfaceObject(surfObject._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
        __pyx_t_1 = __pyx_f_4cuda_7ccudart_cudaDestroySurfaceObject((__pyx_v_surfObject->_ptr[0])); if (unlikely(__pyx_t_1 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && __Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 15771, __pyx_L4_error)
        __pyx_v_err = __pyx_t_1;
      }

      /* "cuda/cudart.pyx":15770
 *     cuSurfObjectDestroy
 *     """
 *     with nogil:             # <<<<<<<<<<<<<<
 *         err = ccudart.cudaDestroySurfaceObject(surfObject._ptr[0])
 *     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":15772
 *     with nogil:
 *         err = ccudart.cudaDestroySurfaceObject(surfObject._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, 15772, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15772, __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, 15772, __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, 15772, __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":15747
 * 
 * @cython.embedsignature(True)
 * def cudaDestroySurfaceObject(surfObject not None : cudaSurfaceObject_t):             # <<<<<<<<<<<<<<
 *     """ Destroys a surface object.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cudart.cudaDestroySurfaceObject", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":15775
 * 
 * @cython.embedsignature(True)
 * def cudaGetSurfaceObjectResourceDesc(surfObject not None : cudaSurfaceObject_t):             # <<<<<<<<<<<<<<
 *     """ 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_353cudaGetSurfaceObjectResourceDesc(PyObject *__pyx_self, PyObject *__pyx_v_surfObject); /*proto*/
static char __pyx_doc_4cuda_6cudart_352cudaGetSurfaceObjectResourceDesc[] = "cudaGetSurfaceObjectResourceDesc(cudaSurfaceObject_t surfObject: cudaSurfaceObject_t)\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 : cudaSurfaceObject_t\n        Surface object\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    pResDesc : cudaResourceDesc\n        Resource descriptor\n\n    See Also\n    --------\n    cudaCreateSurfaceObject\n    cuSurfObjectGetResourceDesc\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_353cudaGetSurfaceObjectResourceDesc = {"cudaGetSurfaceObjectResourceDesc", (PyCFunction)__pyx_pw_4cuda_6cudart_353cudaGetSurfaceObjectResourceDesc, METH_O, __pyx_doc_4cuda_6cudart_352cudaGetSurfaceObjectResourceDesc};
static PyObject *__pyx_pw_4cuda_6cudart_353cudaGetSurfaceObjectResourceDesc(PyObject *__pyx_self, PyObject *__pyx_v_surfObject) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGetSurfaceObjectResourceDesc (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_surfObject), __pyx_ptype_4cuda_6cudart_cudaSurfaceObject_t, 0, "surfObject", 0))) __PYX_ERR(0, 15775, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_352cudaGetSurfaceObjectResourceDesc(__pyx_self, ((struct __pyx_obj_4cuda_6cudart_cudaSurfaceObject_t *)__pyx_v_surfObject));

  /* 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_352cudaGetSurfaceObjectResourceDesc(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaSurfaceObject_t *__pyx_v_surfObject) {
  struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *__pyx_v_pResDesc = 0;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_7ccudart_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__515)
  __Pyx_RefNannySetupContext("cudaGetSurfaceObjectResourceDesc", 0);
  __Pyx_TraceCall("cudaGetSurfaceObjectResourceDesc", __pyx_f[0], 15775, 0, __PYX_ERR(0, 15775, __pyx_L1_error));

  /* "cuda/cudart.pyx":15796
 *     cuSurfObjectGetResourceDesc
 *     """
 *     cdef cudaResourceDesc pResDesc = cudaResourceDesc()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGetSurfaceObjectResourceDesc(pResDesc._ptr, surfObject._ptr[0])
 *     return (cudaError_t(err), pResDesc)
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaResourceDesc)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15796, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_pResDesc = ((struct __pyx_obj_4cuda_6cudart_cudaResourceDesc *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":15797
 *     """
 *     cdef cudaResourceDesc pResDesc = cudaResourceDesc()
 *     err = ccudart.cudaGetSurfaceObjectResourceDesc(pResDesc._ptr, surfObject._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pResDesc)
 * 
 */
  __pyx_t_2 = __pyx_f_4cuda_7ccudart_cudaGetSurfaceObjectResourceDesc(__pyx_v_pResDesc->_ptr, (__pyx_v_surfObject->_ptr[0])); if (unlikely(__pyx_t_2 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 15797, __pyx_L1_error)
  __pyx_v_err = __pyx_t_2;

  /* "cuda/cudart.pyx":15798
 *     cdef cudaResourceDesc pResDesc = cudaResourceDesc()
 *     err = ccudart.cudaGetSurfaceObjectResourceDesc(pResDesc._ptr, surfObject._ptr[0])
 *     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, 15798, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15798, __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, 15798, __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, 15798, __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_pResDesc));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pResDesc));
  PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_pResDesc));
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":15775
 * 
 * @cython.embedsignature(True)
 * def cudaGetSurfaceObjectResourceDesc(surfObject not None : cudaSurfaceObject_t):             # <<<<<<<<<<<<<<
 *     """ 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_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cudart.cudaGetSurfaceObjectResourceDesc", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_pResDesc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":15801
 * 
 * @cython.embedsignature(True)
 * def cudaDriverGetVersion():             # <<<<<<<<<<<<<<
 *     """ Returns the latest version of CUDA supported by the driver.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_355cudaDriverGetVersion(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_354cudaDriverGetVersion[] = "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 cudaErrorInvalidValue if\n    `driverVersion` is NULL.\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    driverVersion : int\n        Returns the CUDA driver version.\n\n    See Also\n    --------\n    cudaRuntimeGetVersion\n    cuDriverGetVersion\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_355cudaDriverGetVersion = {"cudaDriverGetVersion", (PyCFunction)__pyx_pw_4cuda_6cudart_355cudaDriverGetVersion, METH_NOARGS, __pyx_doc_4cuda_6cudart_354cudaDriverGetVersion};
static PyObject *__pyx_pw_4cuda_6cudart_355cudaDriverGetVersion(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaDriverGetVersion (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_354cudaDriverGetVersion(__pyx_self);

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

static PyObject *__pyx_pf_4cuda_6cudart_354cudaDriverGetVersion(CYTHON_UNUSED PyObject *__pyx_self) {
  int __pyx_v_driverVersion;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __pyx_t_4cuda_7ccudart_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("cudaDriverGetVersion", 0);
  __Pyx_TraceCall("cudaDriverGetVersion", __pyx_f[0], 15801, 0, __PYX_ERR(0, 15801, __pyx_L1_error));

  /* "cuda/cudart.pyx":15825
 *     cuDriverGetVersion
 *     """
 *     cdef int driverVersion = 0             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaDriverGetVersion(&driverVersion)
 *     return (cudaError_t(err), driverVersion)
 */
  __pyx_v_driverVersion = 0;

  /* "cuda/cudart.pyx":15826
 *     """
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 15826, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":15827
 *     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, 15827, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15827, __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, 15827, __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, 15827, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15827, __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":15801
 * 
 * @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":15830
 * 
 * @cython.embedsignature(True)
 * def cudaRuntimeGetVersion():             # <<<<<<<<<<<<<<
 *     """ Returns the CUDA Runtime version.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_357cudaRuntimeGetVersion(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4cuda_6cudart_356cudaRuntimeGetVersion[] = "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 cudaErrorInvalidValue if the\n    `runtimeVersion` argument is NULL.\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    runtimeVersion : int\n        Returns the CUDA Runtime version.\n\n    See Also\n    --------\n    cudaDriverGetVersion\n    cuDriverGetVersion\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_357cudaRuntimeGetVersion = {"cudaRuntimeGetVersion", (PyCFunction)__pyx_pw_4cuda_6cudart_357cudaRuntimeGetVersion, METH_NOARGS, __pyx_doc_4cuda_6cudart_356cudaRuntimeGetVersion};
static PyObject *__pyx_pw_4cuda_6cudart_357cudaRuntimeGetVersion(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaRuntimeGetVersion (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_356cudaRuntimeGetVersion(__pyx_self);

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

static PyObject *__pyx_pf_4cuda_6cudart_356cudaRuntimeGetVersion(CYTHON_UNUSED PyObject *__pyx_self) {
  int __pyx_v_runtimeVersion;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __pyx_t_4cuda_7ccudart_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("cudaRuntimeGetVersion", 0);
  __Pyx_TraceCall("cudaRuntimeGetVersion", __pyx_f[0], 15830, 0, __PYX_ERR(0, 15830, __pyx_L1_error));

  /* "cuda/cudart.pyx":15853
 *     cuDriverGetVersion
 *     """
 *     cdef int runtimeVersion = 0             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaRuntimeGetVersion(&runtimeVersion)
 *     return (cudaError_t(err), runtimeVersion)
 */
  __pyx_v_runtimeVersion = 0;

  /* "cuda/cudart.pyx":15854
 *     """
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 15854, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":15855
 *     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, 15855, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15855, __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, 15855, __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, 15855, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15855, __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":15830
 * 
 * @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":15858
 * 
 * @cython.embedsignature(True)
 * def cudaGraphCreate(unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Creates a graph.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_359cudaGraphCreate(PyObject *__pyx_self, PyObject *__pyx_arg_flags); /*proto*/
static char __pyx_doc_4cuda_6cudart_358cudaGraphCreate[] = "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        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorMemoryAllocation\n    pGraph : cudaGraph_t\n        Returns newly created graph\n\n    See Also\n    --------\n    cudaGraphAddChildGraphNode\n    cudaGraphAddEmptyNode\n    cudaGraphAddKernelNode\n    cudaGraphAddHostNode\n    cudaGraphAddMemcpyNode\n    cudaGraphAddMemsetNode\n    cudaGraphInstantiate\n    cudaGraphDestroy\n    cudaGraphGetNodes\n    cudaGraphGetRootNodes\n    cudaGraphGetEdges\n    cudaGraphClone\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_359cudaGraphCreate = {"cudaGraphCreate", (PyCFunction)__pyx_pw_4cuda_6cudart_359cudaGraphCreate, METH_O, __pyx_doc_4cuda_6cudart_358cudaGraphCreate};
static PyObject *__pyx_pw_4cuda_6cudart_359cudaGraphCreate(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, 15858, __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_358cudaGraphCreate(__pyx_self, ((unsigned int)__pyx_v_flags));

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

static PyObject *__pyx_pf_4cuda_6cudart_358cudaGraphCreate(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_flags) {
  struct __pyx_obj_4cuda_6cudart_cudaGraph_t *__pyx_v_pGraph = 0;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_7ccudart_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__518)
  __Pyx_RefNannySetupContext("cudaGraphCreate", 0);
  __Pyx_TraceCall("cudaGraphCreate", __pyx_f[0], 15858, 0, __PYX_ERR(0, 15858, __pyx_L1_error));

  /* "cuda/cudart.pyx":15892
 *     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, 15892, __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":15893
 *     """
 *     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(((__pyx_t_4cuda_7ccudart_cudaGraph_t *)__pyx_v_pGraph->__pyx_base._ptr), __pyx_v_flags); if (unlikely(__pyx_t_2 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 15893, __pyx_L1_error)
  __pyx_v_err = __pyx_t_2;

  /* "cuda/cudart.pyx":15894
 *     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, 15894, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15894, __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, 15894, __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, 15894, __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":15858
 * 
 * @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":15897
 * 
 * @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_361cudaGraphAddKernelNode(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_360cudaGraphAddKernelNode[] = "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 cudaKernelNodeParams structure is defined as:\n\n    structcudaKernelNodeParams { void*func; dim3gridDim; dim3blockDim;\n    unsignedintsharedMemBytes; void**kernelParams; void**extra; };\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    all""ow 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    CU_LAUNCH_PARAM_END, which indicates the end of the `extra` array;\n    CU_LAUNCH_PARAM_BUFFER_POINTER, which specifies that the next value in\n    `extra` will be a pointer to a buffer containing all the kernel\n    parameters for launching kernel `func`; CU_LAUNCH_PARAM_BUFFER_SIZE,\n    which specifies that the next value in `extra` will be a pointer to a\n    size_t containing the size of the buffer specified with\n    CU_LAUNCH_PARAM_BUFFER_POINTER;\n\n    The error cudaErrorInvalidValue will be returned if kernel parameters\n    are specified with both `kernelParams` and `extra` (i.e. both\n    `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 : CUgraph or cudaGraph_t\n        Graph to which to add the node\n    pDependencies : List[cudaGraphNode_t]\n        Dependencies of the node\n    numDependencies : size_t\n        Number of dependencies\n    pNodeParams : cudaKernelNodeParams\n        Parameters for the GPU execution node\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorInvalidDeviceFunction\n    pGraphNode : cudaGraphNode_t\n        Returns newly created node\n\n    See Also\n    --------\n    cudaLaunchKernel\n    cudaGraphKernelNodeGetParams\n    cudaGraphKernelNodeSetParams\n    cudaGraphCreate\n    cudaGraphDestroyNode\n    cudaGraphAddChildGraphNode\n    cudaGraphAddEmptyNode\n    cudaGraphAddHostNode\n    cudaGraphAddMemcpyNode\n    cudaGraphAddMemsetNode\n\n    Notes\n    -----\n    Kernels launched using gr""aphs 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\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_361cudaGraphAddKernelNode = {"cudaGraphAddKernelNode", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_361cudaGraphAddKernelNode, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_360cudaGraphAddKernelNode};
static PyObject *__pyx_pw_4cuda_6cudart_361cudaGraphAddKernelNode(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, 15897, __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, 15897, __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, 15897, __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, 15897, __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, 15897, __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, 15897, __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, 15897, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_360cudaGraphAddKernelNode(__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":15993
 *     """
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */

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, 15993, __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, 15993, __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], 15993, 0, __PYX_ERR(0, 15993, __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, 15993, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies)) { __Pyx_RaiseClosureNameError("pDependencies"); __PYX_ERR(0, 15993, __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, 15993, __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, 15993, __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, 15993, __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, 15993, __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, 15993, __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, 15993, __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, 15993, __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":15897
 * 
 * @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_360cudaGraphAddKernelNode(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;
  struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *__pyx_v_pGraphNode = 0;
  __pyx_t_4cuda_7ccudart_cudaGraphNode_t *__pyx_v_cpDependencies;
  Py_ssize_t __pyx_v_idx;
  struct __pyx_t_4cuda_7ccudart_cudaKernelNodeParams *__pyx_v_cpNodeParams_ptr;
  __pyx_t_4cuda_7ccudart_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;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  struct __pyx_t_4cuda_7ccudart_cudaKernelNodeParams *__pyx_t_10;
  __pyx_t_4cuda_7ccudart_cudaGraphNode_t *__pyx_t_11;
  __pyx_t_4cuda_7ccudart_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__519)
  __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, 15897, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __Pyx_TraceCall("cudaGraphAddKernelNode", __pyx_f[0], 15897, 0, __PYX_ERR(0, 15897, __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":15992
 * 
 *     """
 *     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, 15992, __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":15993
 *     """
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */
  __pyx_t_1 = __pyx_pf_4cuda_6cudart_22cudaGraphAddKernelNode_genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15993, __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, 15993, __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, 15993, __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":15994
 *     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]")             # <<<<<<<<<<<<<<
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__520, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15994, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 15994, __pyx_L1_error)

    /* "cuda/cudart.pyx":15993
 *     """
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */
  }

  /* "cuda/cudart.pyx":15995
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 */
  __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_L5_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_L5_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_4 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":15996
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))             # <<<<<<<<<<<<<<
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 */
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_graph))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15996, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_graph_is_not_instance_o, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15996, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15996, __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, 15996, __pyx_L1_error)

    /* "cuda/cudart.pyx":15995
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 */
  }

  /* "cuda/cudart.pyx":15997
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:
 */
  __pyx_t_3 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15997, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_v_pGraphNode = ((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":15998
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     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":15999
 *     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_3 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_6 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 15999, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_2 = ((__pyx_t_6 > 0) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":16000
 *     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_3 = __pyx_cur_scope->__pyx_v_pDependencies;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_6 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16000, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_cpDependencies = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t *)calloc(__pyx_t_6, (sizeof(__pyx_t_4cuda_7ccudart_cudaGraphNode_t))));

    /* "cuda/cudart.pyx":16001
 *     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":16002
 *         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_3 = __pyx_cur_scope->__pyx_v_pDependencies;
      __Pyx_INCREF(__pyx_t_3);
      __pyx_t_6 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16002, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16002, __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, 16002, __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_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16002, __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, 16002, __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(__pyx_t_4cuda_7ccudart_cudaGraphNode_t))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16002, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16002, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16002, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16002, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(0, 16002, __pyx_L1_error)

      /* "cuda/cudart.pyx":16001
 *     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":16004
 *             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_7 = __pyx_cur_scope->__pyx_v_pDependencies;
      __Pyx_INCREF(__pyx_t_7);
      __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16004, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_8 = __pyx_t_6;
      for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
        __pyx_v_idx = __pyx_t_9;

        /* "cuda/cudart.pyx":16005
 *         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_7 = __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_7)) __PYX_ERR(0, 16005, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        (__pyx_v_cpDependencies[__pyx_v_idx]) = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_7)->__pyx_base._ptr[0]));
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }

    /* "cuda/cudart.pyx":15999
 *     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":16007
 *                 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, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cpNodeParams_ptr)
 */
  __pyx_t_7 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_7);
  __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16007, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_2 = ((__pyx_v_numDependencies > ((size_t)__pyx_t_6)) != 0);
  if (unlikely(__pyx_t_2)) {
    __pyx_t_7 = __pyx_cur_scope->__pyx_v_pDependencies;
    __Pyx_INCREF(__pyx_t_7);
    __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16007, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16007, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16007, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_kp_u_List_is_too_small, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16007, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_t_7, __pyx_kp_u__395); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16007, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16007, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16007, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16007, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16007, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(0, 16007, __pyx_L1_error)
  }

  /* "cuda/cudart.pyx":16008
 * 
 *     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, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cpNodeParams_ptr)
 *     if cpDependencies is not NULL:
 */
  __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_pNodeParams), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16008, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 16008, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {
    __pyx_t_10 = __pyx_v_pNodeParams->_ptr;
  } else {
    __pyx_t_10 = NULL;
  }
  __pyx_v_cpNodeParams_ptr = __pyx_t_10;

  /* "cuda/cudart.pyx":16009
 *     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, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <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_1 = __pyx_cur_scope->__pyx_v_pDependencies;
  __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, 16009, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (((__pyx_t_6 == 1) != 0)) {
    __pyx_t_1 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_pDependencies, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16009, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_11 = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t *)((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_1)->__pyx_base._ptr);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  } else {
    __pyx_t_11 = __pyx_v_cpDependencies;
  }
  __pyx_t_12 = __pyx_f_4cuda_7ccudart_cudaGraphAddKernelNode(((__pyx_t_4cuda_7ccudart_cudaGraphNode_t *)__pyx_v_pGraphNode->__pyx_base._ptr), ((__pyx_t_4cuda_7ccudart_cudaGraph_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraph_t *)__pyx_v_graph)->__pyx_base._ptr[0])), __pyx_t_11, __pyx_v_numDependencies, __pyx_v_cpNodeParams_ptr); if (unlikely(__pyx_t_12 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 16009, __pyx_L1_error)
  __pyx_v_err = __pyx_t_12;

  /* "cuda/cudart.pyx":16010
 *     cdef ccudart.cudaKernelNodeParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 *     err = ccudart.cudaGraphAddKernelNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <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_2 = ((__pyx_v_cpDependencies != NULL) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":16011
 *     err = ccudart.cudaGraphAddKernelNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <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":16010
 *     cdef ccudart.cudaKernelNodeParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 *     err = ccudart.cudaGraphAddKernelNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <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":16012
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)
 *     return (cudaError_t(err), pGraphNode)             # <<<<<<<<<<<<<<
 * 
 * @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, 16012, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16012, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_13 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_7);
    if (likely(__pyx_t_13)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_13);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_7, function);
    }
  }
  __pyx_t_1 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_13, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_3);
  __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16012, __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, 16012, __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_pGraphNode));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pGraphNode));
  PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_pGraphNode));
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":15897
 * 
 * @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_7);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddKernelNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __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":16015
 * 
 * @cython.embedsignature(True)
 * def cudaGraphKernelNodeGetParams(node):             # <<<<<<<<<<<<<<
 *     """ Returns a kernel node's parameters.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_363cudaGraphKernelNodeGetParams(PyObject *__pyx_self, PyObject *__pyx_v_node); /*proto*/
static char __pyx_doc_4cuda_6cudart_362cudaGraphKernelNodeGetParams[] = "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    cudaGraphKernelNodeSetParams to update the parameters of 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 : CUgraphNode or cudaGraphNode_t\n        Node to get the parameters for\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorInvalidDeviceFunction\n    pNodeParams : cudaKernelNodeParams\n        Pointer to return the parameters\n\n    See Also\n    --------\n    cudaLaunchKernel\n    cudaGraphAddKernelNode\n    cudaGraphKernelNodeSetParams\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_363cudaGraphKernelNodeGetParams = {"cudaGraphKernelNodeGetParams", (PyCFunction)__pyx_pw_4cuda_6cudart_363cudaGraphKernelNodeGetParams, METH_O, __pyx_doc_4cuda_6cudart_362cudaGraphKernelNodeGetParams};
static PyObject *__pyx_pw_4cuda_6cudart_363cudaGraphKernelNodeGetParams(PyObject *__pyx_self, PyObject *__pyx_v_node) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphKernelNodeGetParams (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_362cudaGraphKernelNodeGetParams(__pyx_self, ((PyObject *)__pyx_v_node));

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

static PyObject *__pyx_pf_4cuda_6cudart_362cudaGraphKernelNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node) {
  struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *__pyx_v_pNodeParams = 0;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__521)
  __Pyx_RefNannySetupContext("cudaGraphKernelNodeGetParams", 0);
  __Pyx_TraceCall("cudaGraphKernelNodeGetParams", __pyx_f[0], 16015, 0, __PYX_ERR(0, 16015, __pyx_L1_error));

  /* "cuda/cudart.pyx":16048
 *     cudaGraphKernelNodeSetParams
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef cudaKernelNodeParams pNodeParams = cudaKernelNodeParams()
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":16049
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))             # <<<<<<<<<<<<<<
 *     cdef cudaKernelNodeParams pNodeParams = cudaKernelNodeParams()
 *     err = ccudart.cudaGraphKernelNodeGetParams(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], pNodeParams._ptr)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_node))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16049, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_node_is_not_instance_of, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16049, __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, 16049, __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, 16049, __pyx_L1_error)

    /* "cuda/cudart.pyx":16048
 *     cudaGraphKernelNodeSetParams
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef cudaKernelNodeParams pNodeParams = cudaKernelNodeParams()
 */
  }

  /* "cuda/cudart.pyx":16050
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef cudaKernelNodeParams pNodeParams = cudaKernelNodeParams()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphKernelNodeGetParams(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], pNodeParams._ptr)
 *     return (cudaError_t(err), pNodeParams)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaKernelNodeParams)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16050, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pNodeParams = ((struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":16051
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef cudaKernelNodeParams pNodeParams = cudaKernelNodeParams()
 *     err = ccudart.cudaGraphKernelNodeGetParams(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], pNodeParams._ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pNodeParams)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaGraphKernelNodeGetParams(((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_v_node)->__pyx_base._ptr[0])), __pyx_v_pNodeParams->_ptr); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 16051, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":16052
 *     cdef cudaKernelNodeParams pNodeParams = cudaKernelNodeParams()
 *     err = ccudart.cudaGraphKernelNodeGetParams(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], pNodeParams._ptr)
 *     return (cudaError_t(err), pNodeParams)             # <<<<<<<<<<<<<<
 * 
 * @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, 16052, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16052, __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_4 = (__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_4)) __PYX_ERR(0, 16052, __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, 16052, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
  __Pyx_INCREF(((PyObject *)__pyx_v_pNodeParams));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pNodeParams));
  PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_pNodeParams));
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":16015
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphKernelNodeGetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_pNodeParams);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":16055
 * 
 * @cython.embedsignature(True)
 * def cudaGraphKernelNodeSetParams(node, pNodeParams : cudaKernelNodeParams):             # <<<<<<<<<<<<<<
 *     """ Sets a kernel node's parameters.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_365cudaGraphKernelNodeSetParams(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_364cudaGraphKernelNodeSetParams[] = "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 : CUgraphNode or cudaGraphNode_t\n        Node to set the parameters for\n    pNodeParams : cudaKernelNodeParams\n        Parameters to copy\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorInvalidResourceHandle\n        cudaErrorMemoryAllocation\n    None\n        None\n\n    See Also\n    --------\n    cudaLaunchKernel\n    cudaGraphAddKernelNode\n    cudaGraphKernelNodeGetParams\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_365cudaGraphKernelNodeSetParams = {"cudaGraphKernelNodeSetParams", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_365cudaGraphKernelNodeSetParams, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_364cudaGraphKernelNodeSetParams};
static PyObject *__pyx_pw_4cuda_6cudart_365cudaGraphKernelNodeSetParams(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, 16055, __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, 16055, __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, 16055, __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, 16055, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_364cudaGraphKernelNodeSetParams(__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_364cudaGraphKernelNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node, struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *__pyx_v_pNodeParams) {
  struct __pyx_t_4cuda_7ccudart_cudaKernelNodeParams *__pyx_v_cpNodeParams_ptr;
  __pyx_t_4cuda_7ccudart_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;
  struct __pyx_t_4cuda_7ccudart_cudaKernelNodeParams *__pyx_t_6;
  __pyx_t_4cuda_7ccudart_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__522)
  __Pyx_RefNannySetupContext("cudaGraphKernelNodeSetParams", 0);
  __Pyx_TraceCall("cudaGraphKernelNodeSetParams", __pyx_f[0], 16055, 0, __PYX_ERR(0, 16055, __pyx_L1_error));

  /* "cuda/cudart.pyx":16083
 *     cudaGraphKernelNodeGetParams
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef ccudart.cudaKernelNodeParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":16084
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaKernelNodeParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 *     err = ccudart.cudaGraphKernelNodeSetParams(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], cpNodeParams_ptr)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_node))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16084, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_node_is_not_instance_of, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16084, __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, 16084, __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, 16084, __pyx_L1_error)

    /* "cuda/cudart.pyx":16083
 *     cudaGraphKernelNodeGetParams
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef ccudart.cudaKernelNodeParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 */
  }

  /* "cuda/cudart.pyx":16085
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef ccudart.cudaKernelNodeParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphKernelNodeSetParams(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], 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, 16085, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 16085, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_2) {
    __pyx_t_6 = __pyx_v_pNodeParams->_ptr;
  } else {
    __pyx_t_6 = NULL;
  }
  __pyx_v_cpNodeParams_ptr = __pyx_t_6;

  /* "cuda/cudart.pyx":16086
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef ccudart.cudaKernelNodeParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 *     err = ccudart.cudaGraphKernelNodeSetParams(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], cpNodeParams_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaGraphKernelNodeSetParams(((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_v_node)->__pyx_base._ptr[0])), __pyx_v_cpNodeParams_ptr); if (unlikely(__pyx_t_7 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 16086, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":16087
 *     cdef ccudart.cudaKernelNodeParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 *     err = ccudart.cudaGraphKernelNodeSetParams(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], cpNodeParams_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, 16087, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_8 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16087, __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_4 = (__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_4)) __PYX_ERR(0, 16087, __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, 16087, __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":16055
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphKernelNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":16090
 * 
 * @cython.embedsignature(True)
 * def cudaGraphKernelNodeCopyAttributes(hSrc, hDst):             # <<<<<<<<<<<<<<
 *     """ Copies attributes from source node to destination node.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_367cudaGraphKernelNodeCopyAttributes(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_366cudaGraphKernelNodeCopyAttributes[] = "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 : Any\n        Destination node\n    src : Any\n        Source node For list of attributes see cudaKernelNodeAttrID\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidContext\n    None\n        None\n\n    See Also\n    --------\n    cudaAccessPolicyWindow\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_367cudaGraphKernelNodeCopyAttributes = {"cudaGraphKernelNodeCopyAttributes", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_367cudaGraphKernelNodeCopyAttributes, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_366cudaGraphKernelNodeCopyAttributes};
static PyObject *__pyx_pw_4cuda_6cudart_367cudaGraphKernelNodeCopyAttributes(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, 16090, __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, 16090, __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, 16090, __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_366cudaGraphKernelNodeCopyAttributes(__pyx_self, __pyx_v_hSrc, __pyx_v_hDst);

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

static PyObject *__pyx_pf_4cuda_6cudart_366cudaGraphKernelNodeCopyAttributes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hSrc, PyObject *__pyx_v_hDst) {
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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("cudaGraphKernelNodeCopyAttributes", 0);
  __Pyx_TraceCall("cudaGraphKernelNodeCopyAttributes", __pyx_f[0], 16090, 0, __PYX_ERR(0, 16090, __pyx_L1_error));

  /* "cuda/cudart.pyx":16115
 *     cudaAccessPolicyWindow
 *     """
 *     if not isinstance(hDst, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hDst' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hDst)))
 *     if not isinstance(hSrc, (cudaGraphNode_t, cuda.CUgraphNode)):
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_hDst, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_hDst, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":16116
 *     """
 *     if not isinstance(hDst, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'hDst' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hDst)))             # <<<<<<<<<<<<<<
 *     if not isinstance(hSrc, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'hSrc' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hSrc)))
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_hDst))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16116, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_hDst_is_not_instance_of, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16116, __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, 16116, __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, 16116, __pyx_L1_error)

    /* "cuda/cudart.pyx":16115
 *     cudaAccessPolicyWindow
 *     """
 *     if not isinstance(hDst, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hDst' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hDst)))
 *     if not isinstance(hSrc, (cudaGraphNode_t, cuda.CUgraphNode)):
 */
  }

  /* "cuda/cudart.pyx":16117
 *     if not isinstance(hDst, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'hDst' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hDst)))
 *     if not isinstance(hSrc, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hSrc' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hSrc)))
 *     err = ccudart.cudaGraphKernelNodeCopyAttributes(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>hSrc)._ptr[0], <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>hDst)._ptr[0])
 */
  __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)) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "cuda/cudart.pyx":16118
 *         raise TypeError("Argument 'hDst' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hDst)))
 *     if not isinstance(hSrc, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'hSrc' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hSrc)))             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphKernelNodeCopyAttributes(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>hSrc)._ptr[0], <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>hDst)._ptr[0])
 *     return (cudaError_t(err),)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_hSrc))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16118, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_hSrc_is_not_instance_of, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16118, __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, 16118, __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, 16118, __pyx_L1_error)

    /* "cuda/cudart.pyx":16117
 *     if not isinstance(hDst, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'hDst' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hDst)))
 *     if not isinstance(hSrc, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hSrc' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hSrc)))
 *     err = ccudart.cudaGraphKernelNodeCopyAttributes(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>hSrc)._ptr[0], <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>hDst)._ptr[0])
 */
  }

  /* "cuda/cudart.pyx":16119
 *     if not isinstance(hSrc, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'hSrc' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hSrc)))
 *     err = ccudart.cudaGraphKernelNodeCopyAttributes(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>hSrc)._ptr[0], <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>hDst)._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaGraphKernelNodeCopyAttributes(((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_v_hSrc)->__pyx_base._ptr[0])), ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_v_hDst)->__pyx_base._ptr[0]))); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 16119, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":16120
 *         raise TypeError("Argument 'hSrc' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hSrc)))
 *     err = ccudart.cudaGraphKernelNodeCopyAttributes(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>hSrc)._ptr[0], <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>hDst)._ptr[0])
 *     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, 16120, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16120, __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_4 = (__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_4)) __PYX_ERR(0, 16120, __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, 16120, __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":16090
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphKernelNodeCopyAttributes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":16123
 * 
 * @cython.embedsignature(True)
 * def cudaGraphKernelNodeGetAttribute(hNode, attr not None : cudaKernelNodeAttrID):             # <<<<<<<<<<<<<<
 *     """ Queries node attribute.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_369cudaGraphKernelNodeGetAttribute(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_368cudaGraphKernelNodeGetAttribute[] = "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 : CUgraphNode or cudaGraphNode_t\n\n    attr : cudaKernelNodeAttrID\n\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorInvalidResourceHandle\n    value_out : cudaKernelNodeAttrValue\n\n\n    See Also\n    --------\n    cudaAccessPolicyWindow\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_369cudaGraphKernelNodeGetAttribute = {"cudaGraphKernelNodeGetAttribute", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_369cudaGraphKernelNodeGetAttribute, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_368cudaGraphKernelNodeGetAttribute};
static PyObject *__pyx_pw_4cuda_6cudart_369cudaGraphKernelNodeGetAttribute(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, 16123, __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, 16123, __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, 16123, __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, 16123, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_368cudaGraphKernelNodeGetAttribute(__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_368cudaGraphKernelNodeGetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, PyObject *__pyx_v_attr) {
  enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID __pyx_v_cattr;
  struct __pyx_obj_4cuda_6cudart_cudaKernelNodeAttrValue *__pyx_v_value_out = 0;
  __pyx_t_4cuda_7ccudart_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;
  enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID __pyx_t_6;
  __pyx_t_4cuda_7ccudart_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__524)
  __Pyx_RefNannySetupContext("cudaGraphKernelNodeGetAttribute", 0);
  __Pyx_TraceCall("cudaGraphKernelNodeGetAttribute", __pyx_f[0], 16123, 0, __PYX_ERR(0, 16123, __pyx_L1_error));

  /* "cuda/cudart.pyx":16149
 *     cudaAccessPolicyWindow
 *     """
 *     if not isinstance(hNode, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hNode)))
 *     cdef ccudart.cudaKernelNodeAttrID cattr = attr.value
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":16150
 *     """
 *     if not isinstance(hNode, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hNode)))             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaKernelNodeAttrID cattr = attr.value
 *     cdef cudaKernelNodeAttrValue value_out = cudaKernelNodeAttrValue()
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_hNode))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16150, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_hNode_is_not_instance_o, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16150, __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, 16150, __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, 16150, __pyx_L1_error)

    /* "cuda/cudart.pyx":16149
 *     cudaAccessPolicyWindow
 *     """
 *     if not isinstance(hNode, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hNode)))
 *     cdef ccudart.cudaKernelNodeAttrID cattr = attr.value
 */
  }

  /* "cuda/cudart.pyx":16151
 *     if not isinstance(hNode, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hNode)))
 *     cdef ccudart.cudaKernelNodeAttrID cattr = attr.value             # <<<<<<<<<<<<<<
 *     cdef cudaKernelNodeAttrValue value_out = cudaKernelNodeAttrValue()
 *     err = ccudart.cudaGraphKernelNodeGetAttribute(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>hNode)._ptr[0], cattr, value_out._ptr)
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_n_s_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16151, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = ((enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 16151, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cattr = __pyx_t_6;

  /* "cuda/cudart.pyx":16152
 *         raise TypeError("Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hNode)))
 *     cdef ccudart.cudaKernelNodeAttrID cattr = attr.value
 *     cdef cudaKernelNodeAttrValue value_out = cudaKernelNodeAttrValue()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphKernelNodeGetAttribute(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>hNode)._ptr[0], cattr, value_out._ptr)
 *     return (cudaError_t(err), value_out)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaKernelNodeAttrValue)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16152, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_value_out = ((struct __pyx_obj_4cuda_6cudart_cudaKernelNodeAttrValue *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":16153
 *     cdef ccudart.cudaKernelNodeAttrID cattr = attr.value
 *     cdef cudaKernelNodeAttrValue value_out = cudaKernelNodeAttrValue()
 *     err = ccudart.cudaGraphKernelNodeGetAttribute(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>hNode)._ptr[0], cattr, value_out._ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), value_out)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaGraphKernelNodeGetAttribute(((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_v_hNode)->__pyx_base._ptr[0])), __pyx_v_cattr, __pyx_v_value_out->_ptr); if (unlikely(__pyx_t_7 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 16153, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":16154
 *     cdef cudaKernelNodeAttrValue value_out = cudaKernelNodeAttrValue()
 *     err = ccudart.cudaGraphKernelNodeGetAttribute(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>hNode)._ptr[0], cattr, value_out._ptr)
 *     return (cudaError_t(err), value_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, 16154, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_8 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16154, __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_4 = (__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_4)) __PYX_ERR(0, 16154, __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, 16154, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
  __Pyx_INCREF(((PyObject *)__pyx_v_value_out));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_value_out));
  PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_value_out));
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":16123
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphKernelNodeGetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_value_out);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":16157
 * 
 * @cython.embedsignature(True)
 * def cudaGraphKernelNodeSetAttribute(hNode, attr not None : cudaKernelNodeAttrID, value : cudaKernelNodeAttrValue):             # <<<<<<<<<<<<<<
 *     """ Sets node attribute.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_371cudaGraphKernelNodeSetAttribute(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_370cudaGraphKernelNodeSetAttribute[] = "cudaGraphKernelNodeSetAttribute(hNode, attr: cudaKernelNodeAttrID, cudaKernelNodeAttrValue value: cudaKernelNodeAttrValue)\n Sets node attribute.\n\n    Sets attribute `attr` on node `hNode` from corresponding attribute of\n    `value`.\n\n    Parameters\n    ----------\n    hNode : CUgraphNode or cudaGraphNode_t\n\n    attr : cudaKernelNodeAttrID\n\n    value : cudaKernelNodeAttrValue\n\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorInvalidResourceHandle\n    None\n        None\n\n    See Also\n    --------\n    cudaAccessPolicyWindow\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_371cudaGraphKernelNodeSetAttribute = {"cudaGraphKernelNodeSetAttribute", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_371cudaGraphKernelNodeSetAttribute, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_370cudaGraphKernelNodeSetAttribute};
static PyObject *__pyx_pw_4cuda_6cudart_371cudaGraphKernelNodeSetAttribute(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_hNode = 0;
  PyObject *__pyx_v_attr = 0;
  struct __pyx_obj_4cuda_6cudart_cudaKernelNodeAttrValue *__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, 16157, __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, 16157, __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, 16157, __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_cudaKernelNodeAttrValue *)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, 16157, __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, 16157, __pyx_L1_error)
  }
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_4cuda_6cudart_cudaKernelNodeAttrValue, 1, "value", 0))) __PYX_ERR(0, 16157, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_370cudaGraphKernelNodeSetAttribute(__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_370cudaGraphKernelNodeSetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, PyObject *__pyx_v_attr, struct __pyx_obj_4cuda_6cudart_cudaKernelNodeAttrValue *__pyx_v_value) {
  enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID __pyx_v_cattr;
  union __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrValue *__pyx_v_cvalue_ptr;
  __pyx_t_4cuda_7ccudart_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;
  enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID __pyx_t_6;
  union __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrValue *__pyx_t_7;
  __pyx_t_4cuda_7ccudart_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__525)
  __Pyx_RefNannySetupContext("cudaGraphKernelNodeSetAttribute", 0);
  __Pyx_TraceCall("cudaGraphKernelNodeSetAttribute", __pyx_f[0], 16157, 0, __PYX_ERR(0, 16157, __pyx_L1_error));

  /* "cuda/cudart.pyx":16185
 *     cudaAccessPolicyWindow
 *     """
 *     if not isinstance(hNode, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hNode)))
 *     cdef ccudart.cudaKernelNodeAttrID cattr = attr.value
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":16186
 *     """
 *     if not isinstance(hNode, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hNode)))             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaKernelNodeAttrID cattr = attr.value
 *     cdef ccudart.cudaKernelNodeAttrValue* cvalue_ptr = value._ptr if value != None else NULL
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_hNode))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16186, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_hNode_is_not_instance_o, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16186, __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, 16186, __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, 16186, __pyx_L1_error)

    /* "cuda/cudart.pyx":16185
 *     cudaAccessPolicyWindow
 *     """
 *     if not isinstance(hNode, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hNode)))
 *     cdef ccudart.cudaKernelNodeAttrID cattr = attr.value
 */
  }

  /* "cuda/cudart.pyx":16187
 *     if not isinstance(hNode, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hNode)))
 *     cdef ccudart.cudaKernelNodeAttrID cattr = attr.value             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaKernelNodeAttrValue* cvalue_ptr = value._ptr if value != None else NULL
 *     err = ccudart.cudaGraphKernelNodeSetAttribute(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>hNode)._ptr[0], cattr, cvalue_ptr)
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_n_s_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16187, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = ((enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 16187, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cattr = __pyx_t_6;

  /* "cuda/cudart.pyx":16188
 *         raise TypeError("Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hNode)))
 *     cdef ccudart.cudaKernelNodeAttrID cattr = attr.value
 *     cdef ccudart.cudaKernelNodeAttrValue* cvalue_ptr = value._ptr if value != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphKernelNodeSetAttribute(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>hNode)._ptr[0], cattr, cvalue_ptr)
 *     return (cudaError_t(err),)
 */
  __pyx_t_4 = PyObject_RichCompare(((PyObject *)__pyx_v_value), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16188, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 16188, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_2) {
    __pyx_t_7 = __pyx_v_value->_ptr;
  } else {
    __pyx_t_7 = NULL;
  }
  __pyx_v_cvalue_ptr = __pyx_t_7;

  /* "cuda/cudart.pyx":16189
 *     cdef ccudart.cudaKernelNodeAttrID cattr = attr.value
 *     cdef ccudart.cudaKernelNodeAttrValue* cvalue_ptr = value._ptr if value != None else NULL
 *     err = ccudart.cudaGraphKernelNodeSetAttribute(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>hNode)._ptr[0], cattr, cvalue_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_8 = __pyx_f_4cuda_7ccudart_cudaGraphKernelNodeSetAttribute(((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_v_hNode)->__pyx_base._ptr[0])), __pyx_v_cattr, __pyx_v_cvalue_ptr); if (unlikely(__pyx_t_8 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 16189, __pyx_L1_error)
  __pyx_v_err = __pyx_t_8;

  /* "cuda/cudart.pyx":16190
 *     cdef ccudart.cudaKernelNodeAttrValue* cvalue_ptr = value._ptr if value != None else NULL
 *     err = ccudart.cudaGraphKernelNodeSetAttribute(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>hNode)._ptr[0], cattr, cvalue_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, 16190, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_9 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 16190, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __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_9) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __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, 16190, __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, 16190, __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":16157
 * 
 * @cython.embedsignature(True)
 * def cudaGraphKernelNodeSetAttribute(hNode, attr not None : cudaKernelNodeAttrID, value : cudaKernelNodeAttrValue):             # <<<<<<<<<<<<<<
 *     """ Sets node attribute.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphKernelNodeSetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":16193
 * 
 * @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_373cudaGraphAddMemcpyNode(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_372cudaGraphAddMemcpyNode[] = "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 cudaMemcpy3D() for a description of the structure\n    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 cudaDevAttrConcurrentManagedAccess.\n\n    Parameters\n    ----------\n    graph : CUgraph or cudaGraph_t\n        Graph to which to add the node\n    pDependencies : List[cudaGraphNode_t]\n        Dependencies of the node\n    numDependencies : size_t\n        Number of dependencies\n    pCopyParams : cudaMemcpy3DParms\n        Parameters for the memory copy\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    pGraphNode : cudaGraphNode_t\n        Returns newly created node\n\n    See Also\n    --------\n    cudaMemcpy3D\n    cudaGraphAddMemcpyNodeToSymbol\n    cudaGraphAddMemcpyNodeFromSymbol\n    cudaGraphAddMemcpyNode1D\n    cudaGraphMemcpyNodeGetParams\n    cudaGraphMemcpyNodeSetParams\n    cudaGraphCreate\n    cudaGraphDestroyNode\n    cudaGraphAddChildGraphNode\n    cudaGraphAddEmptyNode\n    cudaGraphAddKernelNode\n    cudaGraphAddHostNode\n    cudaGraphAddMemsetNode\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_373cudaGraphAddMemcpyNode = {"cudaGraphAddMemcpyNode", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_373cudaGraphAddMemcpyNode, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_372cudaGraphAddMemcpyNode};
static PyObject *__pyx_pw_4cuda_6cudart_373cudaGraphAddMemcpyNode(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, 16193, __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, 16193, __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, 16193, __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, 16193, __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, 16193, __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, 16193, __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, 16193, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_372cudaGraphAddMemcpyNode(__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":16246
 *     """
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */

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, 16246, __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, 16246, __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], 16246, 0, __PYX_ERR(0, 16246, __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, 16246, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies)) { __Pyx_RaiseClosureNameError("pDependencies"); __PYX_ERR(0, 16246, __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, 16246, __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, 16246, __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, 16246, __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, 16246, __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, 16246, __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, 16246, __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, 16246, __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":16193
 * 
 * @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_372cudaGraphAddMemcpyNode(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;
  struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *__pyx_v_pGraphNode = 0;
  __pyx_t_4cuda_7ccudart_cudaGraphNode_t *__pyx_v_cpDependencies;
  Py_ssize_t __pyx_v_idx;
  struct __pyx_t_4cuda_7ccudart_cudaMemcpy3DParms *__pyx_v_cpCopyParams_ptr;
  __pyx_t_4cuda_7ccudart_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;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  struct __pyx_t_4cuda_7ccudart_cudaMemcpy3DParms *__pyx_t_10;
  __pyx_t_4cuda_7ccudart_cudaGraphNode_t *__pyx_t_11;
  __pyx_t_4cuda_7ccudart_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__526)
  __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, 16193, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __Pyx_TraceCall("cudaGraphAddMemcpyNode", __pyx_f[0], 16193, 0, __PYX_ERR(0, 16193, __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":16245
 *     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, 16245, __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":16246
 *     """
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */
  __pyx_t_1 = __pyx_pf_4cuda_6cudart_22cudaGraphAddMemcpyNode_genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16246, __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, 16246, __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, 16246, __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":16247
 *     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]")             # <<<<<<<<<<<<<<
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__520, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16247, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 16247, __pyx_L1_error)

    /* "cuda/cudart.pyx":16246
 *     """
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */
  }

  /* "cuda/cudart.pyx":16248
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 */
  __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_L5_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_L5_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_4 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":16249
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))             # <<<<<<<<<<<<<<
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 */
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_graph))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16249, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_graph_is_not_instance_o, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16249, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16249, __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, 16249, __pyx_L1_error)

    /* "cuda/cudart.pyx":16248
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 */
  }

  /* "cuda/cudart.pyx":16250
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:
 */
  __pyx_t_3 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16250, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_v_pGraphNode = ((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":16251
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     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":16252
 *     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_3 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_6 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16252, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_2 = ((__pyx_t_6 > 0) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":16253
 *     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_3 = __pyx_cur_scope->__pyx_v_pDependencies;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_6 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16253, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_cpDependencies = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t *)calloc(__pyx_t_6, (sizeof(__pyx_t_4cuda_7ccudart_cudaGraphNode_t))));

    /* "cuda/cudart.pyx":16254
 *     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":16255
 *         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_3 = __pyx_cur_scope->__pyx_v_pDependencies;
      __Pyx_INCREF(__pyx_t_3);
      __pyx_t_6 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16255, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16255, __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, 16255, __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_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16255, __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, 16255, __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(__pyx_t_4cuda_7ccudart_cudaGraphNode_t))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16255, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16255, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16255, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16255, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(0, 16255, __pyx_L1_error)

      /* "cuda/cudart.pyx":16254
 *     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":16257
 *             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_7 = __pyx_cur_scope->__pyx_v_pDependencies;
      __Pyx_INCREF(__pyx_t_7);
      __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16257, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_8 = __pyx_t_6;
      for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
        __pyx_v_idx = __pyx_t_9;

        /* "cuda/cudart.pyx":16258
 *         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_7 = __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_7)) __PYX_ERR(0, 16258, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        (__pyx_v_cpDependencies[__pyx_v_idx]) = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_7)->__pyx_base._ptr[0]));
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }

    /* "cuda/cudart.pyx":16252
 *     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":16260
 *                 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, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cpCopyParams_ptr)
 */
  __pyx_t_7 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_7);
  __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16260, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_2 = ((__pyx_v_numDependencies > ((size_t)__pyx_t_6)) != 0);
  if (unlikely(__pyx_t_2)) {
    __pyx_t_7 = __pyx_cur_scope->__pyx_v_pDependencies;
    __Pyx_INCREF(__pyx_t_7);
    __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16260, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16260, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16260, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_kp_u_List_is_too_small, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16260, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_t_7, __pyx_kp_u__395); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16260, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16260, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16260, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16260, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16260, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(0, 16260, __pyx_L1_error)
  }

  /* "cuda/cudart.pyx":16261
 * 
 *     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, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cpCopyParams_ptr)
 *     if cpDependencies is not NULL:
 */
  __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_pCopyParams), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16261, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 16261, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {
    __pyx_t_10 = __pyx_v_pCopyParams->_ptr;
  } else {
    __pyx_t_10 = NULL;
  }
  __pyx_v_cpCopyParams_ptr = __pyx_t_10;

  /* "cuda/cudart.pyx":16262
 *     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, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <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_1 = __pyx_cur_scope->__pyx_v_pDependencies;
  __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, 16262, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (((__pyx_t_6 == 1) != 0)) {
    __pyx_t_1 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_pDependencies, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16262, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_11 = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t *)((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_1)->__pyx_base._ptr);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  } else {
    __pyx_t_11 = __pyx_v_cpDependencies;
  }
  __pyx_t_12 = __pyx_f_4cuda_7ccudart_cudaGraphAddMemcpyNode(((__pyx_t_4cuda_7ccudart_cudaGraphNode_t *)__pyx_v_pGraphNode->__pyx_base._ptr), ((__pyx_t_4cuda_7ccudart_cudaGraph_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraph_t *)__pyx_v_graph)->__pyx_base._ptr[0])), __pyx_t_11, __pyx_v_numDependencies, __pyx_v_cpCopyParams_ptr); if (unlikely(__pyx_t_12 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 16262, __pyx_L1_error)
  __pyx_v_err = __pyx_t_12;

  /* "cuda/cudart.pyx":16263
 *     cdef ccudart.cudaMemcpy3DParms* cpCopyParams_ptr = pCopyParams._ptr if pCopyParams != None else NULL
 *     err = ccudart.cudaGraphAddMemcpyNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <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_2 = ((__pyx_v_cpDependencies != NULL) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":16264
 *     err = ccudart.cudaGraphAddMemcpyNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <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":16263
 *     cdef ccudart.cudaMemcpy3DParms* cpCopyParams_ptr = pCopyParams._ptr if pCopyParams != None else NULL
 *     err = ccudart.cudaGraphAddMemcpyNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <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":16265
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)
 *     return (cudaError_t(err), pGraphNode)             # <<<<<<<<<<<<<<
 * 
 * @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, 16265, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16265, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_13 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_7);
    if (likely(__pyx_t_13)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_13);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_7, function);
    }
  }
  __pyx_t_1 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_13, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_3);
  __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16265, __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, 16265, __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_pGraphNode));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pGraphNode));
  PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_pGraphNode));
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":16193
 * 
 * @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_7);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddMemcpyNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __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":16268
 * 
 * @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_375cudaGraphAddMemcpyNode1D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_374cudaGraphAddMemcpyNode1D[] = "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    cudaMemcpyHostToHost, cudaMemcpyHostToDevice, cudaMemcpyDeviceToHost,\n    cudaMemcpyDeviceToDevice, or cudaMemcpyDefault. Passing\n    cudaMemcpyDefault is recommended, in which case the type of transfer is\n    inferred from the pointer values. However, cudaMemcpyDefault is only\n    allowed on systems that support unified virtual addressing. Launching a\n    memcpy node with dst and src pointers that do not match the direction\n    of the copy results in an 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 cudaDevAttrConcurrentManagedAccess.\n\n    Parameters\n    ----------\n    graph : CUgraph or cudaGraph_t\n        Graph to which to add the node\n    pDependencies : List[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 : cudaMemcpyKind\n        Type of transfer\n\n    Returns\n    -------\n    cudaError_t""\n        cudaSuccess\n        cudaErrorInvalidValue\n    pGraphNode : cudaGraphNode_t\n        Returns newly created node\n\n    See Also\n    --------\n    cudaMemcpy\n    cudaGraphAddMemcpyNode\n    cudaGraphMemcpyNodeGetParams\n    cudaGraphMemcpyNodeSetParams\n    cudaGraphMemcpyNodeSetParams1D\n    cudaGraphCreate\n    cudaGraphDestroyNode\n    cudaGraphAddChildGraphNode\n    cudaGraphAddEmptyNode\n    cudaGraphAddKernelNode\n    cudaGraphAddHostNode\n    cudaGraphAddMemsetNode\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_375cudaGraphAddMemcpyNode1D = {"cudaGraphAddMemcpyNode1D", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_375cudaGraphAddMemcpyNode1D, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_374cudaGraphAddMemcpyNode1D};
static PyObject *__pyx_pw_4cuda_6cudart_375cudaGraphAddMemcpyNode1D(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, 16268, __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, 16268, __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, 16268, __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, 16268, __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, 16268, __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, 16268, __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, 16268, __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, 16268, __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, 16268, __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, 16268, __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, 16268, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_374cudaGraphAddMemcpyNode1D(__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":16334
 *     """
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */

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, 16334, __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, 16334, __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], 16334, 0, __PYX_ERR(0, 16334, __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, 16334, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies)) { __Pyx_RaiseClosureNameError("pDependencies"); __PYX_ERR(0, 16334, __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, 16334, __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, 16334, __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, 16334, __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, 16334, __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, 16334, __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, 16334, __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, 16334, __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":16268
 * 
 * @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_374cudaGraphAddMemcpyNode1D(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;
  struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *__pyx_v_pGraphNode = 0;
  __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemcpyKind __pyx_v_ckind;
  __pyx_t_4cuda_7ccudart_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;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_10;
  enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind __pyx_t_11;
  __pyx_t_4cuda_7ccudart_cudaGraphNode_t *__pyx_t_12;
  __pyx_t_4cuda_7ccudart_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__527)
  __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, 16268, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __Pyx_TraceCall("cudaGraphAddMemcpyNode1D", __pyx_f[0], 16268, 0, __PYX_ERR(0, 16268, __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":16333
 *     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, 16333, __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":16334
 *     """
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */
  __pyx_t_1 = __pyx_pf_4cuda_6cudart_24cudaGraphAddMemcpyNode1D_genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16334, __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, 16334, __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, 16334, __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":16335
 *     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]")             # <<<<<<<<<<<<<<
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__520, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16335, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 16335, __pyx_L1_error)

    /* "cuda/cudart.pyx":16334
 *     """
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */
  }

  /* "cuda/cudart.pyx":16336
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 */
  __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_L5_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_L5_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_4 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":16337
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))             # <<<<<<<<<<<<<<
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 */
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_graph))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16337, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_graph_is_not_instance_o, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16337, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16337, __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, 16337, __pyx_L1_error)

    /* "cuda/cudart.pyx":16336
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 */
  }

  /* "cuda/cudart.pyx":16338
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:
 */
  __pyx_t_3 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16338, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_v_pGraphNode = ((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":16339
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     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":16340
 *     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_3 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_6 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16340, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_2 = ((__pyx_t_6 > 0) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":16341
 *     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_3 = __pyx_cur_scope->__pyx_v_pDependencies;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_6 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16341, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_cpDependencies = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t *)calloc(__pyx_t_6, (sizeof(__pyx_t_4cuda_7ccudart_cudaGraphNode_t))));

    /* "cuda/cudart.pyx":16342
 *     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":16343
 *         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_3 = __pyx_cur_scope->__pyx_v_pDependencies;
      __Pyx_INCREF(__pyx_t_3);
      __pyx_t_6 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16343, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16343, __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, 16343, __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_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16343, __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, 16343, __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(__pyx_t_4cuda_7ccudart_cudaGraphNode_t))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16343, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16343, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16343, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16343, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(0, 16343, __pyx_L1_error)

      /* "cuda/cudart.pyx":16342
 *     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":16345
 *             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_7 = __pyx_cur_scope->__pyx_v_pDependencies;
      __Pyx_INCREF(__pyx_t_7);
      __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16345, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_8 = __pyx_t_6;
      for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
        __pyx_v_idx = __pyx_t_9;

        /* "cuda/cudart.pyx":16346
 *         else:
 *             for idx in range(len(pDependencies)):
 *                 cpDependencies[idx] = <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>pDependencies[idx])._ptr[0]             # <<<<<<<<<<<<<<
 * 
 *     cdst = utils.HelperInputVoidPtr(dst)
 */
        __pyx_t_7 = __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_7)) __PYX_ERR(0, 16346, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        (__pyx_v_cpDependencies[__pyx_v_idx]) = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_7)->__pyx_base._ptr[0]));
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }

    /* "cuda/cudart.pyx":16340
 *     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":16348
 *                 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_7 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_dst); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16348, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_v_cdst = __pyx_t_7;
  __pyx_t_7 = 0;

  /* "cuda/cudart.pyx":16349
 * 
 *     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_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_cdst, __pyx_n_s_cptr); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16349, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_10 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_7); if (unlikely((__pyx_t_10 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16349, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_v_cdst_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_10));

  /* "cuda/cudart.pyx":16350
 *     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_7 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_src); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16350, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_v_csrc = __pyx_t_7;
  __pyx_t_7 = 0;

  /* "cuda/cudart.pyx":16351
 *     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, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cdst_ptr, csrc_ptr, count, ckind)
 */
  __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_csrc, __pyx_n_s_cptr); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16351, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_10 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_7); if (unlikely((__pyx_t_10 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16351, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_v_csrc_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_10));

  /* "cuda/cudart.pyx":16352
 *     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, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <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_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_kind, __pyx_n_s_value); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16352, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_11 = ((enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaMemcpyKind(__pyx_t_7)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 16352, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_v_ckind = __pyx_t_11;

  /* "cuda/cudart.pyx":16353
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     err = ccudart.cudaGraphAddMemcpyNode1D(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <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_7 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_7);
  __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16353, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (((__pyx_t_6 == 1) != 0)) {
    __pyx_t_7 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_pDependencies, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16353, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_12 = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t *)((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_7)->__pyx_base._ptr);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  } else {
    __pyx_t_12 = __pyx_v_cpDependencies;
  }
  __pyx_t_13 = __pyx_f_4cuda_7ccudart_cudaGraphAddMemcpyNode1D(((__pyx_t_4cuda_7ccudart_cudaGraphNode_t *)__pyx_v_pGraphNode->__pyx_base._ptr), ((__pyx_t_4cuda_7ccudart_cudaGraph_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraph_t *)__pyx_v_graph)->__pyx_base._ptr[0])), __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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 16353, __pyx_L1_error)
  __pyx_v_err = __pyx_t_13;

  /* "cuda/cudart.pyx":16354
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     err = ccudart.cudaGraphAddMemcpyNode1D(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <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_2 = ((__pyx_v_cpDependencies != NULL) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":16355
 *     err = ccudart.cudaGraphAddMemcpyNode1D(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <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":16354
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     err = ccudart.cudaGraphAddMemcpyNode1D(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <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":16356
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)
 *     return (cudaError_t(err), pGraphNode)             # <<<<<<<<<<<<<<
 * 
 * @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, 16356, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16356, __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_7 = (__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_7)) __PYX_ERR(0, 16356, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16356, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_7);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_7);
  __Pyx_INCREF(((PyObject *)__pyx_v_pGraphNode));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pGraphNode));
  PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_pGraphNode));
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":16268
 * 
 * @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_7);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddMemcpyNode1D", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __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":16359
 * 
 * @cython.embedsignature(True)
 * def cudaGraphMemcpyNodeGetParams(node):             # <<<<<<<<<<<<<<
 *     """ Returns a memcpy node's parameters.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_377cudaGraphMemcpyNodeGetParams(PyObject *__pyx_self, PyObject *__pyx_v_node); /*proto*/
static char __pyx_doc_4cuda_6cudart_376cudaGraphMemcpyNodeGetParams[] = "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 : CUgraphNode or cudaGraphNode_t\n        Node to get the parameters for\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    pNodeParams : cudaMemcpy3DParms\n        Pointer to return the parameters\n\n    See Also\n    --------\n    cudaMemcpy3D\n    cudaGraphAddMemcpyNode\n    cudaGraphMemcpyNodeSetParams\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_377cudaGraphMemcpyNodeGetParams = {"cudaGraphMemcpyNodeGetParams", (PyCFunction)__pyx_pw_4cuda_6cudart_377cudaGraphMemcpyNodeGetParams, METH_O, __pyx_doc_4cuda_6cudart_376cudaGraphMemcpyNodeGetParams};
static PyObject *__pyx_pw_4cuda_6cudart_377cudaGraphMemcpyNodeGetParams(PyObject *__pyx_self, PyObject *__pyx_v_node) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphMemcpyNodeGetParams (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_376cudaGraphMemcpyNodeGetParams(__pyx_self, ((PyObject *)__pyx_v_node));

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

static PyObject *__pyx_pf_4cuda_6cudart_376cudaGraphMemcpyNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node) {
  struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_pNodeParams = 0;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__528)
  __Pyx_RefNannySetupContext("cudaGraphMemcpyNodeGetParams", 0);
  __Pyx_TraceCall("cudaGraphMemcpyNodeGetParams", __pyx_f[0], 16359, 0, __PYX_ERR(0, 16359, __pyx_L1_error));

  /* "cuda/cudart.pyx":16383
 *     cudaGraphMemcpyNodeSetParams
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef cudaMemcpy3DParms pNodeParams = cudaMemcpy3DParms()
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":16384
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))             # <<<<<<<<<<<<<<
 *     cdef cudaMemcpy3DParms pNodeParams = cudaMemcpy3DParms()
 *     err = ccudart.cudaGraphMemcpyNodeGetParams(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], pNodeParams._ptr)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_node))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16384, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_node_is_not_instance_of, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16384, __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, 16384, __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, 16384, __pyx_L1_error)

    /* "cuda/cudart.pyx":16383
 *     cudaGraphMemcpyNodeSetParams
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef cudaMemcpy3DParms pNodeParams = cudaMemcpy3DParms()
 */
  }

  /* "cuda/cudart.pyx":16385
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef cudaMemcpy3DParms pNodeParams = cudaMemcpy3DParms()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphMemcpyNodeGetParams(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], pNodeParams._ptr)
 *     return (cudaError_t(err), pNodeParams)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMemcpy3DParms)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16385, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pNodeParams = ((struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":16386
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef cudaMemcpy3DParms pNodeParams = cudaMemcpy3DParms()
 *     err = ccudart.cudaGraphMemcpyNodeGetParams(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], pNodeParams._ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pNodeParams)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaGraphMemcpyNodeGetParams(((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_v_node)->__pyx_base._ptr[0])), __pyx_v_pNodeParams->_ptr); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 16386, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":16387
 *     cdef cudaMemcpy3DParms pNodeParams = cudaMemcpy3DParms()
 *     err = ccudart.cudaGraphMemcpyNodeGetParams(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], pNodeParams._ptr)
 *     return (cudaError_t(err), pNodeParams)             # <<<<<<<<<<<<<<
 * 
 * @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, 16387, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16387, __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_4 = (__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_4)) __PYX_ERR(0, 16387, __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, 16387, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
  __Pyx_INCREF(((PyObject *)__pyx_v_pNodeParams));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pNodeParams));
  PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_pNodeParams));
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":16359
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphMemcpyNodeGetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_pNodeParams);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":16390
 * 
 * @cython.embedsignature(True)
 * def cudaGraphMemcpyNodeSetParams(node, pNodeParams : cudaMemcpy3DParms):             # <<<<<<<<<<<<<<
 *     """ Sets a memcpy node's parameters.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_379cudaGraphMemcpyNodeSetParams(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_378cudaGraphMemcpyNodeSetParams[] = "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 : CUgraphNode or cudaGraphNode_t\n        Node to set the parameters for\n    pNodeParams : cudaMemcpy3DParms\n        Parameters to copy\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    None\n        None\n\n    See Also\n    --------\n    cudaMemcpy3D\n    cudaGraphMemcpyNodeSetParamsToSymbol\n    cudaGraphMemcpyNodeSetParamsFromSymbol\n    cudaGraphMemcpyNodeSetParams1D\n    cudaGraphAddMemcpyNode\n    cudaGraphMemcpyNodeGetParams\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_379cudaGraphMemcpyNodeSetParams = {"cudaGraphMemcpyNodeSetParams", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_379cudaGraphMemcpyNodeSetParams, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_378cudaGraphMemcpyNodeSetParams};
static PyObject *__pyx_pw_4cuda_6cudart_379cudaGraphMemcpyNodeSetParams(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, 16390, __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, 16390, __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, 16390, __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, 16390, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_378cudaGraphMemcpyNodeSetParams(__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_378cudaGraphMemcpyNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node, struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_pNodeParams) {
  struct __pyx_t_4cuda_7ccudart_cudaMemcpy3DParms *__pyx_v_cpNodeParams_ptr;
  __pyx_t_4cuda_7ccudart_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;
  struct __pyx_t_4cuda_7ccudart_cudaMemcpy3DParms *__pyx_t_6;
  __pyx_t_4cuda_7ccudart_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__529)
  __Pyx_RefNannySetupContext("cudaGraphMemcpyNodeSetParams", 0);
  __Pyx_TraceCall("cudaGraphMemcpyNodeSetParams", __pyx_f[0], 16390, 0, __PYX_ERR(0, 16390, __pyx_L1_error));

  /* "cuda/cudart.pyx":16419
 *     cudaGraphMemcpyNodeGetParams
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef ccudart.cudaMemcpy3DParms* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":16420
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaMemcpy3DParms* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 *     err = ccudart.cudaGraphMemcpyNodeSetParams(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], cpNodeParams_ptr)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_node))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16420, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_node_is_not_instance_of, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16420, __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, 16420, __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, 16420, __pyx_L1_error)

    /* "cuda/cudart.pyx":16419
 *     cudaGraphMemcpyNodeGetParams
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef ccudart.cudaMemcpy3DParms* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 */
  }

  /* "cuda/cudart.pyx":16421
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef ccudart.cudaMemcpy3DParms* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphMemcpyNodeSetParams(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], 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, 16421, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 16421, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_2) {
    __pyx_t_6 = __pyx_v_pNodeParams->_ptr;
  } else {
    __pyx_t_6 = NULL;
  }
  __pyx_v_cpNodeParams_ptr = __pyx_t_6;

  /* "cuda/cudart.pyx":16422
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef ccudart.cudaMemcpy3DParms* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 *     err = ccudart.cudaGraphMemcpyNodeSetParams(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], cpNodeParams_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaGraphMemcpyNodeSetParams(((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_v_node)->__pyx_base._ptr[0])), __pyx_v_cpNodeParams_ptr); if (unlikely(__pyx_t_7 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 16422, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":16423
 *     cdef ccudart.cudaMemcpy3DParms* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 *     err = ccudart.cudaGraphMemcpyNodeSetParams(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], cpNodeParams_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, 16423, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_8 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16423, __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_4 = (__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_4)) __PYX_ERR(0, 16423, __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, 16423, __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":16390
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphMemcpyNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":16426
 * 
 * @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_381cudaGraphMemcpyNodeSetParams1D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_380cudaGraphMemcpyNodeSetParams1D[] = "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    cudaMemcpyHostToHost, cudaMemcpyHostToDevice, cudaMemcpyDeviceToHost,\n    cudaMemcpyDeviceToDevice, or cudaMemcpyDefault. Passing\n    cudaMemcpyDefault is recommended, in which case the type of transfer is\n    inferred from the pointer values. However, cudaMemcpyDefault is only\n    allowed on systems that support unified virtual addressing. Launching a\n    memcpy node with dst and src pointers that do not match the direction\n    of the copy results in an undefined behavior.\n\n    Parameters\n    ----------\n    node : CUgraphNode or 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 : cudaMemcpyKind\n        Type of transfer\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    None\n        None\n\n    See Also\n    --------\n    cudaMemcpy\n    cudaGraphMemcpyNodeSetParams\n    cudaGraphAddMemcpyNode\n    cudaGraphMemcpyNodeGetParams\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_381cudaGraphMemcpyNodeSetParams1D = {"cudaGraphMemcpyNodeSetParams1D", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_381cudaGraphMemcpyNodeSetParams1D, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_380cudaGraphMemcpyNodeSetParams1D};
static PyObject *__pyx_pw_4cuda_6cudart_381cudaGraphMemcpyNodeSetParams1D(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, 16426, __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, 16426, __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, 16426, __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, 16426, __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, 16426, __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, 16426, __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, 16426, __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, 16426, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_380cudaGraphMemcpyNodeSetParams1D(__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_380cudaGraphMemcpyNodeSetParams1D(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) {
  PyObject *__pyx_v_cdst = NULL;
  void *__pyx_v_cdst_ptr;
  PyObject *__pyx_v_csrc = NULL;
  void *__pyx_v_csrc_ptr;
  enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind __pyx_v_ckind;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_6;
  enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind __pyx_t_7;
  __pyx_t_4cuda_7ccudart_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__530)
  __Pyx_RefNannySetupContext("cudaGraphMemcpyNodeSetParams1D", 0);
  __Pyx_TraceCall("cudaGraphMemcpyNodeSetParams1D", __pyx_f[0], 16426, 0, __PYX_ERR(0, 16426, __pyx_L1_error));

  /* "cuda/cudart.pyx":16471
 *     cudaGraphMemcpyNodeGetParams
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdst = utils.HelperInputVoidPtr(dst)
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":16472
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))             # <<<<<<<<<<<<<<
 *     cdst = utils.HelperInputVoidPtr(dst)
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_node))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16472, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_node_is_not_instance_of, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16472, __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, 16472, __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, 16472, __pyx_L1_error)

    /* "cuda/cudart.pyx":16471
 *     cudaGraphMemcpyNodeGetParams
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdst = utils.HelperInputVoidPtr(dst)
 */
  }

  /* "cuda/cudart.pyx":16473
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     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, 16473, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_cdst = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":16474
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     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, 16474, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16474, __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_6));

  /* "cuda/cudart.pyx":16475
 *     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, 16475, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_csrc = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":16476
 *     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(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], 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, 16476, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 16476, __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_6));

  /* "cuda/cudart.pyx":16477
 *     csrc = utils.HelperInputVoidPtr(src)
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphMemcpyNodeSetParams1D(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], 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, 16477, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = ((enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaMemcpyKind(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 16477, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_ckind = __pyx_t_7;

  /* "cuda/cudart.pyx":16478
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     err = ccudart.cudaGraphMemcpyNodeSetParams1D(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], cdst_ptr, csrc_ptr, count, ckind)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_8 = __pyx_f_4cuda_7ccudart_cudaGraphMemcpyNodeSetParams1D(((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_v_node)->__pyx_base._ptr[0])), __pyx_v_cdst_ptr, __pyx_v_csrc_ptr, __pyx_v_count, __pyx_v_ckind); if (unlikely(__pyx_t_8 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 16478, __pyx_L1_error)
  __pyx_v_err = __pyx_t_8;

  /* "cuda/cudart.pyx":16479
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     err = ccudart.cudaGraphMemcpyNodeSetParams1D(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], 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, 16479, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_9 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 16479, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __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_9) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __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, 16479, __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, 16479, __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":16426
 * 
 * @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_5);
  __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_cdst);
  __Pyx_XDECREF(__pyx_v_csrc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":16482
 * 
 * @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_383cudaGraphAddMemsetNode(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_382cudaGraphAddMemsetNode[] = "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 : CUgraph or cudaGraph_t\n        Graph to which to add the node\n    pDependencies : List[cudaGraphNode_t]\n        Dependencies of the node\n    numDependencies : size_t\n        Number of dependencies\n    pMemsetParams : cudaMemsetParams\n        Parameters for the memory set\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorInvalidDevice\n    pGraphNode : cudaGraphNode_t\n        Returns newly created node\n\n    See Also\n    --------\n    cudaMemset2D\n    cudaGraphMemsetNodeGetParams\n    cudaGraphMemsetNodeSetParams\n    cudaGraphCreate\n    cudaGraphDestroyNode\n    cudaGraphAddChildGraphNode\n    cudaGraphAddEmptyNode\n    cudaGraphAddKernelNode\n    cudaGraphAddHostNode\n    cudaGraphAddMemcpyNode\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_383cudaGraphAddMemsetNode = {"cudaGraphAddMemsetNode", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_383cudaGraphAddMemsetNode, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_382cudaGraphAddMemsetNode};
static PyObject *__pyx_pw_4cuda_6cudart_383cudaGraphAddMemsetNode(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, 16482, __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, 16482, __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, 16482, __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, 16482, __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, 16482, __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, 16482, __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, 16482, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_382cudaGraphAddMemsetNode(__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":16528
 *     """
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */

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, 16528, __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, 16528, __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], 16528, 0, __PYX_ERR(0, 16528, __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, 16528, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies)) { __Pyx_RaiseClosureNameError("pDependencies"); __PYX_ERR(0, 16528, __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, 16528, __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, 16528, __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, 16528, __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, 16528, __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, 16528, __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, 16528, __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, 16528, __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":16482
 * 
 * @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_382cudaGraphAddMemsetNode(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;
  struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *__pyx_v_pGraphNode = 0;
  __pyx_t_4cuda_7ccudart_cudaGraphNode_t *__pyx_v_cpDependencies;
  Py_ssize_t __pyx_v_idx;
  struct __pyx_t_4cuda_7ccudart_cudaMemsetParams *__pyx_v_cpMemsetParams_ptr;
  __pyx_t_4cuda_7ccudart_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;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  struct __pyx_t_4cuda_7ccudart_cudaMemsetParams *__pyx_t_10;
  __pyx_t_4cuda_7ccudart_cudaGraphNode_t *__pyx_t_11;
  __pyx_t_4cuda_7ccudart_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__531)
  __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, 16482, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __Pyx_TraceCall("cudaGraphAddMemsetNode", __pyx_f[0], 16482, 0, __PYX_ERR(0, 16482, __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":16527
 *     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, 16527, __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":16528
 *     """
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */
  __pyx_t_1 = __pyx_pf_4cuda_6cudart_22cudaGraphAddMemsetNode_genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16528, __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, 16528, __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, 16528, __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":16529
 *     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]")             # <<<<<<<<<<<<<<
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__520, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16529, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 16529, __pyx_L1_error)

    /* "cuda/cudart.pyx":16528
 *     """
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */
  }

  /* "cuda/cudart.pyx":16530
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 */
  __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_L5_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_L5_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_4 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":16531
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))             # <<<<<<<<<<<<<<
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 */
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_graph))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16531, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_graph_is_not_instance_o, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16531, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16531, __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, 16531, __pyx_L1_error)

    /* "cuda/cudart.pyx":16530
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 */
  }

  /* "cuda/cudart.pyx":16532
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:
 */
  __pyx_t_3 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16532, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_v_pGraphNode = ((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":16533
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     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":16534
 *     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_3 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_6 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16534, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_2 = ((__pyx_t_6 > 0) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":16535
 *     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_3 = __pyx_cur_scope->__pyx_v_pDependencies;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_6 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16535, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_cpDependencies = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t *)calloc(__pyx_t_6, (sizeof(__pyx_t_4cuda_7ccudart_cudaGraphNode_t))));

    /* "cuda/cudart.pyx":16536
 *     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":16537
 *         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_3 = __pyx_cur_scope->__pyx_v_pDependencies;
      __Pyx_INCREF(__pyx_t_3);
      __pyx_t_6 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16537, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16537, __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, 16537, __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_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16537, __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, 16537, __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(__pyx_t_4cuda_7ccudart_cudaGraphNode_t))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16537, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16537, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16537, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16537, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(0, 16537, __pyx_L1_error)

      /* "cuda/cudart.pyx":16536
 *     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":16539
 *             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_7 = __pyx_cur_scope->__pyx_v_pDependencies;
      __Pyx_INCREF(__pyx_t_7);
      __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16539, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_8 = __pyx_t_6;
      for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
        __pyx_v_idx = __pyx_t_9;

        /* "cuda/cudart.pyx":16540
 *         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_7 = __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_7)) __PYX_ERR(0, 16540, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        (__pyx_v_cpDependencies[__pyx_v_idx]) = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_7)->__pyx_base._ptr[0]));
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }

    /* "cuda/cudart.pyx":16534
 *     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":16542
 *                 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, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cpMemsetParams_ptr)
 */
  __pyx_t_7 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_7);
  __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16542, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_2 = ((__pyx_v_numDependencies > ((size_t)__pyx_t_6)) != 0);
  if (unlikely(__pyx_t_2)) {
    __pyx_t_7 = __pyx_cur_scope->__pyx_v_pDependencies;
    __Pyx_INCREF(__pyx_t_7);
    __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16542, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16542, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16542, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_kp_u_List_is_too_small, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16542, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_t_7, __pyx_kp_u__395); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16542, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16542, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16542, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16542, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16542, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(0, 16542, __pyx_L1_error)
  }

  /* "cuda/cudart.pyx":16543
 * 
 *     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, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cpMemsetParams_ptr)
 *     if cpDependencies is not NULL:
 */
  __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_pMemsetParams), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16543, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 16543, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {
    __pyx_t_10 = __pyx_v_pMemsetParams->_ptr;
  } else {
    __pyx_t_10 = NULL;
  }
  __pyx_v_cpMemsetParams_ptr = __pyx_t_10;

  /* "cuda/cudart.pyx":16544
 *     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, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <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_1 = __pyx_cur_scope->__pyx_v_pDependencies;
  __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, 16544, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (((__pyx_t_6 == 1) != 0)) {
    __pyx_t_1 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_pDependencies, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16544, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_11 = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t *)((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_1)->__pyx_base._ptr);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  } else {
    __pyx_t_11 = __pyx_v_cpDependencies;
  }
  __pyx_t_12 = __pyx_f_4cuda_7ccudart_cudaGraphAddMemsetNode(((__pyx_t_4cuda_7ccudart_cudaGraphNode_t *)__pyx_v_pGraphNode->__pyx_base._ptr), ((__pyx_t_4cuda_7ccudart_cudaGraph_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraph_t *)__pyx_v_graph)->__pyx_base._ptr[0])), __pyx_t_11, __pyx_v_numDependencies, __pyx_v_cpMemsetParams_ptr); if (unlikely(__pyx_t_12 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 16544, __pyx_L1_error)
  __pyx_v_err = __pyx_t_12;

  /* "cuda/cudart.pyx":16545
 *     cdef ccudart.cudaMemsetParams* cpMemsetParams_ptr = pMemsetParams._ptr if pMemsetParams != None else NULL
 *     err = ccudart.cudaGraphAddMemsetNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <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_2 = ((__pyx_v_cpDependencies != NULL) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":16546
 *     err = ccudart.cudaGraphAddMemsetNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <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":16545
 *     cdef ccudart.cudaMemsetParams* cpMemsetParams_ptr = pMemsetParams._ptr if pMemsetParams != None else NULL
 *     err = ccudart.cudaGraphAddMemsetNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <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":16547
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)
 *     return (cudaError_t(err), pGraphNode)             # <<<<<<<<<<<<<<
 * 
 * @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, 16547, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16547, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_13 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_7);
    if (likely(__pyx_t_13)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_13);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_7, function);
    }
  }
  __pyx_t_1 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_13, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_3);
  __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16547, __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, 16547, __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_pGraphNode));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pGraphNode));
  PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_pGraphNode));
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":16482
 * 
 * @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_7);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddMemsetNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __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":16550
 * 
 * @cython.embedsignature(True)
 * def cudaGraphMemsetNodeGetParams(node):             # <<<<<<<<<<<<<<
 *     """ Returns a memset node's parameters.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_385cudaGraphMemsetNodeGetParams(PyObject *__pyx_self, PyObject *__pyx_v_node); /*proto*/
static char __pyx_doc_4cuda_6cudart_384cudaGraphMemsetNodeGetParams[] = "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 : CUgraphNode or cudaGraphNode_t\n        Node to get the parameters for\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    pNodeParams : cudaMemsetParams\n        Pointer to return the parameters\n\n    See Also\n    --------\n    cudaMemset2D\n    cudaGraphAddMemsetNode\n    cudaGraphMemsetNodeSetParams\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_385cudaGraphMemsetNodeGetParams = {"cudaGraphMemsetNodeGetParams", (PyCFunction)__pyx_pw_4cuda_6cudart_385cudaGraphMemsetNodeGetParams, METH_O, __pyx_doc_4cuda_6cudart_384cudaGraphMemsetNodeGetParams};
static PyObject *__pyx_pw_4cuda_6cudart_385cudaGraphMemsetNodeGetParams(PyObject *__pyx_self, PyObject *__pyx_v_node) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphMemsetNodeGetParams (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_384cudaGraphMemsetNodeGetParams(__pyx_self, ((PyObject *)__pyx_v_node));

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

static PyObject *__pyx_pf_4cuda_6cudart_384cudaGraphMemsetNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node) {
  struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *__pyx_v_pNodeParams = 0;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__532)
  __Pyx_RefNannySetupContext("cudaGraphMemsetNodeGetParams", 0);
  __Pyx_TraceCall("cudaGraphMemsetNodeGetParams", __pyx_f[0], 16550, 0, __PYX_ERR(0, 16550, __pyx_L1_error));

  /* "cuda/cudart.pyx":16574
 *     cudaGraphMemsetNodeSetParams
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef cudaMemsetParams pNodeParams = cudaMemsetParams()
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":16575
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))             # <<<<<<<<<<<<<<
 *     cdef cudaMemsetParams pNodeParams = cudaMemsetParams()
 *     err = ccudart.cudaGraphMemsetNodeGetParams(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], pNodeParams._ptr)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_node))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16575, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_node_is_not_instance_of, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16575, __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, 16575, __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, 16575, __pyx_L1_error)

    /* "cuda/cudart.pyx":16574
 *     cudaGraphMemsetNodeSetParams
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef cudaMemsetParams pNodeParams = cudaMemsetParams()
 */
  }

  /* "cuda/cudart.pyx":16576
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef cudaMemsetParams pNodeParams = cudaMemsetParams()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphMemsetNodeGetParams(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], pNodeParams._ptr)
 *     return (cudaError_t(err), pNodeParams)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMemsetParams)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16576, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pNodeParams = ((struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":16577
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef cudaMemsetParams pNodeParams = cudaMemsetParams()
 *     err = ccudart.cudaGraphMemsetNodeGetParams(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], pNodeParams._ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pNodeParams)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaGraphMemsetNodeGetParams(((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_v_node)->__pyx_base._ptr[0])), __pyx_v_pNodeParams->_ptr); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 16577, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":16578
 *     cdef cudaMemsetParams pNodeParams = cudaMemsetParams()
 *     err = ccudart.cudaGraphMemsetNodeGetParams(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], pNodeParams._ptr)
 *     return (cudaError_t(err), pNodeParams)             # <<<<<<<<<<<<<<
 * 
 * @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, 16578, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16578, __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_4 = (__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_4)) __PYX_ERR(0, 16578, __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, 16578, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
  __Pyx_INCREF(((PyObject *)__pyx_v_pNodeParams));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pNodeParams));
  PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_pNodeParams));
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":16550
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphMemsetNodeGetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_pNodeParams);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":16581
 * 
 * @cython.embedsignature(True)
 * def cudaGraphMemsetNodeSetParams(node, pNodeParams : cudaMemsetParams):             # <<<<<<<<<<<<<<
 *     """ Sets a memset node's parameters.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_387cudaGraphMemsetNodeSetParams(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_386cudaGraphMemsetNodeSetParams[] = "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 : CUgraphNode or cudaGraphNode_t\n        Node to set the parameters for\n    pNodeParams : cudaMemsetParams\n        Parameters to copy\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    None\n        None\n\n    See Also\n    --------\n    cudaMemset2D\n    cudaGraphAddMemsetNode\n    cudaGraphMemsetNodeGetParams\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_387cudaGraphMemsetNodeSetParams = {"cudaGraphMemsetNodeSetParams", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_387cudaGraphMemsetNodeSetParams, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_386cudaGraphMemsetNodeSetParams};
static PyObject *__pyx_pw_4cuda_6cudart_387cudaGraphMemsetNodeSetParams(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, 16581, __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, 16581, __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, 16581, __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, 16581, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_386cudaGraphMemsetNodeSetParams(__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_386cudaGraphMemsetNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node, struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *__pyx_v_pNodeParams) {
  struct __pyx_t_4cuda_7ccudart_cudaMemsetParams *__pyx_v_cpNodeParams_ptr;
  __pyx_t_4cuda_7ccudart_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;
  struct __pyx_t_4cuda_7ccudart_cudaMemsetParams *__pyx_t_6;
  __pyx_t_4cuda_7ccudart_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__533)
  __Pyx_RefNannySetupContext("cudaGraphMemsetNodeSetParams", 0);
  __Pyx_TraceCall("cudaGraphMemsetNodeSetParams", __pyx_f[0], 16581, 0, __PYX_ERR(0, 16581, __pyx_L1_error));

  /* "cuda/cudart.pyx":16607
 *     cudaGraphMemsetNodeGetParams
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef ccudart.cudaMemsetParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":16608
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaMemsetParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 *     err = ccudart.cudaGraphMemsetNodeSetParams(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], cpNodeParams_ptr)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_node))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16608, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_node_is_not_instance_of, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16608, __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, 16608, __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, 16608, __pyx_L1_error)

    /* "cuda/cudart.pyx":16607
 *     cudaGraphMemsetNodeGetParams
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef ccudart.cudaMemsetParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 */
  }

  /* "cuda/cudart.pyx":16609
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef ccudart.cudaMemsetParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphMemsetNodeSetParams(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], 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, 16609, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 16609, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_2) {
    __pyx_t_6 = __pyx_v_pNodeParams->_ptr;
  } else {
    __pyx_t_6 = NULL;
  }
  __pyx_v_cpNodeParams_ptr = __pyx_t_6;

  /* "cuda/cudart.pyx":16610
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef ccudart.cudaMemsetParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 *     err = ccudart.cudaGraphMemsetNodeSetParams(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], cpNodeParams_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaGraphMemsetNodeSetParams(((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_v_node)->__pyx_base._ptr[0])), __pyx_v_cpNodeParams_ptr); if (unlikely(__pyx_t_7 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 16610, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":16611
 *     cdef ccudart.cudaMemsetParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 *     err = ccudart.cudaGraphMemsetNodeSetParams(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], cpNodeParams_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, 16611, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_8 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16611, __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_4 = (__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_4)) __PYX_ERR(0, 16611, __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, 16611, __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":16581
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphMemsetNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":16614
 * 
 * @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_389cudaGraphAddHostNode(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_388cudaGraphAddHostNode[] = "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 : CUgraph or cudaGraph_t\n        Graph to which to add the node\n    pDependencies : List[cudaGraphNode_t]\n        Dependencies of the node\n    numDependencies : size_t\n        Number of dependencies\n    pNodeParams : cudaHostNodeParams\n        Parameters for the host node\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorNotSupported\n        cudaErrorInvalidValue\n    pGraphNode : cudaGraphNode_t\n        Returns newly created node\n\n    See Also\n    --------\n    cudaLaunchHostFunc\n    cudaGraphHostNodeGetParams\n    cudaGraphHostNodeSetParams\n    cudaGraphCreate\n    cudaGraphDestroyNode\n    cudaGraphAddChildGraphNode\n    cudaGraphAddEmptyNode\n    cudaGraphAddKernelNode\n    cudaGraphAddMemcpyNode\n    cudaGraphAddMemsetNode\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_389cudaGraphAddHostNode = {"cudaGraphAddHostNode", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_389cudaGraphAddHostNode, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_388cudaGraphAddHostNode};
static PyObject *__pyx_pw_4cuda_6cudart_389cudaGraphAddHostNode(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, 16614, __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, 16614, __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, 16614, __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, 16614, __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, 16614, __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, 16614, __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, 16614, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_388cudaGraphAddHostNode(__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":16661
 *     """
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */

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, 16661, __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, 16661, __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], 16661, 0, __PYX_ERR(0, 16661, __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, 16661, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies)) { __Pyx_RaiseClosureNameError("pDependencies"); __PYX_ERR(0, 16661, __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, 16661, __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, 16661, __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, 16661, __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, 16661, __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, 16661, __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, 16661, __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, 16661, __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":16614
 * 
 * @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_388cudaGraphAddHostNode(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;
  struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *__pyx_v_pGraphNode = 0;
  __pyx_t_4cuda_7ccudart_cudaGraphNode_t *__pyx_v_cpDependencies;
  Py_ssize_t __pyx_v_idx;
  struct __pyx_t_4cuda_7ccudart_cudaHostNodeParams *__pyx_v_cpNodeParams_ptr;
  __pyx_t_4cuda_7ccudart_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;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  struct __pyx_t_4cuda_7ccudart_cudaHostNodeParams *__pyx_t_10;
  __pyx_t_4cuda_7ccudart_cudaGraphNode_t *__pyx_t_11;
  __pyx_t_4cuda_7ccudart_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__534)
  __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, 16614, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __Pyx_TraceCall("cudaGraphAddHostNode", __pyx_f[0], 16614, 0, __PYX_ERR(0, 16614, __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":16660
 *     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, 16660, __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":16661
 *     """
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */
  __pyx_t_1 = __pyx_pf_4cuda_6cudart_20cudaGraphAddHostNode_genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16661, __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, 16661, __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, 16661, __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":16662
 *     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]")             # <<<<<<<<<<<<<<
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__520, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16662, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 16662, __pyx_L1_error)

    /* "cuda/cudart.pyx":16661
 *     """
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */
  }

  /* "cuda/cudart.pyx":16663
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 */
  __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_L5_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_L5_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_4 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":16664
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))             # <<<<<<<<<<<<<<
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 */
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_graph))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16664, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_graph_is_not_instance_o, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16664, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16664, __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, 16664, __pyx_L1_error)

    /* "cuda/cudart.pyx":16663
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 */
  }

  /* "cuda/cudart.pyx":16665
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:
 */
  __pyx_t_3 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16665, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_v_pGraphNode = ((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":16666
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     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":16667
 *     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_3 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_6 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16667, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_2 = ((__pyx_t_6 > 0) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":16668
 *     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_3 = __pyx_cur_scope->__pyx_v_pDependencies;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_6 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16668, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_cpDependencies = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t *)calloc(__pyx_t_6, (sizeof(__pyx_t_4cuda_7ccudart_cudaGraphNode_t))));

    /* "cuda/cudart.pyx":16669
 *     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":16670
 *         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_3 = __pyx_cur_scope->__pyx_v_pDependencies;
      __Pyx_INCREF(__pyx_t_3);
      __pyx_t_6 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16670, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16670, __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, 16670, __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_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16670, __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, 16670, __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(__pyx_t_4cuda_7ccudart_cudaGraphNode_t))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16670, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16670, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16670, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16670, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(0, 16670, __pyx_L1_error)

      /* "cuda/cudart.pyx":16669
 *     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":16672
 *             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_7 = __pyx_cur_scope->__pyx_v_pDependencies;
      __Pyx_INCREF(__pyx_t_7);
      __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16672, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_8 = __pyx_t_6;
      for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
        __pyx_v_idx = __pyx_t_9;

        /* "cuda/cudart.pyx":16673
 *         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_7 = __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_7)) __PYX_ERR(0, 16673, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        (__pyx_v_cpDependencies[__pyx_v_idx]) = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_7)->__pyx_base._ptr[0]));
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }

    /* "cuda/cudart.pyx":16667
 *     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":16675
 *                 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, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cpNodeParams_ptr)
 */
  __pyx_t_7 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_7);
  __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16675, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_2 = ((__pyx_v_numDependencies > ((size_t)__pyx_t_6)) != 0);
  if (unlikely(__pyx_t_2)) {
    __pyx_t_7 = __pyx_cur_scope->__pyx_v_pDependencies;
    __Pyx_INCREF(__pyx_t_7);
    __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16675, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16675, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16675, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_kp_u_List_is_too_small, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16675, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_t_7, __pyx_kp_u__395); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16675, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16675, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16675, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16675, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16675, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(0, 16675, __pyx_L1_error)
  }

  /* "cuda/cudart.pyx":16676
 * 
 *     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, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cpNodeParams_ptr)
 *     if cpDependencies is not NULL:
 */
  __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_pNodeParams), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16676, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 16676, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {
    __pyx_t_10 = __pyx_v_pNodeParams->_ptr;
  } else {
    __pyx_t_10 = NULL;
  }
  __pyx_v_cpNodeParams_ptr = __pyx_t_10;

  /* "cuda/cudart.pyx":16677
 *     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, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <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_1 = __pyx_cur_scope->__pyx_v_pDependencies;
  __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, 16677, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (((__pyx_t_6 == 1) != 0)) {
    __pyx_t_1 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_pDependencies, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16677, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_11 = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t *)((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_1)->__pyx_base._ptr);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  } else {
    __pyx_t_11 = __pyx_v_cpDependencies;
  }
  __pyx_t_12 = __pyx_f_4cuda_7ccudart_cudaGraphAddHostNode(((__pyx_t_4cuda_7ccudart_cudaGraphNode_t *)__pyx_v_pGraphNode->__pyx_base._ptr), ((__pyx_t_4cuda_7ccudart_cudaGraph_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraph_t *)__pyx_v_graph)->__pyx_base._ptr[0])), __pyx_t_11, __pyx_v_numDependencies, __pyx_v_cpNodeParams_ptr); if (unlikely(__pyx_t_12 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 16677, __pyx_L1_error)
  __pyx_v_err = __pyx_t_12;

  /* "cuda/cudart.pyx":16678
 *     cdef ccudart.cudaHostNodeParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 *     err = ccudart.cudaGraphAddHostNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <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_2 = ((__pyx_v_cpDependencies != NULL) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":16679
 *     err = ccudart.cudaGraphAddHostNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <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":16678
 *     cdef ccudart.cudaHostNodeParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 *     err = ccudart.cudaGraphAddHostNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <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":16680
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)
 *     return (cudaError_t(err), pGraphNode)             # <<<<<<<<<<<<<<
 * 
 * @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, 16680, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16680, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_13 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_7);
    if (likely(__pyx_t_13)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_13);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_7, function);
    }
  }
  __pyx_t_1 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_13, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_3);
  __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16680, __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, 16680, __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_pGraphNode));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pGraphNode));
  PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_pGraphNode));
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":16614
 * 
 * @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_7);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddHostNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __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":16683
 * 
 * @cython.embedsignature(True)
 * def cudaGraphHostNodeGetParams(node):             # <<<<<<<<<<<<<<
 *     """ Returns a host node's parameters.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_391cudaGraphHostNodeGetParams(PyObject *__pyx_self, PyObject *__pyx_v_node); /*proto*/
static char __pyx_doc_4cuda_6cudart_390cudaGraphHostNodeGetParams[] = "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 : CUgraphNode or cudaGraphNode_t\n        Node to get the parameters for\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    pNodeParams : cudaHostNodeParams\n        Pointer to return the parameters\n\n    See Also\n    --------\n    cudaLaunchHostFunc\n    cudaGraphAddHostNode\n    cudaGraphHostNodeSetParams\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_391cudaGraphHostNodeGetParams = {"cudaGraphHostNodeGetParams", (PyCFunction)__pyx_pw_4cuda_6cudart_391cudaGraphHostNodeGetParams, METH_O, __pyx_doc_4cuda_6cudart_390cudaGraphHostNodeGetParams};
static PyObject *__pyx_pw_4cuda_6cudart_391cudaGraphHostNodeGetParams(PyObject *__pyx_self, PyObject *__pyx_v_node) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphHostNodeGetParams (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_390cudaGraphHostNodeGetParams(__pyx_self, ((PyObject *)__pyx_v_node));

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

static PyObject *__pyx_pf_4cuda_6cudart_390cudaGraphHostNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node) {
  struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *__pyx_v_pNodeParams = 0;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__535)
  __Pyx_RefNannySetupContext("cudaGraphHostNodeGetParams", 0);
  __Pyx_TraceCall("cudaGraphHostNodeGetParams", __pyx_f[0], 16683, 0, __PYX_ERR(0, 16683, __pyx_L1_error));

  /* "cuda/cudart.pyx":16707
 *     cudaGraphHostNodeSetParams
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef cudaHostNodeParams pNodeParams = cudaHostNodeParams()
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":16708
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))             # <<<<<<<<<<<<<<
 *     cdef cudaHostNodeParams pNodeParams = cudaHostNodeParams()
 *     err = ccudart.cudaGraphHostNodeGetParams(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], pNodeParams._ptr)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_node))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16708, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_node_is_not_instance_of, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16708, __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, 16708, __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, 16708, __pyx_L1_error)

    /* "cuda/cudart.pyx":16707
 *     cudaGraphHostNodeSetParams
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef cudaHostNodeParams pNodeParams = cudaHostNodeParams()
 */
  }

  /* "cuda/cudart.pyx":16709
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef cudaHostNodeParams pNodeParams = cudaHostNodeParams()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphHostNodeGetParams(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], pNodeParams._ptr)
 *     return (cudaError_t(err), pNodeParams)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaHostNodeParams)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16709, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pNodeParams = ((struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":16710
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef cudaHostNodeParams pNodeParams = cudaHostNodeParams()
 *     err = ccudart.cudaGraphHostNodeGetParams(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], pNodeParams._ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pNodeParams)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaGraphHostNodeGetParams(((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_v_node)->__pyx_base._ptr[0])), __pyx_v_pNodeParams->_ptr); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 16710, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":16711
 *     cdef cudaHostNodeParams pNodeParams = cudaHostNodeParams()
 *     err = ccudart.cudaGraphHostNodeGetParams(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], pNodeParams._ptr)
 *     return (cudaError_t(err), pNodeParams)             # <<<<<<<<<<<<<<
 * 
 * @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, 16711, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16711, __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_4 = (__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_4)) __PYX_ERR(0, 16711, __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, 16711, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
  __Pyx_INCREF(((PyObject *)__pyx_v_pNodeParams));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pNodeParams));
  PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_pNodeParams));
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":16683
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphHostNodeGetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_pNodeParams);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":16714
 * 
 * @cython.embedsignature(True)
 * def cudaGraphHostNodeSetParams(node, pNodeParams : cudaHostNodeParams):             # <<<<<<<<<<<<<<
 *     """ Sets a host node's parameters.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_393cudaGraphHostNodeSetParams(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_392cudaGraphHostNodeSetParams[] = "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 : CUgraphNode or cudaGraphNode_t\n        Node to set the parameters for\n    pNodeParams : cudaHostNodeParams\n        Parameters to copy\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    None\n        None\n\n    See Also\n    --------\n    cudaLaunchHostFunc\n    cudaGraphAddHostNode\n    cudaGraphHostNodeGetParams\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_393cudaGraphHostNodeSetParams = {"cudaGraphHostNodeSetParams", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_393cudaGraphHostNodeSetParams, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_392cudaGraphHostNodeSetParams};
static PyObject *__pyx_pw_4cuda_6cudart_393cudaGraphHostNodeSetParams(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, 16714, __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, 16714, __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, 16714, __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, 16714, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_392cudaGraphHostNodeSetParams(__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_392cudaGraphHostNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node, struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *__pyx_v_pNodeParams) {
  struct __pyx_t_4cuda_7ccudart_cudaHostNodeParams *__pyx_v_cpNodeParams_ptr;
  __pyx_t_4cuda_7ccudart_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;
  struct __pyx_t_4cuda_7ccudart_cudaHostNodeParams *__pyx_t_6;
  __pyx_t_4cuda_7ccudart_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__536)
  __Pyx_RefNannySetupContext("cudaGraphHostNodeSetParams", 0);
  __Pyx_TraceCall("cudaGraphHostNodeSetParams", __pyx_f[0], 16714, 0, __PYX_ERR(0, 16714, __pyx_L1_error));

  /* "cuda/cudart.pyx":16740
 *     cudaGraphHostNodeGetParams
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef ccudart.cudaHostNodeParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":16741
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaHostNodeParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 *     err = ccudart.cudaGraphHostNodeSetParams(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], cpNodeParams_ptr)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_node))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16741, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_node_is_not_instance_of, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16741, __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, 16741, __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, 16741, __pyx_L1_error)

    /* "cuda/cudart.pyx":16740
 *     cudaGraphHostNodeGetParams
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef ccudart.cudaHostNodeParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 */
  }

  /* "cuda/cudart.pyx":16742
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef ccudart.cudaHostNodeParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphHostNodeSetParams(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], 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, 16742, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 16742, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_2) {
    __pyx_t_6 = __pyx_v_pNodeParams->_ptr;
  } else {
    __pyx_t_6 = NULL;
  }
  __pyx_v_cpNodeParams_ptr = __pyx_t_6;

  /* "cuda/cudart.pyx":16743
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef ccudart.cudaHostNodeParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 *     err = ccudart.cudaGraphHostNodeSetParams(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], cpNodeParams_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaGraphHostNodeSetParams(((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_v_node)->__pyx_base._ptr[0])), __pyx_v_cpNodeParams_ptr); if (unlikely(__pyx_t_7 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 16743, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":16744
 *     cdef ccudart.cudaHostNodeParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 *     err = ccudart.cudaGraphHostNodeSetParams(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], cpNodeParams_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, 16744, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_8 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 16744, __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_4 = (__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_4)) __PYX_ERR(0, 16744, __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, 16744, __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":16714
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphHostNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":16747
 * 
 * @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_395cudaGraphAddChildGraphNode(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_394cudaGraphAddChildGraphNode[] = "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 : CUgraph or cudaGraph_t\n        Graph to which to add the node\n    pDependencies : List[cudaGraphNode_t]\n        Dependencies of the node\n    numDependencies : size_t\n        Number of dependencies\n    childGraph : CUgraph or cudaGraph_t\n        The graph to clone into this node\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    pGraphNode : cudaGraphNode_t\n        Returns newly created node\n\n    See Also\n    --------\n    cudaGraphChildGraphNodeGetGraph\n    cudaGraphCreate\n    cudaGraphDestroyNode\n    cudaGraphAddEmptyNode\n    cudaGraphAddKernelNode\n    cudaGraphAddHostNode\n    cudaGraphAddMemcpyNode\n    cudaGraphAddMemsetNode\n    cudaGraphClone\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_395cudaGraphAddChildGraphNode = {"cudaGraphAddChildGraphNode", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_395cudaGraphAddChildGraphNode, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_394cudaGraphAddChildGraphNode};
static PyObject *__pyx_pw_4cuda_6cudart_395cudaGraphAddChildGraphNode(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, 16747, __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, 16747, __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, 16747, __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, 16747, __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, 16747, __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, 16747, __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_394cudaGraphAddChildGraphNode(__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":16797
 *         raise TypeError("Argument 'childGraph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(childGraph)))
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */

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, 16797, __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, 16797, __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], 16797, 0, __PYX_ERR(0, 16797, __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, 16797, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies)) { __Pyx_RaiseClosureNameError("pDependencies"); __PYX_ERR(0, 16797, __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, 16797, __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, 16797, __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, 16797, __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, 16797, __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, 16797, __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, 16797, __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, 16797, __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":16747
 * 
 * @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_394cudaGraphAddChildGraphNode(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;
  struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *__pyx_v_pGraphNode = 0;
  __pyx_t_4cuda_7ccudart_cudaGraphNode_t *__pyx_v_cpDependencies;
  Py_ssize_t __pyx_v_idx;
  __pyx_t_4cuda_7ccudart_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;
  PyObject *__pyx_t_5 = NULL;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  __pyx_t_4cuda_7ccudart_cudaGraphNode_t *__pyx_t_10;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_t_11;
  PyObject *__pyx_t_12 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__537)
  __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, 16747, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __Pyx_TraceCall("cudaGraphAddChildGraphNode", __pyx_f[0], 16747, 0, __PYX_ERR(0, 16747, __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":16794
 *     cudaGraphClone
 *     """
 *     if not isinstance(childGraph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'childGraph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(childGraph)))
 *     pDependencies = [] if pDependencies is None else pDependencies
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_childGraph, __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_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_childGraph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":16795
 *     """
 *     if not isinstance(childGraph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'childGraph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(childGraph)))             # <<<<<<<<<<<<<<
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_childGraph))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16795, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_childGraph_is_not_insta, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16795, __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, 16795, __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, 16795, __pyx_L1_error)

    /* "cuda/cudart.pyx":16794
 *     cudaGraphClone
 *     """
 *     if not isinstance(childGraph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'childGraph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(childGraph)))
 *     pDependencies = [] if pDependencies is None else pDependencies
 */
  }

  /* "cuda/cudart.pyx":16796
 *     if not isinstance(childGraph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'childGraph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(childGraph)))
 *     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_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16796, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_4 = __pyx_t_5;
    __pyx_t_5 = 0;
  } else {
    __Pyx_INCREF(__pyx_cur_scope->__pyx_v_pDependencies);
    __pyx_t_4 = __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_4);
  __Pyx_GIVEREF(__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":16797
 *         raise TypeError("Argument 'childGraph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(childGraph)))
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */
  __pyx_t_4 = __pyx_pf_4cuda_6cudart_26cudaGraphAddChildGraphNode_genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16797, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_Generator_Next(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16797, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 16797, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_1 = ((!__pyx_t_2) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "cuda/cudart.pyx":16798
 *     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]")             # <<<<<<<<<<<<<<
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 */
    __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__520, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16798, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_Raise(__pyx_t_5, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __PYX_ERR(0, 16798, __pyx_L1_error)

    /* "cuda/cudart.pyx":16797
 *         raise TypeError("Argument 'childGraph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(childGraph)))
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */
  }

  /* "cuda/cudart.pyx":16799
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 */
  __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)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":16800
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))             # <<<<<<<<<<<<<<
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 */
    __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_graph))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16800, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_graph_is_not_instance_o, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16800, __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, 16800, __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, 16800, __pyx_L1_error)

    /* "cuda/cudart.pyx":16799
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 */
  }

  /* "cuda/cudart.pyx":16801
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:
 */
  __pyx_t_5 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16801, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_v_pGraphNode = ((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_5);
  __pyx_t_5 = 0;

  /* "cuda/cudart.pyx":16802
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     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":16803
 *     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_5 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_6 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16803, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_2 = ((__pyx_t_6 > 0) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":16804
 *     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_5 = __pyx_cur_scope->__pyx_v_pDependencies;
    __Pyx_INCREF(__pyx_t_5);
    __pyx_t_6 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16804, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_v_cpDependencies = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t *)calloc(__pyx_t_6, (sizeof(__pyx_t_4cuda_7ccudart_cudaGraphNode_t))));

    /* "cuda/cudart.pyx":16805
 *     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":16806
 *         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_5 = __pyx_cur_scope->__pyx_v_pDependencies;
      __Pyx_INCREF(__pyx_t_5);
      __pyx_t_6 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16806, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16806, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16806, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Failed_to_allocate_length_x_size_2, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16806, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_t_5, __pyx_n_u_x_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16806, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_4cuda_7ccudart_cudaGraphNode_t))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16806, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16806, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_t_4, __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16806, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __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_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16806, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(0, 16806, __pyx_L1_error)

      /* "cuda/cudart.pyx":16805
 *     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":16808
 *             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_7 = __pyx_cur_scope->__pyx_v_pDependencies;
      __Pyx_INCREF(__pyx_t_7);
      __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16808, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_8 = __pyx_t_6;
      for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
        __pyx_v_idx = __pyx_t_9;

        /* "cuda/cudart.pyx":16809
 *         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_7 = __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_7)) __PYX_ERR(0, 16809, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        (__pyx_v_cpDependencies[__pyx_v_idx]) = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_7)->__pyx_base._ptr[0]));
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }

    /* "cuda/cudart.pyx":16803
 *     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":16811
 *                 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, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, <ccudart.cudaGraph_t>(<cudaGraph_t>childGraph)._ptr[0])
 *     if cpDependencies is not NULL:
 */
  __pyx_t_7 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_7);
  __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16811, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_2 = ((__pyx_v_numDependencies > ((size_t)__pyx_t_6)) != 0);
  if (unlikely(__pyx_t_2)) {
    __pyx_t_7 = __pyx_cur_scope->__pyx_v_pDependencies;
    __Pyx_INCREF(__pyx_t_7);
    __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16811, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16811, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16811, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_kp_u_List_is_too_small, __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16811, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_t_7, __pyx_kp_u__395); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16811, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16811, __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, 16811, __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_5, __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16811, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16811, __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, 16811, __pyx_L1_error)
  }

  /* "cuda/cudart.pyx":16812
 * 
 *     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, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, <ccudart.cudaGraph_t>(<cudaGraph_t>childGraph)._ptr[0])             # <<<<<<<<<<<<<<
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)
 */
  __pyx_t_4 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_6 = PyObject_Length(__pyx_t_4); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16812, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (((__pyx_t_6 == 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, 16812, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_10 = ((__pyx_t_4cuda_7ccudart_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_10 = __pyx_v_cpDependencies;
  }
  __pyx_t_11 = __pyx_f_4cuda_7ccudart_cudaGraphAddChildGraphNode(((__pyx_t_4cuda_7ccudart_cudaGraphNode_t *)__pyx_v_pGraphNode->__pyx_base._ptr), ((__pyx_t_4cuda_7ccudart_cudaGraph_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraph_t *)__pyx_v_graph)->__pyx_base._ptr[0])), __pyx_t_10, __pyx_v_numDependencies, ((__pyx_t_4cuda_7ccudart_cudaGraph_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraph_t *)__pyx_v_childGraph)->__pyx_base._ptr[0]))); if (unlikely(__pyx_t_11 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 16812, __pyx_L1_error)
  __pyx_v_err = __pyx_t_11;

  /* "cuda/cudart.pyx":16813
 *     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, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, <ccudart.cudaGraph_t>(<cudaGraph_t>childGraph)._ptr[0])
 *     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":16814
 *     err = ccudart.cudaGraphAddChildGraphNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, <ccudart.cudaGraph_t>(<cudaGraph_t>childGraph)._ptr[0])
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pGraphNode)
 * 
 */
    free(__pyx_v_cpDependencies);

    /* "cuda/cudart.pyx":16813
 *     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, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, <ccudart.cudaGraph_t>(<cudaGraph_t>childGraph)._ptr[0])
 *     if cpDependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cpDependencies)
 *     return (cudaError_t(err), pGraphNode)
 */
  }

  /* "cuda/cudart.pyx":16815
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)
 *     return (cudaError_t(err), pGraphNode)             # <<<<<<<<<<<<<<
 * 
 * @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, 16815, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16815, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_12 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_7);
    if (likely(__pyx_t_12)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_12);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_7, function);
    }
  }
  __pyx_t_4 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_12, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_5);
  __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16815, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16815, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4);
  __Pyx_INCREF(((PyObject *)__pyx_v_pGraphNode));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pGraphNode));
  PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_pGraphNode));
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":16747
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddChildGraphNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __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":16818
 * 
 * @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_397cudaGraphChildGraphNodeGetGraph(PyObject *__pyx_self, PyObject *__pyx_v_node); /*proto*/
static char __pyx_doc_4cuda_6cudart_396cudaGraphChildGraphNodeGetGraph[] = "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 : CUgraphNode or cudaGraphNode_t\n        Node to get the embedded graph for\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    pGraph : cudaGraph_t\n        Location to store a handle to the graph\n\n    See Also\n    --------\n    cudaGraphAddChildGraphNode\n    cudaGraphNodeFindInClone\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_397cudaGraphChildGraphNodeGetGraph = {"cudaGraphChildGraphNodeGetGraph", (PyCFunction)__pyx_pw_4cuda_6cudart_397cudaGraphChildGraphNodeGetGraph, METH_O, __pyx_doc_4cuda_6cudart_396cudaGraphChildGraphNodeGetGraph};
static PyObject *__pyx_pw_4cuda_6cudart_397cudaGraphChildGraphNodeGetGraph(PyObject *__pyx_self, PyObject *__pyx_v_node) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphChildGraphNodeGetGraph (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_396cudaGraphChildGraphNodeGetGraph(__pyx_self, ((PyObject *)__pyx_v_node));

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

static PyObject *__pyx_pf_4cuda_6cudart_396cudaGraphChildGraphNodeGetGraph(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node) {
  struct __pyx_obj_4cuda_6cudart_cudaGraph_t *__pyx_v_pGraph = 0;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__538)
  __Pyx_RefNannySetupContext("cudaGraphChildGraphNodeGetGraph", 0);
  __Pyx_TraceCall("cudaGraphChildGraphNodeGetGraph", __pyx_f[0], 16818, 0, __PYX_ERR(0, 16818, __pyx_L1_error));

  /* "cuda/cudart.pyx":16846
 *     cudaGraphNodeFindInClone
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef cudaGraph_t pGraph = cudaGraph_t()
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":16847
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))             # <<<<<<<<<<<<<<
 *     cdef cudaGraph_t pGraph = cudaGraph_t()
 *     err = ccudart.cudaGraphChildGraphNodeGetGraph(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], <ccudart.cudaGraph_t*>pGraph._ptr)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_node))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16847, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_node_is_not_instance_of, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16847, __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, 16847, __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, 16847, __pyx_L1_error)

    /* "cuda/cudart.pyx":16846
 *     cudaGraphNodeFindInClone
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef cudaGraph_t pGraph = cudaGraph_t()
 */
  }

  /* "cuda/cudart.pyx":16848
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef cudaGraph_t pGraph = cudaGraph_t()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphChildGraphNodeGetGraph(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], <ccudart.cudaGraph_t*>pGraph._ptr)
 *     return (cudaError_t(err), pGraph)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraph_t)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16848, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pGraph = ((struct __pyx_obj_4cuda_6cudart_cudaGraph_t *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":16849
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef cudaGraph_t pGraph = cudaGraph_t()
 *     err = ccudart.cudaGraphChildGraphNodeGetGraph(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], <ccudart.cudaGraph_t*>pGraph._ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pGraph)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaGraphChildGraphNodeGetGraph(((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_v_node)->__pyx_base._ptr[0])), ((__pyx_t_4cuda_7ccudart_cudaGraph_t *)__pyx_v_pGraph->__pyx_base._ptr)); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 16849, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":16850
 *     cdef cudaGraph_t pGraph = cudaGraph_t()
 *     err = ccudart.cudaGraphChildGraphNodeGetGraph(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], <ccudart.cudaGraph_t*>pGraph._ptr)
 *     return (cudaError_t(err), pGraph)             # <<<<<<<<<<<<<<
 * 
 * @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, 16850, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16850, __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_4 = (__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_4)) __PYX_ERR(0, 16850, __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, 16850, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
  __Pyx_INCREF(((PyObject *)__pyx_v_pGraph));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pGraph));
  PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_pGraph));
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":16818
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphChildGraphNodeGetGraph", __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":16853
 * 
 * @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_399cudaGraphAddEmptyNode(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_398cudaGraphAddEmptyNode[] = "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 : CUgraph or cudaGraph_t\n        Graph to which to add the node\n    pDependencies : List[cudaGraphNode_t]\n        Dependencies of the node\n    numDependencies : size_t\n        Number of dependencies\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    pGraphNode : cudaGraphNode_t\n        Returns newly created node\n\n    See Also\n    --------\n    cudaGraphCreate\n    cudaGraphDestroyNode\n    cudaGraphAddChildGraphNode\n    cudaGraphAddKernelNode\n    cudaGraphAddHostNode\n    cudaGraphAddMemcpyNode\n    cudaGraphAddMemsetNode\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_399cudaGraphAddEmptyNode = {"cudaGraphAddEmptyNode", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_399cudaGraphAddEmptyNode, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_398cudaGraphAddEmptyNode};
static PyObject *__pyx_pw_4cuda_6cudart_399cudaGraphAddEmptyNode(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, 16853, __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, 16853, __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, 16853, __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, 16853, __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, 16853, __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_398cudaGraphAddEmptyNode(__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":16897
 *     """
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */

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, 16897, __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, 16897, __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], 16897, 0, __PYX_ERR(0, 16897, __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, 16897, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies)) { __Pyx_RaiseClosureNameError("pDependencies"); __PYX_ERR(0, 16897, __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, 16897, __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, 16897, __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, 16897, __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, 16897, __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, 16897, __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, 16897, __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, 16897, __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":16853
 * 
 * @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_398cudaGraphAddEmptyNode(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;
  struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *__pyx_v_pGraphNode = 0;
  __pyx_t_4cuda_7ccudart_cudaGraphNode_t *__pyx_v_cpDependencies;
  Py_ssize_t __pyx_v_idx;
  __pyx_t_4cuda_7ccudart_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;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  __pyx_t_4cuda_7ccudart_cudaGraphNode_t *__pyx_t_10;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_t_11;
  PyObject *__pyx_t_12 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__539)
  __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, 16853, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __Pyx_TraceCall("cudaGraphAddEmptyNode", __pyx_f[0], 16853, 0, __PYX_ERR(0, 16853, __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":16896
 *     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, 16896, __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":16897
 *     """
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */
  __pyx_t_1 = __pyx_pf_4cuda_6cudart_21cudaGraphAddEmptyNode_genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16897, __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, 16897, __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, 16897, __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":16898
 *     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]")             # <<<<<<<<<<<<<<
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__520, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16898, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 16898, __pyx_L1_error)

    /* "cuda/cudart.pyx":16897
 *     """
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */
  }

  /* "cuda/cudart.pyx":16899
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 */
  __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_L5_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_L5_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_4 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":16900
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))             # <<<<<<<<<<<<<<
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 */
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_graph))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16900, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_graph_is_not_instance_o, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16900, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16900, __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, 16900, __pyx_L1_error)

    /* "cuda/cudart.pyx":16899
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 */
  }

  /* "cuda/cudart.pyx":16901
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:
 */
  __pyx_t_3 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16901, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_v_pGraphNode = ((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":16902
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     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":16903
 *     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_3 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_6 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16903, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_2 = ((__pyx_t_6 > 0) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":16904
 *     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_3 = __pyx_cur_scope->__pyx_v_pDependencies;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_6 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16904, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_cpDependencies = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t *)calloc(__pyx_t_6, (sizeof(__pyx_t_4cuda_7ccudart_cudaGraphNode_t))));

    /* "cuda/cudart.pyx":16905
 *     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":16906
 *         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_3 = __pyx_cur_scope->__pyx_v_pDependencies;
      __Pyx_INCREF(__pyx_t_3);
      __pyx_t_6 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16906, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16906, __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, 16906, __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_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16906, __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, 16906, __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(__pyx_t_4cuda_7ccudart_cudaGraphNode_t))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16906, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16906, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16906, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16906, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(0, 16906, __pyx_L1_error)

      /* "cuda/cudart.pyx":16905
 *     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":16908
 *             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_7 = __pyx_cur_scope->__pyx_v_pDependencies;
      __Pyx_INCREF(__pyx_t_7);
      __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16908, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_8 = __pyx_t_6;
      for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
        __pyx_v_idx = __pyx_t_9;

        /* "cuda/cudart.pyx":16909
 *         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_7 = __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_7)) __PYX_ERR(0, 16909, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        (__pyx_v_cpDependencies[__pyx_v_idx]) = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_7)->__pyx_base._ptr[0]));
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }

    /* "cuda/cudart.pyx":16903
 *     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":16911
 *                 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, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies)
 *     if cpDependencies is not NULL:
 */
  __pyx_t_7 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_7);
  __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16911, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_2 = ((__pyx_v_numDependencies > ((size_t)__pyx_t_6)) != 0);
  if (unlikely(__pyx_t_2)) {
    __pyx_t_7 = __pyx_cur_scope->__pyx_v_pDependencies;
    __Pyx_INCREF(__pyx_t_7);
    __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16911, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16911, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16911, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_kp_u_List_is_too_small, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16911, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_t_7, __pyx_kp_u__395); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16911, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16911, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16911, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16911, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16911, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(0, 16911, __pyx_L1_error)
  }

  /* "cuda/cudart.pyx":16912
 * 
 *     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, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies)             # <<<<<<<<<<<<<<
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)
 */
  __pyx_t_1 = __pyx_cur_scope->__pyx_v_pDependencies;
  __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, 16912, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (((__pyx_t_6 == 1) != 0)) {
    __pyx_t_1 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_pDependencies, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16912, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_10 = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t *)((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_1)->__pyx_base._ptr);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  } else {
    __pyx_t_10 = __pyx_v_cpDependencies;
  }
  __pyx_t_11 = __pyx_f_4cuda_7ccudart_cudaGraphAddEmptyNode(((__pyx_t_4cuda_7ccudart_cudaGraphNode_t *)__pyx_v_pGraphNode->__pyx_base._ptr), ((__pyx_t_4cuda_7ccudart_cudaGraph_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraph_t *)__pyx_v_graph)->__pyx_base._ptr[0])), __pyx_t_10, __pyx_v_numDependencies); if (unlikely(__pyx_t_11 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 16912, __pyx_L1_error)
  __pyx_v_err = __pyx_t_11;

  /* "cuda/cudart.pyx":16913
 *     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, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <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_2 = ((__pyx_v_cpDependencies != NULL) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":16914
 *     err = ccudart.cudaGraphAddEmptyNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <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":16913
 *     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, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <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":16915
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)
 *     return (cudaError_t(err), pGraphNode)             # <<<<<<<<<<<<<<
 * 
 * @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, 16915, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16915, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_12 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_7);
    if (likely(__pyx_t_12)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_12);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_7, function);
    }
  }
  __pyx_t_1 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_12, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_3);
  __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16915, __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, 16915, __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_pGraphNode));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pGraphNode));
  PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_pGraphNode));
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":16853
 * 
 * @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_7);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddEmptyNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __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":16918
 * 
 * @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_401cudaGraphAddEventRecordNode(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_400cudaGraphAddEventRecordNode[] = "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 : CUgraph or cudaGraph_t\n        Graph to which to add the node\n    dependencies : List[cudaGraphNode_t]\n        Dependencies of the node\n    numDependencies : size_t\n        Number of dependencies\n    event : CUevent or cudaEvent_t\n        Event for the node\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    phGraphNode : cudaGraphNode_t\n        Returns newly created node\n\n    See Also\n    --------\n    cudaGraphAddEventWaitNode\n    cudaEventRecordWithFlags\n    cudaStreamWaitEvent\n    cudaGraphCreate\n    cudaGraphDestroyNode\n    cudaGraphAddChildGraphNode\n    cudaGraphAddEmptyNode\n    cudaGraphAddKernelNode\n    cudaGraphAddMemcpyNode\n    cudaGraphAddMemsetNode\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_401cudaGraphAddEventRecordNode = {"cudaGraphAddEventRecordNode", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_401cudaGraphAddEventRecordNode, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_400cudaGraphAddEventRecordNode};
static PyObject *__pyx_pw_4cuda_6cudart_401cudaGraphAddEventRecordNode(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,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, 16918, __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, 16918, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_event)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphAddEventRecordNode", 1, 4, 4, 3); __PYX_ERR(0, 16918, __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, 16918, __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, 16918, __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, 16918, __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_400cudaGraphAddEventRecordNode(__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":16968
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */

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, 16968, __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, 16968, __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], 16968, 0, __PYX_ERR(0, 16968, __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, 16968, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies)) { __Pyx_RaiseClosureNameError("pDependencies"); __PYX_ERR(0, 16968, __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, 16968, __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, 16968, __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, 16968, __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, 16968, __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, 16968, __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, 16968, __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, 16968, __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":16918
 * 
 * @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_400cudaGraphAddEventRecordNode(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;
  struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *__pyx_v_pGraphNode = 0;
  __pyx_t_4cuda_7ccudart_cudaGraphNode_t *__pyx_v_cpDependencies;
  Py_ssize_t __pyx_v_idx;
  __pyx_t_4cuda_7ccudart_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;
  PyObject *__pyx_t_5 = NULL;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  __pyx_t_4cuda_7ccudart_cudaGraphNode_t *__pyx_t_10;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_t_11;
  PyObject *__pyx_t_12 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__540)
  __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, 16918, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __Pyx_TraceCall("cudaGraphAddEventRecordNode", __pyx_f[0], 16918, 0, __PYX_ERR(0, 16918, __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":16965
 *     cudaGraphAddMemsetNode
 *     """
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     pDependencies = [] if pDependencies is None else pDependencies
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_6cudart_cudaEvent_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_4cuda_CUevent); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":16966
 *     """
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))             # <<<<<<<<<<<<<<
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_event))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16966, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_event_is_not_instance_o, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16966, __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, 16966, __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, 16966, __pyx_L1_error)

    /* "cuda/cudart.pyx":16965
 *     cudaGraphAddMemsetNode
 *     """
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     pDependencies = [] if pDependencies is None else pDependencies
 */
  }

  /* "cuda/cudart.pyx":16967
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     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_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16967, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_4 = __pyx_t_5;
    __pyx_t_5 = 0;
  } else {
    __Pyx_INCREF(__pyx_cur_scope->__pyx_v_pDependencies);
    __pyx_t_4 = __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_4);
  __Pyx_GIVEREF(__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":16968
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */
  __pyx_t_4 = __pyx_pf_4cuda_6cudart_27cudaGraphAddEventRecordNode_genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16968, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_Generator_Next(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16968, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 16968, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_1 = ((!__pyx_t_2) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "cuda/cudart.pyx":16969
 *     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]")             # <<<<<<<<<<<<<<
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 */
    __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__520, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16969, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_Raise(__pyx_t_5, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __PYX_ERR(0, 16969, __pyx_L1_error)

    /* "cuda/cudart.pyx":16968
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */
  }

  /* "cuda/cudart.pyx":16970
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 */
  __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)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":16971
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))             # <<<<<<<<<<<<<<
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 */
    __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_graph))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16971, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_graph_is_not_instance_o, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16971, __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, 16971, __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, 16971, __pyx_L1_error)

    /* "cuda/cudart.pyx":16970
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 */
  }

  /* "cuda/cudart.pyx":16972
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:
 */
  __pyx_t_5 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16972, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_v_pGraphNode = ((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_5);
  __pyx_t_5 = 0;

  /* "cuda/cudart.pyx":16973
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     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":16974
 *     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_5 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_6 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16974, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_2 = ((__pyx_t_6 > 0) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":16975
 *     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_5 = __pyx_cur_scope->__pyx_v_pDependencies;
    __Pyx_INCREF(__pyx_t_5);
    __pyx_t_6 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16975, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_v_cpDependencies = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t *)calloc(__pyx_t_6, (sizeof(__pyx_t_4cuda_7ccudart_cudaGraphNode_t))));

    /* "cuda/cudart.pyx":16976
 *     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":16977
 *         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_5 = __pyx_cur_scope->__pyx_v_pDependencies;
      __Pyx_INCREF(__pyx_t_5);
      __pyx_t_6 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16977, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16977, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16977, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Failed_to_allocate_length_x_size_2, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16977, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_t_5, __pyx_n_u_x_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16977, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_4cuda_7ccudart_cudaGraphNode_t))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16977, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16977, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_t_4, __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16977, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __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_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16977, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(0, 16977, __pyx_L1_error)

      /* "cuda/cudart.pyx":16976
 *     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":16979
 *             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_7 = __pyx_cur_scope->__pyx_v_pDependencies;
      __Pyx_INCREF(__pyx_t_7);
      __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16979, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_8 = __pyx_t_6;
      for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
        __pyx_v_idx = __pyx_t_9;

        /* "cuda/cudart.pyx":16980
 *         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_7 = __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_7)) __PYX_ERR(0, 16980, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        (__pyx_v_cpDependencies[__pyx_v_idx]) = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_7)->__pyx_base._ptr[0]));
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }

    /* "cuda/cudart.pyx":16974
 *     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":16982
 *                 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, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, <ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0])
 *     if cpDependencies is not NULL:
 */
  __pyx_t_7 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_7);
  __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16982, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_2 = ((__pyx_v_numDependencies > ((size_t)__pyx_t_6)) != 0);
  if (unlikely(__pyx_t_2)) {
    __pyx_t_7 = __pyx_cur_scope->__pyx_v_pDependencies;
    __Pyx_INCREF(__pyx_t_7);
    __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16982, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16982, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16982, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_kp_u_List_is_too_small, __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16982, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_t_7, __pyx_kp_u__395); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16982, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16982, __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, 16982, __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_5, __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16982, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16982, __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, 16982, __pyx_L1_error)
  }

  /* "cuda/cudart.pyx":16983
 * 
 *     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, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, <ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0])             # <<<<<<<<<<<<<<
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)
 */
  __pyx_t_4 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_6 = PyObject_Length(__pyx_t_4); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 16983, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (((__pyx_t_6 == 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, 16983, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_10 = ((__pyx_t_4cuda_7ccudart_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_10 = __pyx_v_cpDependencies;
  }
  __pyx_t_11 = __pyx_f_4cuda_7ccudart_cudaGraphAddEventRecordNode(((__pyx_t_4cuda_7ccudart_cudaGraphNode_t *)__pyx_v_pGraphNode->__pyx_base._ptr), ((__pyx_t_4cuda_7ccudart_cudaGraph_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraph_t *)__pyx_v_graph)->__pyx_base._ptr[0])), __pyx_t_10, __pyx_v_numDependencies, ((__pyx_t_4cuda_7ccudart_cudaEvent_t)(((struct __pyx_obj_4cuda_6cudart_cudaEvent_t *)__pyx_v_event)->__pyx_base._ptr[0]))); if (unlikely(__pyx_t_11 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 16983, __pyx_L1_error)
  __pyx_v_err = __pyx_t_11;

  /* "cuda/cudart.pyx":16984
 *     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, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, <ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0])
 *     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":16985
 *     err = ccudart.cudaGraphAddEventRecordNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, <ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0])
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pGraphNode)
 * 
 */
    free(__pyx_v_cpDependencies);

    /* "cuda/cudart.pyx":16984
 *     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, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, <ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0])
 *     if cpDependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cpDependencies)
 *     return (cudaError_t(err), pGraphNode)
 */
  }

  /* "cuda/cudart.pyx":16986
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)
 *     return (cudaError_t(err), pGraphNode)             # <<<<<<<<<<<<<<
 * 
 * @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, 16986, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16986, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_12 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_7);
    if (likely(__pyx_t_12)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_12);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_7, function);
    }
  }
  __pyx_t_4 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_12, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_5);
  __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16986, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 16986, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4);
  __Pyx_INCREF(((PyObject *)__pyx_v_pGraphNode));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pGraphNode));
  PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_pGraphNode));
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":16918
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddEventRecordNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __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":16989
 * 
 * @cython.embedsignature(True)
 * def cudaGraphEventRecordNodeGetEvent(node):             # <<<<<<<<<<<<<<
 *     """ Returns the event associated with an event record node.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_403cudaGraphEventRecordNodeGetEvent(PyObject *__pyx_self, PyObject *__pyx_v_node); /*proto*/
static char __pyx_doc_4cuda_6cudart_402cudaGraphEventRecordNodeGetEvent[] = "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 : CUgraphNode or cudaGraphNode_t\n        Node to get the event for\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    event_out : cudaEvent_t\n        Pointer to return the event\n\n    See Also\n    --------\n    cudaGraphAddEventRecordNode\n    cudaGraphEventRecordNodeSetEvent\n    cudaGraphEventWaitNodeGetEvent\n    cudaEventRecordWithFlags\n    cudaStreamWaitEvent\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_403cudaGraphEventRecordNodeGetEvent = {"cudaGraphEventRecordNodeGetEvent", (PyCFunction)__pyx_pw_4cuda_6cudart_403cudaGraphEventRecordNodeGetEvent, METH_O, __pyx_doc_4cuda_6cudart_402cudaGraphEventRecordNodeGetEvent};
static PyObject *__pyx_pw_4cuda_6cudart_403cudaGraphEventRecordNodeGetEvent(PyObject *__pyx_self, PyObject *__pyx_v_node) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphEventRecordNodeGetEvent (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_402cudaGraphEventRecordNodeGetEvent(__pyx_self, ((PyObject *)__pyx_v_node));

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

static PyObject *__pyx_pf_4cuda_6cudart_402cudaGraphEventRecordNodeGetEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node) {
  struct __pyx_obj_4cuda_6cudart_cudaEvent_t *__pyx_v_event_out = 0;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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("cudaGraphEventRecordNodeGetEvent", 0);
  __Pyx_TraceCall("cudaGraphEventRecordNodeGetEvent", __pyx_f[0], 16989, 0, __PYX_ERR(0, 16989, __pyx_L1_error));

  /* "cuda/cudart.pyx":17015
 *     cudaStreamWaitEvent
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef cudaEvent_t event_out = cudaEvent_t()
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":17016
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))             # <<<<<<<<<<<<<<
 *     cdef cudaEvent_t event_out = cudaEvent_t()
 *     err = ccudart.cudaGraphEventRecordNodeGetEvent(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], <ccudart.cudaEvent_t*>event_out._ptr)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_node))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17016, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_node_is_not_instance_of, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17016, __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, 17016, __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, 17016, __pyx_L1_error)

    /* "cuda/cudart.pyx":17015
 *     cudaStreamWaitEvent
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef cudaEvent_t event_out = cudaEvent_t()
 */
  }

  /* "cuda/cudart.pyx":17017
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef cudaEvent_t event_out = cudaEvent_t()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphEventRecordNodeGetEvent(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], <ccudart.cudaEvent_t*>event_out._ptr)
 *     return (cudaError_t(err), event_out)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaEvent_t)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17017, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_event_out = ((struct __pyx_obj_4cuda_6cudart_cudaEvent_t *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":17018
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef cudaEvent_t event_out = cudaEvent_t()
 *     err = ccudart.cudaGraphEventRecordNodeGetEvent(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], <ccudart.cudaEvent_t*>event_out._ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), event_out)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaGraphEventRecordNodeGetEvent(((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_v_node)->__pyx_base._ptr[0])), ((__pyx_t_4cuda_7ccudart_cudaEvent_t *)__pyx_v_event_out->__pyx_base._ptr)); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 17018, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":17019
 *     cdef cudaEvent_t event_out = cudaEvent_t()
 *     err = ccudart.cudaGraphEventRecordNodeGetEvent(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], <ccudart.cudaEvent_t*>event_out._ptr)
 *     return (cudaError_t(err), event_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, 17019, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17019, __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_4 = (__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_4)) __PYX_ERR(0, 17019, __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, 17019, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
  __Pyx_INCREF(((PyObject *)__pyx_v_event_out));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_event_out));
  PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_event_out));
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":16989
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphEventRecordNodeGetEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_event_out);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":17022
 * 
 * @cython.embedsignature(True)
 * def cudaGraphEventRecordNodeSetEvent(node, event):             # <<<<<<<<<<<<<<
 *     """ Sets an event record node's event.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_405cudaGraphEventRecordNodeSetEvent(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_404cudaGraphEventRecordNodeSetEvent[] = "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 : CUgraphNode or cudaGraphNode_t\n        Node to set the event for\n    event : CUevent or cudaEvent_t\n        Event to use\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    None\n        None\n\n    See Also\n    --------\n    cudaGraphAddEventRecordNode\n    cudaGraphEventRecordNodeGetEvent\n    cudaGraphEventWaitNodeSetEvent\n    cudaEventRecordWithFlags\n    cudaStreamWaitEvent\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_405cudaGraphEventRecordNodeSetEvent = {"cudaGraphEventRecordNodeSetEvent", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_405cudaGraphEventRecordNodeSetEvent, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_404cudaGraphEventRecordNodeSetEvent};
static PyObject *__pyx_pw_4cuda_6cudart_405cudaGraphEventRecordNodeSetEvent(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,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)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphEventRecordNodeSetEvent", 1, 2, 2, 1); __PYX_ERR(0, 17022, __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, 17022, __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, 17022, __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_404cudaGraphEventRecordNodeSetEvent(__pyx_self, __pyx_v_node, __pyx_v_event);

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

static PyObject *__pyx_pf_4cuda_6cudart_404cudaGraphEventRecordNodeSetEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node, PyObject *__pyx_v_event) {
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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("cudaGraphEventRecordNodeSetEvent", 0);
  __Pyx_TraceCall("cudaGraphEventRecordNodeSetEvent", __pyx_f[0], 17022, 0, __PYX_ERR(0, 17022, __pyx_L1_error));

  /* "cuda/cudart.pyx":17050
 *     cudaStreamWaitEvent
 *     """
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_6cudart_cudaEvent_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_4cuda_CUevent); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":17051
 *     """
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))             # <<<<<<<<<<<<<<
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_event))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17051, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_event_is_not_instance_o, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17051, __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, 17051, __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, 17051, __pyx_L1_error)

    /* "cuda/cudart.pyx":17050
 *     cudaStreamWaitEvent
 *     """
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 */
  }

  /* "cuda/cudart.pyx":17052
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     err = ccudart.cudaGraphEventRecordNodeSetEvent(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], <ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0])
 */
  __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)) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "cuda/cudart.pyx":17053
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphEventRecordNodeSetEvent(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], <ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0])
 *     return (cudaError_t(err),)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_node))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17053, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_node_is_not_instance_of, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17053, __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, 17053, __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, 17053, __pyx_L1_error)

    /* "cuda/cudart.pyx":17052
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     err = ccudart.cudaGraphEventRecordNodeSetEvent(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], <ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0])
 */
  }

  /* "cuda/cudart.pyx":17054
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     err = ccudart.cudaGraphEventRecordNodeSetEvent(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], <ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaGraphEventRecordNodeSetEvent(((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_v_node)->__pyx_base._ptr[0])), ((__pyx_t_4cuda_7ccudart_cudaEvent_t)(((struct __pyx_obj_4cuda_6cudart_cudaEvent_t *)__pyx_v_event)->__pyx_base._ptr[0]))); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 17054, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":17055
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     err = ccudart.cudaGraphEventRecordNodeSetEvent(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], <ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0])
 *     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, 17055, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17055, __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_4 = (__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_4)) __PYX_ERR(0, 17055, __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, 17055, __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":17022
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphEventRecordNodeSetEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":17058
 * 
 * @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_407cudaGraphAddEventWaitNode(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_406cudaGraphAddEventWaitNode[] = "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    cuEventRecord() for details on what is captured by an event. The\n    synchronization will be performed efficiently on the device when\n    applicable. `event` may be from a different context or device than the\n    launch stream.\n\n    These nodes may not be used in loops or conditionals.\n\n    Parameters\n    ----------\n    hGraph : CUgraph or cudaGraph_t\n        Graph to which to add the node\n    dependencies : List[cudaGraphNode_t]\n        Dependencies of the node\n    numDependencies : size_t\n        Number of dependencies\n    event : CUevent or cudaEvent_t\n        Event for the node\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    phGraphNode : cudaGraphNode_t\n        Returns newly created node\n\n    See Also\n    --------\n    cudaGraphAddEventRecordNode\n    cudaEventRecordWithFlags\n    cudaStreamWaitEvent\n    cudaGraphCreate\n    cudaGraphDestroyNode\n    cudaGraphAddChildGraphNode\n    cudaGraphAddEmptyNode\n    cudaGraphAddKernelNode\n    cudaGraphAddMemcpyNode\n    cudaGraphAddMemsetNode\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_407cudaGraphAddEventWaitNode = {"cudaGraphAddEventWaitNode", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_407cudaGraphAddEventWaitNode, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_406cudaGraphAddEventWaitNode};
static PyObject *__pyx_pw_4cuda_6cudart_407cudaGraphAddEventWaitNode(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,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, 17058, __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, 17058, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_event)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphAddEventWaitNode", 1, 4, 4, 3); __PYX_ERR(0, 17058, __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, 17058, __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, 17058, __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, 17058, __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_406cudaGraphAddEventWaitNode(__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":17111
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */

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, 17111, __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, 17111, __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], 17111, 0, __PYX_ERR(0, 17111, __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, 17111, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies)) { __Pyx_RaiseClosureNameError("pDependencies"); __PYX_ERR(0, 17111, __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, 17111, __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, 17111, __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, 17111, __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, 17111, __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, 17111, __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, 17111, __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, 17111, __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":17058
 * 
 * @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_406cudaGraphAddEventWaitNode(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;
  struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *__pyx_v_pGraphNode = 0;
  __pyx_t_4cuda_7ccudart_cudaGraphNode_t *__pyx_v_cpDependencies;
  Py_ssize_t __pyx_v_idx;
  __pyx_t_4cuda_7ccudart_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;
  PyObject *__pyx_t_5 = NULL;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  __pyx_t_4cuda_7ccudart_cudaGraphNode_t *__pyx_t_10;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_t_11;
  PyObject *__pyx_t_12 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__543)
  __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, 17058, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __Pyx_TraceCall("cudaGraphAddEventWaitNode", __pyx_f[0], 17058, 0, __PYX_ERR(0, 17058, __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":17108
 *     cudaGraphAddMemsetNode
 *     """
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     pDependencies = [] if pDependencies is None else pDependencies
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_6cudart_cudaEvent_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_4cuda_CUevent); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":17109
 *     """
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))             # <<<<<<<<<<<<<<
 *     pDependencies = [] if pDependencies is None else pDependencies
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in pDependencies):
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_event))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17109, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_event_is_not_instance_o, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17109, __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, 17109, __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, 17109, __pyx_L1_error)

    /* "cuda/cudart.pyx":17108
 *     cudaGraphAddMemsetNode
 *     """
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     pDependencies = [] if pDependencies is None else pDependencies
 */
  }

  /* "cuda/cudart.pyx":17110
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     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_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17110, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_4 = __pyx_t_5;
    __pyx_t_5 = 0;
  } else {
    __Pyx_INCREF(__pyx_cur_scope->__pyx_v_pDependencies);
    __pyx_t_4 = __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_4);
  __Pyx_GIVEREF(__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":17111
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */
  __pyx_t_4 = __pyx_pf_4cuda_6cudart_25cudaGraphAddEventWaitNode_genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17111, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_Generator_Next(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17111, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 17111, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_1 = ((!__pyx_t_2) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "cuda/cudart.pyx":17112
 *     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]")             # <<<<<<<<<<<<<<
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 */
    __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__520, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17112, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_Raise(__pyx_t_5, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __PYX_ERR(0, 17112, __pyx_L1_error)

    /* "cuda/cudart.pyx":17111
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */
  }

  /* "cuda/cudart.pyx":17113
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 */
  __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)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":17114
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))             # <<<<<<<<<<<<<<
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 */
    __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_graph))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17114, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_graph_is_not_instance_o, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17114, __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, 17114, __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, 17114, __pyx_L1_error)

    /* "cuda/cudart.pyx":17113
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 */
  }

  /* "cuda/cudart.pyx":17115
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:
 */
  __pyx_t_5 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17115, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_v_pGraphNode = ((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_5);
  __pyx_t_5 = 0;

  /* "cuda/cudart.pyx":17116
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     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":17117
 *     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_5 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_6 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 17117, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_2 = ((__pyx_t_6 > 0) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":17118
 *     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_5 = __pyx_cur_scope->__pyx_v_pDependencies;
    __Pyx_INCREF(__pyx_t_5);
    __pyx_t_6 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 17118, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_v_cpDependencies = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t *)calloc(__pyx_t_6, (sizeof(__pyx_t_4cuda_7ccudart_cudaGraphNode_t))));

    /* "cuda/cudart.pyx":17119
 *     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":17120
 *         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_5 = __pyx_cur_scope->__pyx_v_pDependencies;
      __Pyx_INCREF(__pyx_t_5);
      __pyx_t_6 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 17120, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17120, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17120, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Failed_to_allocate_length_x_size_2, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17120, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_t_5, __pyx_n_u_x_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17120, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_4cuda_7ccudart_cudaGraphNode_t))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17120, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17120, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_t_4, __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17120, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __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_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17120, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(0, 17120, __pyx_L1_error)

      /* "cuda/cudart.pyx":17119
 *     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":17122
 *             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_7 = __pyx_cur_scope->__pyx_v_pDependencies;
      __Pyx_INCREF(__pyx_t_7);
      __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 17122, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_8 = __pyx_t_6;
      for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
        __pyx_v_idx = __pyx_t_9;

        /* "cuda/cudart.pyx":17123
 *         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_7 = __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_7)) __PYX_ERR(0, 17123, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        (__pyx_v_cpDependencies[__pyx_v_idx]) = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_7)->__pyx_base._ptr[0]));
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }

    /* "cuda/cudart.pyx":17117
 *     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":17125
 *                 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, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, <ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0])
 *     if cpDependencies is not NULL:
 */
  __pyx_t_7 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_7);
  __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 17125, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_2 = ((__pyx_v_numDependencies > ((size_t)__pyx_t_6)) != 0);
  if (unlikely(__pyx_t_2)) {
    __pyx_t_7 = __pyx_cur_scope->__pyx_v_pDependencies;
    __Pyx_INCREF(__pyx_t_7);
    __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 17125, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17125, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17125, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_kp_u_List_is_too_small, __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17125, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_t_7, __pyx_kp_u__395); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17125, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17125, __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, 17125, __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_5, __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17125, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17125, __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, 17125, __pyx_L1_error)
  }

  /* "cuda/cudart.pyx":17126
 * 
 *     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, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, <ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0])             # <<<<<<<<<<<<<<
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)
 */
  __pyx_t_4 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_6 = PyObject_Length(__pyx_t_4); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 17126, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (((__pyx_t_6 == 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, 17126, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_10 = ((__pyx_t_4cuda_7ccudart_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_10 = __pyx_v_cpDependencies;
  }
  __pyx_t_11 = __pyx_f_4cuda_7ccudart_cudaGraphAddEventWaitNode(((__pyx_t_4cuda_7ccudart_cudaGraphNode_t *)__pyx_v_pGraphNode->__pyx_base._ptr), ((__pyx_t_4cuda_7ccudart_cudaGraph_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraph_t *)__pyx_v_graph)->__pyx_base._ptr[0])), __pyx_t_10, __pyx_v_numDependencies, ((__pyx_t_4cuda_7ccudart_cudaEvent_t)(((struct __pyx_obj_4cuda_6cudart_cudaEvent_t *)__pyx_v_event)->__pyx_base._ptr[0]))); if (unlikely(__pyx_t_11 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 17126, __pyx_L1_error)
  __pyx_v_err = __pyx_t_11;

  /* "cuda/cudart.pyx":17127
 *     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, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, <ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0])
 *     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":17128
 *     err = ccudart.cudaGraphAddEventWaitNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, <ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0])
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pGraphNode)
 * 
 */
    free(__pyx_v_cpDependencies);

    /* "cuda/cudart.pyx":17127
 *     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, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, <ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0])
 *     if cpDependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cpDependencies)
 *     return (cudaError_t(err), pGraphNode)
 */
  }

  /* "cuda/cudart.pyx":17129
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)
 *     return (cudaError_t(err), pGraphNode)             # <<<<<<<<<<<<<<
 * 
 * @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, 17129, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17129, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_12 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_7);
    if (likely(__pyx_t_12)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_12);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_7, function);
    }
  }
  __pyx_t_4 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_12, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_5);
  __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17129, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17129, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4);
  __Pyx_INCREF(((PyObject *)__pyx_v_pGraphNode));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pGraphNode));
  PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_pGraphNode));
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":17058
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddEventWaitNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __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":17132
 * 
 * @cython.embedsignature(True)
 * def cudaGraphEventWaitNodeGetEvent(node):             # <<<<<<<<<<<<<<
 *     """ Returns the event associated with an event wait node.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_409cudaGraphEventWaitNodeGetEvent(PyObject *__pyx_self, PyObject *__pyx_v_node); /*proto*/
static char __pyx_doc_4cuda_6cudart_408cudaGraphEventWaitNodeGetEvent[] = "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 : CUgraphNode or cudaGraphNode_t\n        Node to get the event for\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    event_out : cudaEvent_t\n        Pointer to return the event\n\n    See Also\n    --------\n    cudaGraphAddEventWaitNode\n    cudaGraphEventWaitNodeSetEvent\n    cudaGraphEventRecordNodeGetEvent\n    cudaEventRecordWithFlags\n    cudaStreamWaitEvent\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_409cudaGraphEventWaitNodeGetEvent = {"cudaGraphEventWaitNodeGetEvent", (PyCFunction)__pyx_pw_4cuda_6cudart_409cudaGraphEventWaitNodeGetEvent, METH_O, __pyx_doc_4cuda_6cudart_408cudaGraphEventWaitNodeGetEvent};
static PyObject *__pyx_pw_4cuda_6cudart_409cudaGraphEventWaitNodeGetEvent(PyObject *__pyx_self, PyObject *__pyx_v_node) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphEventWaitNodeGetEvent (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_408cudaGraphEventWaitNodeGetEvent(__pyx_self, ((PyObject *)__pyx_v_node));

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

static PyObject *__pyx_pf_4cuda_6cudart_408cudaGraphEventWaitNodeGetEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node) {
  struct __pyx_obj_4cuda_6cudart_cudaEvent_t *__pyx_v_event_out = 0;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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("cudaGraphEventWaitNodeGetEvent", 0);
  __Pyx_TraceCall("cudaGraphEventWaitNodeGetEvent", __pyx_f[0], 17132, 0, __PYX_ERR(0, 17132, __pyx_L1_error));

  /* "cuda/cudart.pyx":17158
 *     cudaStreamWaitEvent
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef cudaEvent_t event_out = cudaEvent_t()
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":17159
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))             # <<<<<<<<<<<<<<
 *     cdef cudaEvent_t event_out = cudaEvent_t()
 *     err = ccudart.cudaGraphEventWaitNodeGetEvent(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], <ccudart.cudaEvent_t*>event_out._ptr)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_node))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17159, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_node_is_not_instance_of, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17159, __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, 17159, __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, 17159, __pyx_L1_error)

    /* "cuda/cudart.pyx":17158
 *     cudaStreamWaitEvent
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef cudaEvent_t event_out = cudaEvent_t()
 */
  }

  /* "cuda/cudart.pyx":17160
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef cudaEvent_t event_out = cudaEvent_t()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphEventWaitNodeGetEvent(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], <ccudart.cudaEvent_t*>event_out._ptr)
 *     return (cudaError_t(err), event_out)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaEvent_t)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17160, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_event_out = ((struct __pyx_obj_4cuda_6cudart_cudaEvent_t *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":17161
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef cudaEvent_t event_out = cudaEvent_t()
 *     err = ccudart.cudaGraphEventWaitNodeGetEvent(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], <ccudart.cudaEvent_t*>event_out._ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), event_out)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaGraphEventWaitNodeGetEvent(((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_v_node)->__pyx_base._ptr[0])), ((__pyx_t_4cuda_7ccudart_cudaEvent_t *)__pyx_v_event_out->__pyx_base._ptr)); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 17161, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":17162
 *     cdef cudaEvent_t event_out = cudaEvent_t()
 *     err = ccudart.cudaGraphEventWaitNodeGetEvent(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], <ccudart.cudaEvent_t*>event_out._ptr)
 *     return (cudaError_t(err), event_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, 17162, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17162, __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_4 = (__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_4)) __PYX_ERR(0, 17162, __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, 17162, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
  __Pyx_INCREF(((PyObject *)__pyx_v_event_out));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_event_out));
  PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_event_out));
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":17132
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphEventWaitNodeGetEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_event_out);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":17165
 * 
 * @cython.embedsignature(True)
 * def cudaGraphEventWaitNodeSetEvent(node, event):             # <<<<<<<<<<<<<<
 *     """ Sets an event wait node's event.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_411cudaGraphEventWaitNodeSetEvent(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_410cudaGraphEventWaitNodeSetEvent[] = "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 : CUgraphNode or cudaGraphNode_t\n        Node to set the event for\n    event : CUevent or cudaEvent_t\n        Event to use\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    None\n        None\n\n    See Also\n    --------\n    cudaGraphAddEventWaitNode\n    cudaGraphEventWaitNodeGetEvent\n    cudaGraphEventRecordNodeSetEvent\n    cudaEventRecordWithFlags\n    cudaStreamWaitEvent\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_411cudaGraphEventWaitNodeSetEvent = {"cudaGraphEventWaitNodeSetEvent", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_411cudaGraphEventWaitNodeSetEvent, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_410cudaGraphEventWaitNodeSetEvent};
static PyObject *__pyx_pw_4cuda_6cudart_411cudaGraphEventWaitNodeSetEvent(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,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)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphEventWaitNodeSetEvent", 1, 2, 2, 1); __PYX_ERR(0, 17165, __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, 17165, __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, 17165, __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_410cudaGraphEventWaitNodeSetEvent(__pyx_self, __pyx_v_node, __pyx_v_event);

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

static PyObject *__pyx_pf_4cuda_6cudart_410cudaGraphEventWaitNodeSetEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node, PyObject *__pyx_v_event) {
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__545)
  __Pyx_RefNannySetupContext("cudaGraphEventWaitNodeSetEvent", 0);
  __Pyx_TraceCall("cudaGraphEventWaitNodeSetEvent", __pyx_f[0], 17165, 0, __PYX_ERR(0, 17165, __pyx_L1_error));

  /* "cuda/cudart.pyx":17193
 *     cudaStreamWaitEvent
 *     """
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_6cudart_cudaEvent_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_4cuda_CUevent); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":17194
 *     """
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))             # <<<<<<<<<<<<<<
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_event))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17194, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_event_is_not_instance_o, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17194, __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, 17194, __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, 17194, __pyx_L1_error)

    /* "cuda/cudart.pyx":17193
 *     cudaStreamWaitEvent
 *     """
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 */
  }

  /* "cuda/cudart.pyx":17195
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     err = ccudart.cudaGraphEventWaitNodeSetEvent(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], <ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0])
 */
  __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)) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "cuda/cudart.pyx":17196
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphEventWaitNodeSetEvent(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], <ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0])
 *     return (cudaError_t(err),)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_node))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17196, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_node_is_not_instance_of, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17196, __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, 17196, __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, 17196, __pyx_L1_error)

    /* "cuda/cudart.pyx":17195
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     err = ccudart.cudaGraphEventWaitNodeSetEvent(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], <ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0])
 */
  }

  /* "cuda/cudart.pyx":17197
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     err = ccudart.cudaGraphEventWaitNodeSetEvent(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], <ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaGraphEventWaitNodeSetEvent(((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_v_node)->__pyx_base._ptr[0])), ((__pyx_t_4cuda_7ccudart_cudaEvent_t)(((struct __pyx_obj_4cuda_6cudart_cudaEvent_t *)__pyx_v_event)->__pyx_base._ptr[0]))); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 17197, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":17198
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     err = ccudart.cudaGraphEventWaitNodeSetEvent(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], <ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0])
 *     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, 17198, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17198, __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_4 = (__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_4)) __PYX_ERR(0, 17198, __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, 17198, __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":17165
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphEventWaitNodeSetEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":17201
 * 
 * @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_413cudaGraphAddExternalSemaphoresSignalNode(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_412cudaGraphAddExternalSemaphoresSignalNode[] = "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 : CUgraph or cudaGraph_t\n        Graph to which to add the node\n    pDependencies : List[cudaGraphNode_t]\n        Dependencies of the node\n    numDependencies : size_t\n        Number of dependencies\n    nodeParams : cudaExternalSemaphoreSignalNodeParams\n        Parameters for the node\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    pGraphNode : cudaGraphNode_t\n        Returns newly created node\n\n    See Also\n    --------\n    cudaGraphExternalSemaphoresSignalNodeGetParams\n    cudaGraphExternalSemaphoresSignalNodeSetParams\n    cudaGraphExecExternalSemaphoresSignalNodeSetParams\n    cudaGraphAddExternalSemaphoresWaitNode\n    cudaImportExternalSemaphore\n    cudaSignalExternalSemaphoresAsync\n    cudaWaitExternalSemaphoresAsync\n    cudaGraphCreate\n    cudaGraphDestroyNode\n    cudaGraphAddEventRecordNode\n    cudaGraphAddEventWaitNode\n    cudaGraphAddChildGraphNode\n    cudaGraphAddEmptyNode\n    cudaGraphAddKernelNode\n    cudaGraphAddMemcpyNode\n    cudaGraphAddMemsetNode""\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_413cudaGraphAddExternalSemaphoresSignalNode = {"cudaGraphAddExternalSemaphoresSignalNode", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_413cudaGraphAddExternalSemaphoresSignalNode, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_412cudaGraphAddExternalSemaphoresSignalNode};
static PyObject *__pyx_pw_4cuda_6cudart_413cudaGraphAddExternalSemaphoresSignalNode(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, 17201, __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, 17201, __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, 17201, __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, 17201, __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, 17201, __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, 17201, __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, 17201, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_412cudaGraphAddExternalSemaphoresSignalNode(__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":17254
 *     """
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */

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, 17254, __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, 17254, __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], 17254, 0, __PYX_ERR(0, 17254, __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, 17254, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies)) { __Pyx_RaiseClosureNameError("pDependencies"); __PYX_ERR(0, 17254, __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, 17254, __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, 17254, __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, 17254, __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, 17254, __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, 17254, __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, 17254, __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, 17254, __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":17201
 * 
 * @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_412cudaGraphAddExternalSemaphoresSignalNode(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;
  struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *__pyx_v_pGraphNode = 0;
  __pyx_t_4cuda_7ccudart_cudaGraphNode_t *__pyx_v_cpDependencies;
  Py_ssize_t __pyx_v_idx;
  struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreSignalNodeParams *__pyx_v_cnodeParams_ptr;
  __pyx_t_4cuda_7ccudart_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;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreSignalNodeParams *__pyx_t_10;
  __pyx_t_4cuda_7ccudart_cudaGraphNode_t *__pyx_t_11;
  __pyx_t_4cuda_7ccudart_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__546)
  __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, 17201, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __Pyx_TraceCall("cudaGraphAddExternalSemaphoresSignalNode", __pyx_f[0], 17201, 0, __PYX_ERR(0, 17201, __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":17253
 *     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, 17253, __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":17254
 *     """
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */
  __pyx_t_1 = __pyx_pf_4cuda_6cudart_40cudaGraphAddExternalSemaphoresSignalNode_genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17254, __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, 17254, __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, 17254, __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":17255
 *     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]")             # <<<<<<<<<<<<<<
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__520, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17255, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 17255, __pyx_L1_error)

    /* "cuda/cudart.pyx":17254
 *     """
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */
  }

  /* "cuda/cudart.pyx":17256
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 */
  __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_L5_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_L5_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_4 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":17257
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))             # <<<<<<<<<<<<<<
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 */
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_graph))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17257, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_graph_is_not_instance_o, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17257, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17257, __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, 17257, __pyx_L1_error)

    /* "cuda/cudart.pyx":17256
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 */
  }

  /* "cuda/cudart.pyx":17258
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:
 */
  __pyx_t_3 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17258, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_v_pGraphNode = ((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":17259
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     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":17260
 *     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_3 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_6 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 17260, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_2 = ((__pyx_t_6 > 0) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":17261
 *     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_3 = __pyx_cur_scope->__pyx_v_pDependencies;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_6 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 17261, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_cpDependencies = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t *)calloc(__pyx_t_6, (sizeof(__pyx_t_4cuda_7ccudart_cudaGraphNode_t))));

    /* "cuda/cudart.pyx":17262
 *     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":17263
 *         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_3 = __pyx_cur_scope->__pyx_v_pDependencies;
      __Pyx_INCREF(__pyx_t_3);
      __pyx_t_6 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 17263, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17263, __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, 17263, __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_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17263, __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, 17263, __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(__pyx_t_4cuda_7ccudart_cudaGraphNode_t))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17263, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17263, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17263, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17263, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(0, 17263, __pyx_L1_error)

      /* "cuda/cudart.pyx":17262
 *     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":17265
 *             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_7 = __pyx_cur_scope->__pyx_v_pDependencies;
      __Pyx_INCREF(__pyx_t_7);
      __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 17265, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_8 = __pyx_t_6;
      for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
        __pyx_v_idx = __pyx_t_9;

        /* "cuda/cudart.pyx":17266
 *         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_7 = __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_7)) __PYX_ERR(0, 17266, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        (__pyx_v_cpDependencies[__pyx_v_idx]) = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_7)->__pyx_base._ptr[0]));
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }

    /* "cuda/cudart.pyx":17260
 *     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":17268
 *                 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, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cnodeParams_ptr)
 */
  __pyx_t_7 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_7);
  __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 17268, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_2 = ((__pyx_v_numDependencies > ((size_t)__pyx_t_6)) != 0);
  if (unlikely(__pyx_t_2)) {
    __pyx_t_7 = __pyx_cur_scope->__pyx_v_pDependencies;
    __Pyx_INCREF(__pyx_t_7);
    __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 17268, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17268, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17268, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_kp_u_List_is_too_small, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17268, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_t_7, __pyx_kp_u__395); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17268, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17268, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17268, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17268, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17268, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(0, 17268, __pyx_L1_error)
  }

  /* "cuda/cudart.pyx":17269
 * 
 *     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, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cnodeParams_ptr)
 *     if cpDependencies is not NULL:
 */
  __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_nodeParams), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17269, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 17269, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {
    __pyx_t_10 = __pyx_v_nodeParams->_ptr;
  } else {
    __pyx_t_10 = NULL;
  }
  __pyx_v_cnodeParams_ptr = __pyx_t_10;

  /* "cuda/cudart.pyx":17270
 *     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, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <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_1 = __pyx_cur_scope->__pyx_v_pDependencies;
  __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, 17270, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (((__pyx_t_6 == 1) != 0)) {
    __pyx_t_1 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_pDependencies, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17270, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_11 = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t *)((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_1)->__pyx_base._ptr);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  } else {
    __pyx_t_11 = __pyx_v_cpDependencies;
  }
  __pyx_t_12 = __pyx_f_4cuda_7ccudart_cudaGraphAddExternalSemaphoresSignalNode(((__pyx_t_4cuda_7ccudart_cudaGraphNode_t *)__pyx_v_pGraphNode->__pyx_base._ptr), ((__pyx_t_4cuda_7ccudart_cudaGraph_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraph_t *)__pyx_v_graph)->__pyx_base._ptr[0])), __pyx_t_11, __pyx_v_numDependencies, __pyx_v_cnodeParams_ptr); if (unlikely(__pyx_t_12 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 17270, __pyx_L1_error)
  __pyx_v_err = __pyx_t_12;

  /* "cuda/cudart.pyx":17271
 *     cdef ccudart.cudaExternalSemaphoreSignalNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccudart.cudaGraphAddExternalSemaphoresSignalNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <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_2 = ((__pyx_v_cpDependencies != NULL) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":17272
 *     err = ccudart.cudaGraphAddExternalSemaphoresSignalNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <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":17271
 *     cdef ccudart.cudaExternalSemaphoreSignalNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccudart.cudaGraphAddExternalSemaphoresSignalNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <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":17273
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)
 *     return (cudaError_t(err), pGraphNode)             # <<<<<<<<<<<<<<
 * 
 * @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, 17273, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17273, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_13 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_7);
    if (likely(__pyx_t_13)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_13);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_7, function);
    }
  }
  __pyx_t_1 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_13, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_3);
  __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17273, __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, 17273, __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_pGraphNode));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pGraphNode));
  PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_pGraphNode));
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":17201
 * 
 * @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_7);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddExternalSemaphoresSignalNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __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":17276
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExternalSemaphoresSignalNodeGetParams(hNode):             # <<<<<<<<<<<<<<
 *     """ Returns an external semaphore signal node's parameters.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_415cudaGraphExternalSemaphoresSignalNodeGetParams(PyObject *__pyx_self, PyObject *__pyx_v_hNode); /*proto*/
static char __pyx_doc_4cuda_6cudart_414cudaGraphExternalSemaphoresSignalNodeGetParams[] = "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 cudaGraphExternalSemaphoresSignalNodeSetParams\n    to update the parameters of this node.\n\n    Parameters\n    ----------\n    hNode : CUgraphNode or cudaGraphNode_t\n        Node to get the parameters for\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    params_out : cudaExternalSemaphoreSignalNodeParams\n        Pointer to return the parameters\n\n    See Also\n    --------\n    cudaLaunchKernel\n    cudaGraphAddExternalSemaphoresSignalNode\n    cudaGraphExternalSemaphoresSignalNodeSetParams\n    cudaGraphAddExternalSemaphoresWaitNode\n    cudaSignalExternalSemaphoresAsync\n    cudaWaitExternalSemaphoresAsync\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_415cudaGraphExternalSemaphoresSignalNodeGetParams = {"cudaGraphExternalSemaphoresSignalNodeGetParams", (PyCFunction)__pyx_pw_4cuda_6cudart_415cudaGraphExternalSemaphoresSignalNodeGetParams, METH_O, __pyx_doc_4cuda_6cudart_414cudaGraphExternalSemaphoresSignalNodeGetParams};
static PyObject *__pyx_pw_4cuda_6cudart_415cudaGraphExternalSemaphoresSignalNodeGetParams(PyObject *__pyx_self, PyObject *__pyx_v_hNode) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphExternalSemaphoresSignalNodeGetParams (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_414cudaGraphExternalSemaphoresSignalNodeGetParams(__pyx_self, ((PyObject *)__pyx_v_hNode));

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

static PyObject *__pyx_pf_4cuda_6cudart_414cudaGraphExternalSemaphoresSignalNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode) {
  struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *__pyx_v_params_out = 0;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__547)
  __Pyx_RefNannySetupContext("cudaGraphExternalSemaphoresSignalNodeGetParams", 0);
  __Pyx_TraceCall("cudaGraphExternalSemaphoresSignalNodeGetParams", __pyx_f[0], 17276, 0, __PYX_ERR(0, 17276, __pyx_L1_error));

  /* "cuda/cudart.pyx":17308
 *     cudaWaitExternalSemaphoresAsync
 *     """
 *     if not isinstance(hNode, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hNode)))
 *     cdef cudaExternalSemaphoreSignalNodeParams params_out = cudaExternalSemaphoreSignalNodeParams()
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":17309
 *     """
 *     if not isinstance(hNode, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hNode)))             # <<<<<<<<<<<<<<
 *     cdef cudaExternalSemaphoreSignalNodeParams params_out = cudaExternalSemaphoreSignalNodeParams()
 *     err = ccudart.cudaGraphExternalSemaphoresSignalNodeGetParams(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>hNode)._ptr[0], params_out._ptr)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_hNode))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17309, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_hNode_is_not_instance_o, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17309, __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, 17309, __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, 17309, __pyx_L1_error)

    /* "cuda/cudart.pyx":17308
 *     cudaWaitExternalSemaphoresAsync
 *     """
 *     if not isinstance(hNode, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hNode)))
 *     cdef cudaExternalSemaphoreSignalNodeParams params_out = cudaExternalSemaphoreSignalNodeParams()
 */
  }

  /* "cuda/cudart.pyx":17310
 *     if not isinstance(hNode, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hNode)))
 *     cdef cudaExternalSemaphoreSignalNodeParams params_out = cudaExternalSemaphoreSignalNodeParams()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphExternalSemaphoresSignalNodeGetParams(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>hNode)._ptr[0], params_out._ptr)
 *     return (cudaError_t(err), params_out)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17310, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_params_out = ((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":17311
 *         raise TypeError("Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hNode)))
 *     cdef cudaExternalSemaphoreSignalNodeParams params_out = cudaExternalSemaphoreSignalNodeParams()
 *     err = ccudart.cudaGraphExternalSemaphoresSignalNodeGetParams(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>hNode)._ptr[0], params_out._ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), params_out)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaGraphExternalSemaphoresSignalNodeGetParams(((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_v_hNode)->__pyx_base._ptr[0])), __pyx_v_params_out->_ptr); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 17311, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":17312
 *     cdef cudaExternalSemaphoreSignalNodeParams params_out = cudaExternalSemaphoreSignalNodeParams()
 *     err = ccudart.cudaGraphExternalSemaphoresSignalNodeGetParams(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>hNode)._ptr[0], params_out._ptr)
 *     return (cudaError_t(err), params_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, 17312, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17312, __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_4 = (__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_4)) __PYX_ERR(0, 17312, __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, 17312, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
  __Pyx_INCREF(((PyObject *)__pyx_v_params_out));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_params_out));
  PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_params_out));
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":17276
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphExternalSemaphoresSignalNodeGetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_params_out);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":17315
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExternalSemaphoresSignalNodeSetParams(hNode, nodeParams : cudaExternalSemaphoreSignalNodeParams):             # <<<<<<<<<<<<<<
 *     """ Sets an external semaphore signal node's parameters.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_417cudaGraphExternalSemaphoresSignalNodeSetParams(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_416cudaGraphExternalSemaphoresSignalNodeSetParams[] = "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 : CUgraphNode or cudaGraphNode_t\n        Node to set the parameters for\n    nodeParams : cudaExternalSemaphoreSignalNodeParams\n        Parameters to copy\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    None\n        None\n\n    See Also\n    --------\n    cudaGraphAddExternalSemaphoresSignalNode\n    cudaGraphExternalSemaphoresSignalNodeSetParams\n    cudaGraphAddExternalSemaphoresWaitNode\n    cudaSignalExternalSemaphoresAsync\n    cudaWaitExternalSemaphoresAsync\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_417cudaGraphExternalSemaphoresSignalNodeSetParams = {"cudaGraphExternalSemaphoresSignalNodeSetParams", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_417cudaGraphExternalSemaphoresSignalNodeSetParams, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_416cudaGraphExternalSemaphoresSignalNodeSetParams};
static PyObject *__pyx_pw_4cuda_6cudart_417cudaGraphExternalSemaphoresSignalNodeSetParams(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, 17315, __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, 17315, __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, 17315, __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, 17315, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_416cudaGraphExternalSemaphoresSignalNodeSetParams(__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_416cudaGraphExternalSemaphoresSignalNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *__pyx_v_nodeParams) {
  struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreSignalNodeParams *__pyx_v_cnodeParams_ptr;
  __pyx_t_4cuda_7ccudart_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;
  struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreSignalNodeParams *__pyx_t_6;
  __pyx_t_4cuda_7ccudart_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("cudaGraphExternalSemaphoresSignalNodeSetParams", 0);
  __Pyx_TraceCall("cudaGraphExternalSemaphoresSignalNodeSetParams", __pyx_f[0], 17315, 0, __PYX_ERR(0, 17315, __pyx_L1_error));

  /* "cuda/cudart.pyx":17344
 *     cudaWaitExternalSemaphoresAsync
 *     """
 *     if not isinstance(hNode, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hNode)))
 *     cdef ccudart.cudaExternalSemaphoreSignalNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":17345
 *     """
 *     if not isinstance(hNode, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hNode)))             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaExternalSemaphoreSignalNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccudart.cudaGraphExternalSemaphoresSignalNodeSetParams(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>hNode)._ptr[0], cnodeParams_ptr)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_hNode))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17345, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_hNode_is_not_instance_o, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17345, __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, 17345, __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, 17345, __pyx_L1_error)

    /* "cuda/cudart.pyx":17344
 *     cudaWaitExternalSemaphoresAsync
 *     """
 *     if not isinstance(hNode, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hNode)))
 *     cdef ccudart.cudaExternalSemaphoreSignalNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 */
  }

  /* "cuda/cudart.pyx":17346
 *     if not isinstance(hNode, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hNode)))
 *     cdef ccudart.cudaExternalSemaphoreSignalNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphExternalSemaphoresSignalNodeSetParams(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>hNode)._ptr[0], 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, 17346, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 17346, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_2) {
    __pyx_t_6 = __pyx_v_nodeParams->_ptr;
  } else {
    __pyx_t_6 = NULL;
  }
  __pyx_v_cnodeParams_ptr = __pyx_t_6;

  /* "cuda/cudart.pyx":17347
 *         raise TypeError("Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hNode)))
 *     cdef ccudart.cudaExternalSemaphoreSignalNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccudart.cudaGraphExternalSemaphoresSignalNodeSetParams(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>hNode)._ptr[0], cnodeParams_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaGraphExternalSemaphoresSignalNodeSetParams(((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_v_hNode)->__pyx_base._ptr[0])), __pyx_v_cnodeParams_ptr); if (unlikely(__pyx_t_7 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 17347, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":17348
 *     cdef ccudart.cudaExternalSemaphoreSignalNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccudart.cudaGraphExternalSemaphoresSignalNodeSetParams(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>hNode)._ptr[0], cnodeParams_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, 17348, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_8 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17348, __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_4 = (__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_4)) __PYX_ERR(0, 17348, __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, 17348, __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":17315
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphExternalSemaphoresSignalNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":17351
 * 
 * @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_419cudaGraphAddExternalSemaphoresWaitNode(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_418cudaGraphAddExternalSemaphoresWaitNode[] = "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 : CUgraph or cudaGraph_t\n        Graph to which to add the node\n    pDependencies : List[cudaGraphNode_t]\n        Dependencies of the node\n    numDependencies : size_t\n        Number of dependencies\n    nodeParams : cudaExternalSemaphoreWaitNodeParams\n        Parameters for the node\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    pGraphNode : cudaGraphNode_t\n        Returns newly created node\n\n    See Also\n    --------\n    cudaGraphExternalSemaphoresWaitNodeGetParams\n    cudaGraphExternalSemaphoresWaitNodeSetParams\n    cudaGraphExecExternalSemaphoresWaitNodeSetParams\n    cudaGraphAddExternalSemaphoresSignalNode\n    cudaImportExternalSemaphore\n    cudaSignalExternalSemaphoresAsync\n    cudaWaitExternalSemaphoresAsync\n    cudaGraphCreate\n    cudaGraphDestroyNode\n    cudaGraphAddEventRecordNode\n    cudaGraphAddEventWaitNode\n    cudaGraphAddChildGraphNode\n    cudaGraphAddEmptyNode\n    cudaGraphAddKernelNode\n    cudaGraphAddMemcpyNode\n    cudaGraphAddMemsetNode\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_419cudaGraphAddExternalSemaphoresWaitNode = {"cudaGraphAddExternalSemaphoresWaitNode", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_419cudaGraphAddExternalSemaphoresWaitNode, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_418cudaGraphAddExternalSemaphoresWaitNode};
static PyObject *__pyx_pw_4cuda_6cudart_419cudaGraphAddExternalSemaphoresWaitNode(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, 17351, __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, 17351, __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, 17351, __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, 17351, __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, 17351, __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, 17351, __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, 17351, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_418cudaGraphAddExternalSemaphoresWaitNode(__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":17404
 *     """
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */

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, 17404, __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, 17404, __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], 17404, 0, __PYX_ERR(0, 17404, __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, 17404, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies)) { __Pyx_RaiseClosureNameError("pDependencies"); __PYX_ERR(0, 17404, __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, 17404, __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, 17404, __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, 17404, __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, 17404, __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, 17404, __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, 17404, __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, 17404, __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":17351
 * 
 * @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_418cudaGraphAddExternalSemaphoresWaitNode(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;
  struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *__pyx_v_pGraphNode = 0;
  __pyx_t_4cuda_7ccudart_cudaGraphNode_t *__pyx_v_cpDependencies;
  Py_ssize_t __pyx_v_idx;
  struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreWaitNodeParams *__pyx_v_cnodeParams_ptr;
  __pyx_t_4cuda_7ccudart_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;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreWaitNodeParams *__pyx_t_10;
  __pyx_t_4cuda_7ccudart_cudaGraphNode_t *__pyx_t_11;
  __pyx_t_4cuda_7ccudart_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__549)
  __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, 17351, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __Pyx_TraceCall("cudaGraphAddExternalSemaphoresWaitNode", __pyx_f[0], 17351, 0, __PYX_ERR(0, 17351, __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":17403
 *     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, 17403, __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":17404
 *     """
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */
  __pyx_t_1 = __pyx_pf_4cuda_6cudart_38cudaGraphAddExternalSemaphoresWaitNode_genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17404, __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, 17404, __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, 17404, __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":17405
 *     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]")             # <<<<<<<<<<<<<<
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__520, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17405, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 17405, __pyx_L1_error)

    /* "cuda/cudart.pyx":17404
 *     """
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */
  }

  /* "cuda/cudart.pyx":17406
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 */
  __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_L5_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_L5_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_4 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":17407
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))             # <<<<<<<<<<<<<<
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 */
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_graph))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17407, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_graph_is_not_instance_o, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17407, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17407, __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, 17407, __pyx_L1_error)

    /* "cuda/cudart.pyx":17406
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 */
  }

  /* "cuda/cudart.pyx":17408
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:
 */
  __pyx_t_3 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17408, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_v_pGraphNode = ((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":17409
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     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":17410
 *     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_3 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_6 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 17410, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_2 = ((__pyx_t_6 > 0) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":17411
 *     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_3 = __pyx_cur_scope->__pyx_v_pDependencies;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_6 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 17411, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_cpDependencies = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t *)calloc(__pyx_t_6, (sizeof(__pyx_t_4cuda_7ccudart_cudaGraphNode_t))));

    /* "cuda/cudart.pyx":17412
 *     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":17413
 *         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_3 = __pyx_cur_scope->__pyx_v_pDependencies;
      __Pyx_INCREF(__pyx_t_3);
      __pyx_t_6 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 17413, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17413, __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, 17413, __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_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17413, __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, 17413, __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(__pyx_t_4cuda_7ccudart_cudaGraphNode_t))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17413, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17413, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17413, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17413, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(0, 17413, __pyx_L1_error)

      /* "cuda/cudart.pyx":17412
 *     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":17415
 *             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_7 = __pyx_cur_scope->__pyx_v_pDependencies;
      __Pyx_INCREF(__pyx_t_7);
      __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 17415, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_8 = __pyx_t_6;
      for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
        __pyx_v_idx = __pyx_t_9;

        /* "cuda/cudart.pyx":17416
 *         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_7 = __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_7)) __PYX_ERR(0, 17416, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        (__pyx_v_cpDependencies[__pyx_v_idx]) = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_7)->__pyx_base._ptr[0]));
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }

    /* "cuda/cudart.pyx":17410
 *     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":17418
 *                 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, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cnodeParams_ptr)
 */
  __pyx_t_7 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_7);
  __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 17418, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_2 = ((__pyx_v_numDependencies > ((size_t)__pyx_t_6)) != 0);
  if (unlikely(__pyx_t_2)) {
    __pyx_t_7 = __pyx_cur_scope->__pyx_v_pDependencies;
    __Pyx_INCREF(__pyx_t_7);
    __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 17418, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17418, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17418, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_kp_u_List_is_too_small, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17418, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_t_7, __pyx_kp_u__395); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17418, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17418, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17418, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17418, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17418, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(0, 17418, __pyx_L1_error)
  }

  /* "cuda/cudart.pyx":17419
 * 
 *     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, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cnodeParams_ptr)
 *     if cpDependencies is not NULL:
 */
  __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_nodeParams), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17419, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 17419, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {
    __pyx_t_10 = __pyx_v_nodeParams->_ptr;
  } else {
    __pyx_t_10 = NULL;
  }
  __pyx_v_cnodeParams_ptr = __pyx_t_10;

  /* "cuda/cudart.pyx":17420
 *     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, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <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_1 = __pyx_cur_scope->__pyx_v_pDependencies;
  __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, 17420, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (((__pyx_t_6 == 1) != 0)) {
    __pyx_t_1 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_pDependencies, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17420, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_11 = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t *)((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_1)->__pyx_base._ptr);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  } else {
    __pyx_t_11 = __pyx_v_cpDependencies;
  }
  __pyx_t_12 = __pyx_f_4cuda_7ccudart_cudaGraphAddExternalSemaphoresWaitNode(((__pyx_t_4cuda_7ccudart_cudaGraphNode_t *)__pyx_v_pGraphNode->__pyx_base._ptr), ((__pyx_t_4cuda_7ccudart_cudaGraph_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraph_t *)__pyx_v_graph)->__pyx_base._ptr[0])), __pyx_t_11, __pyx_v_numDependencies, __pyx_v_cnodeParams_ptr); if (unlikely(__pyx_t_12 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 17420, __pyx_L1_error)
  __pyx_v_err = __pyx_t_12;

  /* "cuda/cudart.pyx":17421
 *     cdef ccudart.cudaExternalSemaphoreWaitNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccudart.cudaGraphAddExternalSemaphoresWaitNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <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_2 = ((__pyx_v_cpDependencies != NULL) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":17422
 *     err = ccudart.cudaGraphAddExternalSemaphoresWaitNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <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":17421
 *     cdef ccudart.cudaExternalSemaphoreWaitNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccudart.cudaGraphAddExternalSemaphoresWaitNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <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":17423
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)
 *     return (cudaError_t(err), pGraphNode)             # <<<<<<<<<<<<<<
 * 
 * @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, 17423, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17423, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_13 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_7);
    if (likely(__pyx_t_13)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_13);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_7, function);
    }
  }
  __pyx_t_1 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_13, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_3);
  __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17423, __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, 17423, __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_pGraphNode));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pGraphNode));
  PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_pGraphNode));
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":17351
 * 
 * @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_7);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddExternalSemaphoresWaitNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __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":17426
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExternalSemaphoresWaitNodeGetParams(hNode):             # <<<<<<<<<<<<<<
 *     """ Returns an external semaphore wait node's parameters.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_421cudaGraphExternalSemaphoresWaitNodeGetParams(PyObject *__pyx_self, PyObject *__pyx_v_hNode); /*proto*/
static char __pyx_doc_4cuda_6cudart_420cudaGraphExternalSemaphoresWaitNodeGetParams[] = "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 cudaGraphExternalSemaphoresSignalNodeSetParams\n    to update the parameters of this node.\n\n    Parameters\n    ----------\n    hNode : CUgraphNode or cudaGraphNode_t\n        Node to get the parameters for\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    params_out : cudaExternalSemaphoreWaitNodeParams\n        Pointer to return the parameters\n\n    See Also\n    --------\n    cudaLaunchKernel\n    cudaGraphAddExternalSemaphoresWaitNode\n    cudaGraphExternalSemaphoresWaitNodeSetParams\n    cudaSignalExternalSemaphoresAsync\n    cudaWaitExternalSemaphoresAsync\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_421cudaGraphExternalSemaphoresWaitNodeGetParams = {"cudaGraphExternalSemaphoresWaitNodeGetParams", (PyCFunction)__pyx_pw_4cuda_6cudart_421cudaGraphExternalSemaphoresWaitNodeGetParams, METH_O, __pyx_doc_4cuda_6cudart_420cudaGraphExternalSemaphoresWaitNodeGetParams};
static PyObject *__pyx_pw_4cuda_6cudart_421cudaGraphExternalSemaphoresWaitNodeGetParams(PyObject *__pyx_self, PyObject *__pyx_v_hNode) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphExternalSemaphoresWaitNodeGetParams (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_420cudaGraphExternalSemaphoresWaitNodeGetParams(__pyx_self, ((PyObject *)__pyx_v_hNode));

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

static PyObject *__pyx_pf_4cuda_6cudart_420cudaGraphExternalSemaphoresWaitNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode) {
  struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *__pyx_v_params_out = 0;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__550)
  __Pyx_RefNannySetupContext("cudaGraphExternalSemaphoresWaitNodeGetParams", 0);
  __Pyx_TraceCall("cudaGraphExternalSemaphoresWaitNodeGetParams", __pyx_f[0], 17426, 0, __PYX_ERR(0, 17426, __pyx_L1_error));

  /* "cuda/cudart.pyx":17457
 *     cudaWaitExternalSemaphoresAsync
 *     """
 *     if not isinstance(hNode, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hNode)))
 *     cdef cudaExternalSemaphoreWaitNodeParams params_out = cudaExternalSemaphoreWaitNodeParams()
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":17458
 *     """
 *     if not isinstance(hNode, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hNode)))             # <<<<<<<<<<<<<<
 *     cdef cudaExternalSemaphoreWaitNodeParams params_out = cudaExternalSemaphoreWaitNodeParams()
 *     err = ccudart.cudaGraphExternalSemaphoresWaitNodeGetParams(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>hNode)._ptr[0], params_out._ptr)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_hNode))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17458, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_hNode_is_not_instance_o, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17458, __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, 17458, __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, 17458, __pyx_L1_error)

    /* "cuda/cudart.pyx":17457
 *     cudaWaitExternalSemaphoresAsync
 *     """
 *     if not isinstance(hNode, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hNode)))
 *     cdef cudaExternalSemaphoreWaitNodeParams params_out = cudaExternalSemaphoreWaitNodeParams()
 */
  }

  /* "cuda/cudart.pyx":17459
 *     if not isinstance(hNode, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hNode)))
 *     cdef cudaExternalSemaphoreWaitNodeParams params_out = cudaExternalSemaphoreWaitNodeParams()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphExternalSemaphoresWaitNodeGetParams(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>hNode)._ptr[0], params_out._ptr)
 *     return (cudaError_t(err), params_out)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17459, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_params_out = ((struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":17460
 *         raise TypeError("Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hNode)))
 *     cdef cudaExternalSemaphoreWaitNodeParams params_out = cudaExternalSemaphoreWaitNodeParams()
 *     err = ccudart.cudaGraphExternalSemaphoresWaitNodeGetParams(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>hNode)._ptr[0], params_out._ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), params_out)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaGraphExternalSemaphoresWaitNodeGetParams(((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_v_hNode)->__pyx_base._ptr[0])), __pyx_v_params_out->_ptr); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 17460, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":17461
 *     cdef cudaExternalSemaphoreWaitNodeParams params_out = cudaExternalSemaphoreWaitNodeParams()
 *     err = ccudart.cudaGraphExternalSemaphoresWaitNodeGetParams(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>hNode)._ptr[0], params_out._ptr)
 *     return (cudaError_t(err), params_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, 17461, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17461, __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_4 = (__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_4)) __PYX_ERR(0, 17461, __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, 17461, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
  __Pyx_INCREF(((PyObject *)__pyx_v_params_out));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_params_out));
  PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_params_out));
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":17426
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphExternalSemaphoresWaitNodeGetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_params_out);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":17464
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExternalSemaphoresWaitNodeSetParams(hNode, nodeParams : cudaExternalSemaphoreWaitNodeParams):             # <<<<<<<<<<<<<<
 *     """ Sets an external semaphore wait node's parameters.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_423cudaGraphExternalSemaphoresWaitNodeSetParams(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_422cudaGraphExternalSemaphoresWaitNodeSetParams[] = "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 : CUgraphNode or cudaGraphNode_t\n        Node to set the parameters for\n    nodeParams : cudaExternalSemaphoreWaitNodeParams\n        Parameters to copy\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    None\n        None\n\n    See Also\n    --------\n    cudaGraphAddExternalSemaphoresWaitNode\n    cudaGraphExternalSemaphoresWaitNodeSetParams\n    cudaSignalExternalSemaphoresAsync\n    cudaWaitExternalSemaphoresAsync\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_423cudaGraphExternalSemaphoresWaitNodeSetParams = {"cudaGraphExternalSemaphoresWaitNodeSetParams", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_423cudaGraphExternalSemaphoresWaitNodeSetParams, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_422cudaGraphExternalSemaphoresWaitNodeSetParams};
static PyObject *__pyx_pw_4cuda_6cudart_423cudaGraphExternalSemaphoresWaitNodeSetParams(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, 17464, __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, 17464, __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, 17464, __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, 17464, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_422cudaGraphExternalSemaphoresWaitNodeSetParams(__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_422cudaGraphExternalSemaphoresWaitNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *__pyx_v_nodeParams) {
  struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreWaitNodeParams *__pyx_v_cnodeParams_ptr;
  __pyx_t_4cuda_7ccudart_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;
  struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreWaitNodeParams *__pyx_t_6;
  __pyx_t_4cuda_7ccudart_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__551)
  __Pyx_RefNannySetupContext("cudaGraphExternalSemaphoresWaitNodeSetParams", 0);
  __Pyx_TraceCall("cudaGraphExternalSemaphoresWaitNodeSetParams", __pyx_f[0], 17464, 0, __PYX_ERR(0, 17464, __pyx_L1_error));

  /* "cuda/cudart.pyx":17492
 *     cudaWaitExternalSemaphoresAsync
 *     """
 *     if not isinstance(hNode, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hNode)))
 *     cdef ccudart.cudaExternalSemaphoreWaitNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":17493
 *     """
 *     if not isinstance(hNode, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hNode)))             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaExternalSemaphoreWaitNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccudart.cudaGraphExternalSemaphoresWaitNodeSetParams(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>hNode)._ptr[0], cnodeParams_ptr)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_hNode))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17493, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_hNode_is_not_instance_o, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17493, __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, 17493, __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, 17493, __pyx_L1_error)

    /* "cuda/cudart.pyx":17492
 *     cudaWaitExternalSemaphoresAsync
 *     """
 *     if not isinstance(hNode, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hNode)))
 *     cdef ccudart.cudaExternalSemaphoreWaitNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 */
  }

  /* "cuda/cudart.pyx":17494
 *     if not isinstance(hNode, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hNode)))
 *     cdef ccudart.cudaExternalSemaphoreWaitNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphExternalSemaphoresWaitNodeSetParams(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>hNode)._ptr[0], 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, 17494, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 17494, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_2) {
    __pyx_t_6 = __pyx_v_nodeParams->_ptr;
  } else {
    __pyx_t_6 = NULL;
  }
  __pyx_v_cnodeParams_ptr = __pyx_t_6;

  /* "cuda/cudart.pyx":17495
 *         raise TypeError("Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hNode)))
 *     cdef ccudart.cudaExternalSemaphoreWaitNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccudart.cudaGraphExternalSemaphoresWaitNodeSetParams(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>hNode)._ptr[0], cnodeParams_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaGraphExternalSemaphoresWaitNodeSetParams(((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_v_hNode)->__pyx_base._ptr[0])), __pyx_v_cnodeParams_ptr); if (unlikely(__pyx_t_7 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 17495, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":17496
 *     cdef ccudart.cudaExternalSemaphoreWaitNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccudart.cudaGraphExternalSemaphoresWaitNodeSetParams(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>hNode)._ptr[0], cnodeParams_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, 17496, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_8 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17496, __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_4 = (__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_4)) __PYX_ERR(0, 17496, __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, 17496, __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":17464
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphExternalSemaphoresWaitNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":17499
 * 
 * @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_425cudaGraphAddMemAllocNode(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_424cudaGraphAddMemAllocNode[] = "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    If the allocation is freed in the same graph, by creating a free node\n    using cudaGraphAddMemFreeNode, the allocation can be accessed by nodes\n    ordered after the allocation node but before the free node. These\n    allocations cannot be freed outside the owning graph, and they can only\n    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    passing the allocation to cudaMemFreeAsync or cudaMemFree; launching a\n    graph with a free node for that allocation; or specifying\n    cudaGraphInstantiateFlagAutoFreeOnLaunch during instantiation, which\n    makes each launch behave as though it called cudaMemFreeAsync for every\n    unfreed allocation.\n\n    It is not possible to free an allocation in both the owning graph and\n    another graph. If the allocation is freed in the same graph, a free\n    node cannot be added to another graph. If the allocation is freed in\n    another graph, a free node can no longer be added to the owning graph.\n\n    The following restrictions apply to graphs which contain allocation""\n    and/or memory free nodes: Nodes and edges of the graph cannot be\n    deleted. The graph cannot be used in a child node. Only one\n    instantiation of the graph may exist at any point in time. The graph\n    cannot be cloned.\n\n    Parameters\n    ----------\n    graph : CUgraph or cudaGraph_t\n        Graph to which to add the node\n    pDependencies : List[cudaGraphNode_t]\n        Dependencies of the node\n    numDependencies : size_t\n        Number of dependencies\n    nodeParams : cudaMemAllocNodeParams\n        Parameters for the node\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorCudartUnloading\n        cudaErrorInitializationError\n        cudaErrorNotSupported\n        cudaErrorInvalidValue\n        cudaErrorOutOfMemory\n    pGraphNode : cudaGraphNode_t\n        Returns newly created node\n\n    See Also\n    --------\n    cudaGraphAddMemFreeNode\n    cudaGraphMemAllocNodeGetParams\n    cudaDeviceGraphMemTrim\n    cudaDeviceGetGraphMemAttribute\n    cudaDeviceSetGraphMemAttribute\n    cudaMallocAsync\n    cudaFreeAsync\n    cudaGraphCreate\n    cudaGraphDestroyNode\n    cudaGraphAddChildGraphNode\n    cudaGraphAddEmptyNode\n    cudaGraphAddEventRecordNode\n    cudaGraphAddEventWaitNode\n    cudaGraphAddExternalSemaphoresSignalNode\n    cudaGraphAddExternalSemaphoresWaitNode\n    cudaGraphAddKernelNode\n    cudaGraphAddMemcpyNode\n    cudaGraphAddMemsetNode\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_425cudaGraphAddMemAllocNode = {"cudaGraphAddMemAllocNode", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_425cudaGraphAddMemAllocNode, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_424cudaGraphAddMemAllocNode};
static PyObject *__pyx_pw_4cuda_6cudart_425cudaGraphAddMemAllocNode(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, 17499, __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, 17499, __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, 17499, __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, 17499, __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, 17499, __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, 17499, __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, 17499, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_424cudaGraphAddMemAllocNode(__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":17583
 *     """
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */

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, 17583, __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, 17583, __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], 17583, 0, __PYX_ERR(0, 17583, __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, 17583, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies)) { __Pyx_RaiseClosureNameError("pDependencies"); __PYX_ERR(0, 17583, __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, 17583, __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, 17583, __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, 17583, __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, 17583, __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, 17583, __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, 17583, __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, 17583, __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":17499
 * 
 * @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_424cudaGraphAddMemAllocNode(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;
  struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *__pyx_v_pGraphNode = 0;
  __pyx_t_4cuda_7ccudart_cudaGraphNode_t *__pyx_v_cpDependencies;
  Py_ssize_t __pyx_v_idx;
  struct __pyx_t_4cuda_7ccudart_cudaMemAllocNodeParams *__pyx_v_cnodeParams_ptr;
  __pyx_t_4cuda_7ccudart_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;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  struct __pyx_t_4cuda_7ccudart_cudaMemAllocNodeParams *__pyx_t_10;
  __pyx_t_4cuda_7ccudart_cudaGraphNode_t *__pyx_t_11;
  __pyx_t_4cuda_7ccudart_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__552)
  __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, 17499, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __Pyx_TraceCall("cudaGraphAddMemAllocNode", __pyx_f[0], 17499, 0, __PYX_ERR(0, 17499, __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":17582
 *     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, 17582, __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":17583
 *     """
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */
  __pyx_t_1 = __pyx_pf_4cuda_6cudart_24cudaGraphAddMemAllocNode_genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17583, __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, 17583, __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, 17583, __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":17584
 *     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]")             # <<<<<<<<<<<<<<
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__520, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17584, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 17584, __pyx_L1_error)

    /* "cuda/cudart.pyx":17583
 *     """
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */
  }

  /* "cuda/cudart.pyx":17585
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 */
  __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_L5_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_L5_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_4 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":17586
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))             # <<<<<<<<<<<<<<
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 */
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_graph))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17586, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_graph_is_not_instance_o, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17586, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17586, __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, 17586, __pyx_L1_error)

    /* "cuda/cudart.pyx":17585
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 */
  }

  /* "cuda/cudart.pyx":17587
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:
 */
  __pyx_t_3 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17587, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_v_pGraphNode = ((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":17588
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     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":17589
 *     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_3 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_6 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 17589, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_2 = ((__pyx_t_6 > 0) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":17590
 *     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_3 = __pyx_cur_scope->__pyx_v_pDependencies;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_6 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 17590, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_cpDependencies = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t *)calloc(__pyx_t_6, (sizeof(__pyx_t_4cuda_7ccudart_cudaGraphNode_t))));

    /* "cuda/cudart.pyx":17591
 *     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":17592
 *         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_3 = __pyx_cur_scope->__pyx_v_pDependencies;
      __Pyx_INCREF(__pyx_t_3);
      __pyx_t_6 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 17592, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17592, __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, 17592, __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_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17592, __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, 17592, __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(__pyx_t_4cuda_7ccudart_cudaGraphNode_t))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17592, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17592, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17592, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17592, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(0, 17592, __pyx_L1_error)

      /* "cuda/cudart.pyx":17591
 *     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":17594
 *             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_7 = __pyx_cur_scope->__pyx_v_pDependencies;
      __Pyx_INCREF(__pyx_t_7);
      __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 17594, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_8 = __pyx_t_6;
      for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
        __pyx_v_idx = __pyx_t_9;

        /* "cuda/cudart.pyx":17595
 *         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_7 = __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_7)) __PYX_ERR(0, 17595, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        (__pyx_v_cpDependencies[__pyx_v_idx]) = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_7)->__pyx_base._ptr[0]));
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }

    /* "cuda/cudart.pyx":17589
 *     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":17597
 *                 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, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cnodeParams_ptr)
 */
  __pyx_t_7 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_7);
  __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 17597, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_2 = ((__pyx_v_numDependencies > ((size_t)__pyx_t_6)) != 0);
  if (unlikely(__pyx_t_2)) {
    __pyx_t_7 = __pyx_cur_scope->__pyx_v_pDependencies;
    __Pyx_INCREF(__pyx_t_7);
    __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 17597, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17597, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17597, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_kp_u_List_is_too_small, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17597, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_t_7, __pyx_kp_u__395); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17597, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17597, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17597, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17597, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17597, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(0, 17597, __pyx_L1_error)
  }

  /* "cuda/cudart.pyx":17598
 * 
 *     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, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cnodeParams_ptr)
 *     if cpDependencies is not NULL:
 */
  __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_nodeParams), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17598, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 17598, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {
    __pyx_t_10 = __pyx_v_nodeParams->_ptr;
  } else {
    __pyx_t_10 = NULL;
  }
  __pyx_v_cnodeParams_ptr = __pyx_t_10;

  /* "cuda/cudart.pyx":17599
 *     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, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <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_1 = __pyx_cur_scope->__pyx_v_pDependencies;
  __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, 17599, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (((__pyx_t_6 == 1) != 0)) {
    __pyx_t_1 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_pDependencies, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17599, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_11 = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t *)((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_1)->__pyx_base._ptr);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  } else {
    __pyx_t_11 = __pyx_v_cpDependencies;
  }
  __pyx_t_12 = __pyx_f_4cuda_7ccudart_cudaGraphAddMemAllocNode(((__pyx_t_4cuda_7ccudart_cudaGraphNode_t *)__pyx_v_pGraphNode->__pyx_base._ptr), ((__pyx_t_4cuda_7ccudart_cudaGraph_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraph_t *)__pyx_v_graph)->__pyx_base._ptr[0])), __pyx_t_11, __pyx_v_numDependencies, __pyx_v_cnodeParams_ptr); if (unlikely(__pyx_t_12 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 17599, __pyx_L1_error)
  __pyx_v_err = __pyx_t_12;

  /* "cuda/cudart.pyx":17600
 *     cdef ccudart.cudaMemAllocNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccudart.cudaGraphAddMemAllocNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <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_2 = ((__pyx_v_cpDependencies != NULL) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":17601
 *     err = ccudart.cudaGraphAddMemAllocNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <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":17600
 *     cdef ccudart.cudaMemAllocNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccudart.cudaGraphAddMemAllocNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <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":17602
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)
 *     return (cudaError_t(err), pGraphNode)             # <<<<<<<<<<<<<<
 * 
 * @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, 17602, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17602, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_13 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_7);
    if (likely(__pyx_t_13)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_13);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_7, function);
    }
  }
  __pyx_t_1 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_13, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_3);
  __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17602, __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, 17602, __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_pGraphNode));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pGraphNode));
  PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_pGraphNode));
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":17499
 * 
 * @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_7);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddMemAllocNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __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":17605
 * 
 * @cython.embedsignature(True)
 * def cudaGraphMemAllocNodeGetParams(node):             # <<<<<<<<<<<<<<
 *     """ Returns a memory alloc node's parameters.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_427cudaGraphMemAllocNodeGetParams(PyObject *__pyx_self, PyObject *__pyx_v_node); /*proto*/
static char __pyx_doc_4cuda_6cudart_426cudaGraphMemAllocNodeGetParams[] = "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 : CUgraphNode or cudaGraphNode_t\n        Node to get the parameters for\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    params_out : cudaMemAllocNodeParams\n        Pointer to return the parameters\n\n    See Also\n    --------\n    cudaGraphAddMemAllocNode\n    cudaGraphMemFreeNodeGetParams\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_427cudaGraphMemAllocNodeGetParams = {"cudaGraphMemAllocNodeGetParams", (PyCFunction)__pyx_pw_4cuda_6cudart_427cudaGraphMemAllocNodeGetParams, METH_O, __pyx_doc_4cuda_6cudart_426cudaGraphMemAllocNodeGetParams};
static PyObject *__pyx_pw_4cuda_6cudart_427cudaGraphMemAllocNodeGetParams(PyObject *__pyx_self, PyObject *__pyx_v_node) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphMemAllocNodeGetParams (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_426cudaGraphMemAllocNodeGetParams(__pyx_self, ((PyObject *)__pyx_v_node));

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

static PyObject *__pyx_pf_4cuda_6cudart_426cudaGraphMemAllocNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node) {
  struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *__pyx_v_params_out = 0;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__553)
  __Pyx_RefNannySetupContext("cudaGraphMemAllocNodeGetParams", 0);
  __Pyx_TraceCall("cudaGraphMemAllocNodeGetParams", __pyx_f[0], 17605, 0, __PYX_ERR(0, 17605, __pyx_L1_error));

  /* "cuda/cudart.pyx":17631
 *     cudaGraphMemFreeNodeGetParams
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef cudaMemAllocNodeParams params_out = cudaMemAllocNodeParams()
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":17632
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))             # <<<<<<<<<<<<<<
 *     cdef cudaMemAllocNodeParams params_out = cudaMemAllocNodeParams()
 *     err = ccudart.cudaGraphMemAllocNodeGetParams(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], params_out._ptr)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_node))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17632, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_node_is_not_instance_of, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17632, __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, 17632, __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, 17632, __pyx_L1_error)

    /* "cuda/cudart.pyx":17631
 *     cudaGraphMemFreeNodeGetParams
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef cudaMemAllocNodeParams params_out = cudaMemAllocNodeParams()
 */
  }

  /* "cuda/cudart.pyx":17633
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef cudaMemAllocNodeParams params_out = cudaMemAllocNodeParams()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphMemAllocNodeGetParams(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], params_out._ptr)
 *     return (cudaError_t(err), params_out)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMemAllocNodeParams)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17633, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_params_out = ((struct __pyx_obj_4cuda_6cudart_cudaMemAllocNodeParams *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":17634
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef cudaMemAllocNodeParams params_out = cudaMemAllocNodeParams()
 *     err = ccudart.cudaGraphMemAllocNodeGetParams(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], params_out._ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), params_out)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaGraphMemAllocNodeGetParams(((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_v_node)->__pyx_base._ptr[0])), __pyx_v_params_out->_ptr); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 17634, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":17635
 *     cdef cudaMemAllocNodeParams params_out = cudaMemAllocNodeParams()
 *     err = ccudart.cudaGraphMemAllocNodeGetParams(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], params_out._ptr)
 *     return (cudaError_t(err), params_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, 17635, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17635, __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_4 = (__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_4)) __PYX_ERR(0, 17635, __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, 17635, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
  __Pyx_INCREF(((PyObject *)__pyx_v_params_out));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_params_out));
  PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_params_out));
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":17605
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphMemAllocNodeGetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_params_out);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":17638
 * 
 * @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_429cudaGraphAddMemFreeNode(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_428cudaGraphAddMemFreeNode[] = "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    The following restrictions apply to graphs which contain allocation\n    and/or memory free nodes: Nodes and edges of the graph cannot be\n    deleted. The graph cannot be used in a child node. Only one\n    instantiation of the graph may exist at any point in time. The graph\n    cannot be cloned.\n\n    Parameters\n    ----------\n    graph : CUgraph or cudaGraph_t\n        Graph to which to add the node\n    pDependencies : List[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        cudaSuccess\n        cudaErrorCudartUnloading\n        cudaErrorInitializationError\n        cudaErrorNotSupported\n        cudaErrorInvalidValue\n        cudaErrorOutOfMemory\n    pGraphNode : cudaGraphNode_t\n        Returns newly created node\n\n    See Also\n    --------\n    cudaGraphAddMemAllocNode\n    cudaGraphMemFreeNodeGetParams\n    cudaDeviceGraphMemTrim\n    cudaDeviceGetGraphMemAttribute\n    cudaDeviceSetGraphMemAttribute\n    cudaMallocAsync\n    cudaFreeAsync\n    cudaGraphCreate\n    cudaGraphDestroyNode\n    cudaGraphAddChildGraphNode\n    cudaGraphAddEmptyNode\n    cudaGraphAddEventRecordNode\n    cudaGraphAddEventWaitNode\n    cudaGraphAddExternalSemaphoresSignalNode\n    cudaGraphAddExternalSemaphoresWaitNode\n    cudaGraphAddKernelNode\n    cudaGra""phAddMemcpyNode\n    cudaGraphAddMemsetNode\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_429cudaGraphAddMemFreeNode = {"cudaGraphAddMemFreeNode", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_429cudaGraphAddMemFreeNode, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_428cudaGraphAddMemFreeNode};
static PyObject *__pyx_pw_4cuda_6cudart_429cudaGraphAddMemFreeNode(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, 17638, __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, 17638, __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, 17638, __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, 17638, __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, 17638, __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, 17638, __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_428cudaGraphAddMemFreeNode(__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":17699
 *     """
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */

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, 17699, __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, 17699, __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], 17699, 0, __PYX_ERR(0, 17699, __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, 17699, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_pDependencies)) { __Pyx_RaiseClosureNameError("pDependencies"); __PYX_ERR(0, 17699, __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, 17699, __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, 17699, __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, 17699, __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, 17699, __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, 17699, __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, 17699, __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, 17699, __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":17638
 * 
 * @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_428cudaGraphAddMemFreeNode(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;
  struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *__pyx_v_pGraphNode = 0;
  __pyx_t_4cuda_7ccudart_cudaGraphNode_t *__pyx_v_cpDependencies;
  Py_ssize_t __pyx_v_idx;
  PyObject *__pyx_v_cdptr = NULL;
  void *__pyx_v_cdptr_ptr;
  __pyx_t_4cuda_7ccudart_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;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_10;
  __pyx_t_4cuda_7ccudart_cudaGraphNode_t *__pyx_t_11;
  __pyx_t_4cuda_7ccudart_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__554)
  __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, 17638, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __Pyx_TraceCall("cudaGraphAddMemFreeNode", __pyx_f[0], 17638, 0, __PYX_ERR(0, 17638, __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":17698
 *     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, 17698, __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":17699
 *     """
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */
  __pyx_t_1 = __pyx_pf_4cuda_6cudart_23cudaGraphAddMemFreeNode_genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17699, __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, 17699, __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, 17699, __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":17700
 *     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]")             # <<<<<<<<<<<<<<
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__520, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17700, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 17700, __pyx_L1_error)

    /* "cuda/cudart.pyx":17699
 *     """
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */
  }

  /* "cuda/cudart.pyx":17701
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 */
  __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_L5_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_L5_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_4 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":17702
 *         raise TypeError("Argument 'pDependencies' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))             # <<<<<<<<<<<<<<
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 */
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_graph))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17702, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_graph_is_not_instance_o, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17702, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17702, __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, 17702, __pyx_L1_error)

    /* "cuda/cudart.pyx":17701
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()
 */
  }

  /* "cuda/cudart.pyx":17703
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef cudaGraphNode_t pGraphNode = cudaGraphNode_t()             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     if len(pDependencies) > 0:
 */
  __pyx_t_3 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17703, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_v_pGraphNode = ((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":17704
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     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":17705
 *     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_3 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_6 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 17705, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_2 = ((__pyx_t_6 > 0) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":17706
 *     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_3 = __pyx_cur_scope->__pyx_v_pDependencies;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_6 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 17706, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_cpDependencies = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t *)calloc(__pyx_t_6, (sizeof(__pyx_t_4cuda_7ccudart_cudaGraphNode_t))));

    /* "cuda/cudart.pyx":17707
 *     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":17708
 *         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_3 = __pyx_cur_scope->__pyx_v_pDependencies;
      __Pyx_INCREF(__pyx_t_3);
      __pyx_t_6 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 17708, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17708, __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, 17708, __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_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17708, __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, 17708, __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(__pyx_t_4cuda_7ccudart_cudaGraphNode_t))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17708, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17708, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17708, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17708, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(0, 17708, __pyx_L1_error)

      /* "cuda/cudart.pyx":17707
 *     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":17710
 *             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_7 = __pyx_cur_scope->__pyx_v_pDependencies;
      __Pyx_INCREF(__pyx_t_7);
      __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 17710, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_8 = __pyx_t_6;
      for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
        __pyx_v_idx = __pyx_t_9;

        /* "cuda/cudart.pyx":17711
 *         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_7 = __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_7)) __PYX_ERR(0, 17711, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        (__pyx_v_cpDependencies[__pyx_v_idx]) = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_7)->__pyx_base._ptr[0]));
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }

    /* "cuda/cudart.pyx":17705
 *     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":17713
 *                 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_7 = __pyx_cur_scope->__pyx_v_pDependencies;
  __Pyx_INCREF(__pyx_t_7);
  __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 17713, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_2 = ((__pyx_v_numDependencies > ((size_t)__pyx_t_6)) != 0);
  if (unlikely(__pyx_t_2)) {
    __pyx_t_7 = __pyx_cur_scope->__pyx_v_pDependencies;
    __Pyx_INCREF(__pyx_t_7);
    __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 17713, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17713, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17713, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_kp_u_List_is_too_small, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17713, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_t_7, __pyx_kp_u__395); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17713, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17713, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17713, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17713, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17713, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(0, 17713, __pyx_L1_error)
  }

  /* "cuda/cudart.pyx":17714
 * 
 *     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, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cdptr_ptr)
 */
  __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, 17714, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cdptr = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":17715
 *     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, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <ccudart.cudaGraphNode_t*>(<cudaGraphNode_t>pDependencies[0])._ptr if len(pDependencies) == 1 else cpDependencies, numDependencies, cdptr_ptr)
 *     if cpDependencies is not NULL:
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cdptr, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17715, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __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, 17715, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cdptr_ptr = ((void *)((__pyx_t_4cuda_6cudart_void_ptr)__pyx_t_10));

  /* "cuda/cudart.pyx":17716
 *     cdptr = utils.HelperInputVoidPtr(dptr)
 *     cdef void* cdptr_ptr = <void*><void_ptr>cdptr.cptr
 *     err = ccudart.cudaGraphAddMemFreeNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <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_1 = __pyx_cur_scope->__pyx_v_pDependencies;
  __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, 17716, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (((__pyx_t_6 == 1) != 0)) {
    __pyx_t_1 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_pDependencies, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17716, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_11 = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t *)((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_1)->__pyx_base._ptr);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  } else {
    __pyx_t_11 = __pyx_v_cpDependencies;
  }
  __pyx_t_12 = __pyx_f_4cuda_7ccudart_cudaGraphAddMemFreeNode(((__pyx_t_4cuda_7ccudart_cudaGraphNode_t *)__pyx_v_pGraphNode->__pyx_base._ptr), ((__pyx_t_4cuda_7ccudart_cudaGraph_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraph_t *)__pyx_v_graph)->__pyx_base._ptr[0])), __pyx_t_11, __pyx_v_numDependencies, __pyx_v_cdptr_ptr); if (unlikely(__pyx_t_12 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 17716, __pyx_L1_error)
  __pyx_v_err = __pyx_t_12;

  /* "cuda/cudart.pyx":17717
 *     cdef void* cdptr_ptr = <void*><void_ptr>cdptr.cptr
 *     err = ccudart.cudaGraphAddMemFreeNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <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_2 = ((__pyx_v_cpDependencies != NULL) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":17718
 *     err = ccudart.cudaGraphAddMemFreeNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <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":17717
 *     cdef void* cdptr_ptr = <void*><void_ptr>cdptr.cptr
 *     err = ccudart.cudaGraphAddMemFreeNode(<ccudart.cudaGraphNode_t*>pGraphNode._ptr, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <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":17719
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)
 *     return (cudaError_t(err), pGraphNode)             # <<<<<<<<<<<<<<
 * 
 * @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, 17719, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17719, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_13 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_7);
    if (likely(__pyx_t_13)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_13);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_7, function);
    }
  }
  __pyx_t_1 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_13, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_3);
  __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17719, __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, 17719, __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_pGraphNode));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pGraphNode));
  PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_pGraphNode));
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":17638
 * 
 * @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_7);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddMemFreeNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __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":17722
 * 
 * @cython.embedsignature(True)
 * def cudaGraphMemFreeNodeGetParams(node):             # <<<<<<<<<<<<<<
 *     """ Returns a memory free node's parameters.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_431cudaGraphMemFreeNodeGetParams(PyObject *__pyx_self, PyObject *__pyx_v_node); /*proto*/
static char __pyx_doc_4cuda_6cudart_430cudaGraphMemFreeNodeGetParams[] = "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 : CUgraphNode or cudaGraphNode_t\n        Node to get the parameters for\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    dptr_out : int\n        Pointer to return the device address\n\n    See Also\n    --------\n    cudaGraphAddMemFreeNode\n    cudaGraphMemFreeNodeGetParams\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_431cudaGraphMemFreeNodeGetParams = {"cudaGraphMemFreeNodeGetParams", (PyCFunction)__pyx_pw_4cuda_6cudart_431cudaGraphMemFreeNodeGetParams, METH_O, __pyx_doc_4cuda_6cudart_430cudaGraphMemFreeNodeGetParams};
static PyObject *__pyx_pw_4cuda_6cudart_431cudaGraphMemFreeNodeGetParams(PyObject *__pyx_self, PyObject *__pyx_v_node) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphMemFreeNodeGetParams (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_430cudaGraphMemFreeNodeGetParams(__pyx_self, ((PyObject *)__pyx_v_node));

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

static PyObject *__pyx_pf_4cuda_6cudart_430cudaGraphMemFreeNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v_dptr_out;
  void *__pyx_v_cdptr_out_ptr;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__555)
  __Pyx_RefNannySetupContext("cudaGraphMemFreeNodeGetParams", 0);
  __Pyx_TraceCall("cudaGraphMemFreeNodeGetParams", __pyx_f[0], 17722, 0, __PYX_ERR(0, 17722, __pyx_L1_error));

  /* "cuda/cudart.pyx":17745
 *     cudaGraphMemFreeNodeGetParams
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef void_ptr dptr_out = 0
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":17746
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))             # <<<<<<<<<<<<<<
 *     cdef void_ptr dptr_out = 0
 *     cdef void* cdptr_out_ptr = <void*>dptr_out
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_node))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17746, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_node_is_not_instance_of, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17746, __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, 17746, __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, 17746, __pyx_L1_error)

    /* "cuda/cudart.pyx":17745
 *     cudaGraphMemFreeNodeGetParams
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef void_ptr dptr_out = 0
 */
  }

  /* "cuda/cudart.pyx":17747
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef void_ptr dptr_out = 0             # <<<<<<<<<<<<<<
 *     cdef void* cdptr_out_ptr = <void*>dptr_out
 *     err = ccudart.cudaGraphMemFreeNodeGetParams(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], cdptr_out_ptr)
 */
  __pyx_v_dptr_out = 0;

  /* "cuda/cudart.pyx":17748
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef void_ptr dptr_out = 0
 *     cdef void* cdptr_out_ptr = <void*>dptr_out             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphMemFreeNodeGetParams(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], cdptr_out_ptr)
 *     return (cudaError_t(err), dptr_out)
 */
  __pyx_v_cdptr_out_ptr = ((void *)__pyx_v_dptr_out);

  /* "cuda/cudart.pyx":17749
 *     cdef void_ptr dptr_out = 0
 *     cdef void* cdptr_out_ptr = <void*>dptr_out
 *     err = ccudart.cudaGraphMemFreeNodeGetParams(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], cdptr_out_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), dptr_out)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaGraphMemFreeNodeGetParams(((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_v_node)->__pyx_base._ptr[0])), __pyx_v_cdptr_out_ptr); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 17749, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":17750
 *     cdef void* cdptr_out_ptr = <void*>dptr_out
 *     err = ccudart.cudaGraphMemFreeNodeGetParams(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], cdptr_out_ptr)
 *     return (cudaError_t(err), dptr_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, 17750, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17750, __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_4 = (__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_4)) __PYX_ERR(0, 17750, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(__pyx_v_dptr_out); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17750, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17750, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_5);
  __pyx_t_4 = 0;
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":17722
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphMemFreeNodeGetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":17753
 * 
 * @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_433cudaDeviceGraphMemTrim(PyObject *__pyx_self, PyObject *__pyx_arg_device); /*proto*/
static char __pyx_doc_4cuda_6cudart_432cudaDeviceGraphMemTrim[] = "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        cudaSuccess\n        cudaErrorInvalidValue\n    None\n        None\n\n    See Also\n    --------\n    cudaGraphAddMemAllocNode\n    cudaGraphAddMemFreeNode\n    cudaDeviceGetGraphMemAttribute\n    cudaDeviceSetGraphMemAttribute\n    cudaMallocAsync\n    cudaFreeAsync\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_433cudaDeviceGraphMemTrim = {"cudaDeviceGraphMemTrim", (PyCFunction)__pyx_pw_4cuda_6cudart_433cudaDeviceGraphMemTrim, METH_O, __pyx_doc_4cuda_6cudart_432cudaDeviceGraphMemTrim};
static PyObject *__pyx_pw_4cuda_6cudart_433cudaDeviceGraphMemTrim(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, 17753, __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_432cudaDeviceGraphMemTrim(__pyx_self, ((int)__pyx_v_device));

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

static PyObject *__pyx_pf_4cuda_6cudart_432cudaDeviceGraphMemTrim(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_device) {
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __pyx_t_4cuda_7ccudart_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__556)
  __Pyx_RefNannySetupContext("cudaDeviceGraphMemTrim", 0);
  __Pyx_TraceCall("cudaDeviceGraphMemTrim", __pyx_f[0], 17753, 0, __PYX_ERR(0, 17753, __pyx_L1_error));

  /* "cuda/cudart.pyx":17782
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 17782, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":17783
 *     """
 *     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, 17783, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17783, __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, 17783, __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, 17783, __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":17753
 * 
 * @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":17786
 * 
 * @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_435cudaDeviceGetGraphMemAttribute(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_434cudaDeviceGetGraphMemAttribute[] = "cudaDeviceGetGraphMemAttribute(int device, attr: cudaGraphMemAttributeType)\n Query asynchronous allocation attributes related to graphs.\n\n    Valid attributes are:\n\n    ::cudaGraphMemAttrUsedMemCurrent: Amount of memory, in bytes, currently\n    associated with graphs ::cudaGraphMemAttrUsedMemHigh: High watermark of\n    memory, in bytes, associated with graphs since the last time it was\n    reset. High watermark can only be reset to zero.\n    ::cudaGraphMemAttrReservedMemCurrent: Amount of memory, in bytes,\n    currently allocated for use by the CUDA graphs asynchronous allocator.\n    ::cudaGraphMemAttrReservedMemHigh: High watermark of memory, in bytes,\n    currently allocated for use by the CUDA graphs asynchronous allocator.\n\n    Parameters\n    ----------\n    device : int\n        Specifies the scope of the query\n    attr : cudaGraphMemAttributeType\n        attribute to get\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidDevice\n    value : Any\n        retrieved value\n\n    See Also\n    --------\n    cudaDeviceSetGraphMemAttribute\n    cudaGraphAddMemAllocNode\n    cudaGraphAddMemFreeNode\n    cudaDeviceGraphMemTrim\n    cudaMallocAsync\n    cudaFreeAsync\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_435cudaDeviceGetGraphMemAttribute = {"cudaDeviceGetGraphMemAttribute", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_435cudaDeviceGetGraphMemAttribute, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_434cudaDeviceGetGraphMemAttribute};
static PyObject *__pyx_pw_4cuda_6cudart_435cudaDeviceGetGraphMemAttribute(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, 17786, __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, 17786, __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, 17786, __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, 17786, __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, 17786, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_434cudaDeviceGetGraphMemAttribute(__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_434cudaDeviceGetGraphMemAttribute(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_device, PyObject *__pyx_v_attr) {
  enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType __pyx_v_cattr;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperCUgraphMem_attribute *__pyx_v_cvalue = 0;
  void *__pyx_v_cvalue_ptr;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  __pyx_t_4cuda_7ccudart_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__557)
  __Pyx_RefNannySetupContext("cudaDeviceGetGraphMemAttribute", 0);
  __Pyx_TraceCall("cudaDeviceGetGraphMemAttribute", __pyx_f[0], 17786, 0, __PYX_ERR(0, 17786, __pyx_L1_error));

  /* "cuda/cudart.pyx":17824
 *     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, 17824, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 17824, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cattr = __pyx_t_2;

  /* "cuda/cudart.pyx":17825
 *     """
 *     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, 17825, __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, 17825, __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, 17825, __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, 17825, __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":17826
 *     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, 17826, __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, 17826, __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":17827
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 17827, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":17828
 *     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, 17828, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17828, __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, 17828, __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, 17828, __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, 17828, __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, 17828, __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":17786
 * 
 * @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":17831
 * 
 * @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_437cudaDeviceSetGraphMemAttribute(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_436cudaDeviceSetGraphMemAttribute[] = "cudaDeviceSetGraphMemAttribute(int device, attr: cudaGraphMemAttributeType, value)\n Set asynchronous allocation attributes related to graphs.\n\n    Valid attributes are:\n\n    ::cudaGraphMemAttrUsedMemHigh: High watermark of memory, in bytes,\n    associated with graphs since the last time it was reset. High watermark\n    can only be reset to zero. ::cudaGraphMemAttrReservedMemHigh: High\n    watermark of memory, in bytes, currently allocated for use by the CUDA\n    graphs asynchronous allocator.\n\n    Parameters\n    ----------\n    device : int\n        Specifies the scope of the query\n    attr : cudaGraphMemAttributeType\n        attribute to get\n    value : Any\n        pointer to value to set\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidDevice\n    None\n        None\n\n    See Also\n    --------\n    cudaDeviceGetGraphMemAttribute\n    cudaGraphAddMemAllocNode\n    cudaGraphAddMemFreeNode\n    cudaDeviceGraphMemTrim\n    cudaMallocAsync\n    cudaFreeAsync\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_437cudaDeviceSetGraphMemAttribute = {"cudaDeviceSetGraphMemAttribute", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_437cudaDeviceSetGraphMemAttribute, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_436cudaDeviceSetGraphMemAttribute};
static PyObject *__pyx_pw_4cuda_6cudart_437cudaDeviceSetGraphMemAttribute(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, 17831, __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, 17831, __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, 17831, __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, 17831, __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, 17831, __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, 17831, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_436cudaDeviceSetGraphMemAttribute(__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_436cudaDeviceSetGraphMemAttribute(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_device, PyObject *__pyx_v_attr, PyObject *__pyx_v_value) {
  enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType __pyx_v_cattr;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperCUgraphMem_attribute *__pyx_v_cvalue = 0;
  void *__pyx_v_cvalue_ptr;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_5;
  __pyx_t_4cuda_7ccudart_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__558)
  __Pyx_RefNannySetupContext("cudaDeviceSetGraphMemAttribute", 0);
  __Pyx_TraceCall("cudaDeviceSetGraphMemAttribute", __pyx_f[0], 17831, 0, __PYX_ERR(0, 17831, __pyx_L1_error));

  /* "cuda/cudart.pyx":17868
 *     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, 17868, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 17868, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cattr = __pyx_t_2;

  /* "cuda/cudart.pyx":17869
 *     """
 *     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, 17869, __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, 17869, __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, 17869, __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, 17869, __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":17870
 *     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, 17870, __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, 17870, __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":17871
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 17871, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":17872
 *     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, 17872, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17872, __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, 17872, __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, 17872, __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":17831
 * 
 * @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":17875
 * 
 * @cython.embedsignature(True)
 * def cudaGraphClone(originalGraph):             # <<<<<<<<<<<<<<
 *     """ Clones a graph.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_439cudaGraphClone(PyObject *__pyx_self, PyObject *__pyx_v_originalGraph); /*proto*/
static char __pyx_doc_4cuda_6cudart_438cudaGraphClone[] = "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 : CUgraph or cudaGraph_t\n        Graph to clone\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorMemoryAllocation\n    pGraphClone : cudaGraph_t\n        Returns newly created cloned graph\n\n    See Also\n    --------\n    cudaGraphCreate\n    cudaGraphNodeFindInClone\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_439cudaGraphClone = {"cudaGraphClone", (PyCFunction)__pyx_pw_4cuda_6cudart_439cudaGraphClone, METH_O, __pyx_doc_4cuda_6cudart_438cudaGraphClone};
static PyObject *__pyx_pw_4cuda_6cudart_439cudaGraphClone(PyObject *__pyx_self, PyObject *__pyx_v_originalGraph) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphClone (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_438cudaGraphClone(__pyx_self, ((PyObject *)__pyx_v_originalGraph));

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

static PyObject *__pyx_pf_4cuda_6cudart_438cudaGraphClone(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_originalGraph) {
  struct __pyx_obj_4cuda_6cudart_cudaGraph_t *__pyx_v_pGraphClone = 0;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__559)
  __Pyx_RefNannySetupContext("cudaGraphClone", 0);
  __Pyx_TraceCall("cudaGraphClone", __pyx_f[0], 17875, 0, __PYX_ERR(0, 17875, __pyx_L1_error));

  /* "cuda/cudart.pyx":17905
 *     cudaGraphNodeFindInClone
 *     """
 *     if not isinstance(originalGraph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'originalGraph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(originalGraph)))
 *     cdef cudaGraph_t pGraphClone = cudaGraph_t()
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_originalGraph, __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_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_originalGraph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":17906
 *     """
 *     if not isinstance(originalGraph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'originalGraph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(originalGraph)))             # <<<<<<<<<<<<<<
 *     cdef cudaGraph_t pGraphClone = cudaGraph_t()
 *     err = ccudart.cudaGraphClone(<ccudart.cudaGraph_t*>pGraphClone._ptr, <ccudart.cudaGraph_t>(<cudaGraph_t>originalGraph)._ptr[0])
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_originalGraph))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17906, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_originalGraph_is_not_in, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17906, __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, 17906, __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, 17906, __pyx_L1_error)

    /* "cuda/cudart.pyx":17905
 *     cudaGraphNodeFindInClone
 *     """
 *     if not isinstance(originalGraph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'originalGraph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(originalGraph)))
 *     cdef cudaGraph_t pGraphClone = cudaGraph_t()
 */
  }

  /* "cuda/cudart.pyx":17907
 *     if not isinstance(originalGraph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'originalGraph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(originalGraph)))
 *     cdef cudaGraph_t pGraphClone = cudaGraph_t()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphClone(<ccudart.cudaGraph_t*>pGraphClone._ptr, <ccudart.cudaGraph_t>(<cudaGraph_t>originalGraph)._ptr[0])
 *     return (cudaError_t(err), pGraphClone)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraph_t)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17907, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pGraphClone = ((struct __pyx_obj_4cuda_6cudart_cudaGraph_t *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":17908
 *         raise TypeError("Argument 'originalGraph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(originalGraph)))
 *     cdef cudaGraph_t pGraphClone = cudaGraph_t()
 *     err = ccudart.cudaGraphClone(<ccudart.cudaGraph_t*>pGraphClone._ptr, <ccudart.cudaGraph_t>(<cudaGraph_t>originalGraph)._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pGraphClone)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaGraphClone(((__pyx_t_4cuda_7ccudart_cudaGraph_t *)__pyx_v_pGraphClone->__pyx_base._ptr), ((__pyx_t_4cuda_7ccudart_cudaGraph_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraph_t *)__pyx_v_originalGraph)->__pyx_base._ptr[0]))); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 17908, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":17909
 *     cdef cudaGraph_t pGraphClone = cudaGraph_t()
 *     err = ccudart.cudaGraphClone(<ccudart.cudaGraph_t*>pGraphClone._ptr, <ccudart.cudaGraph_t>(<cudaGraph_t>originalGraph)._ptr[0])
 *     return (cudaError_t(err), pGraphClone)             # <<<<<<<<<<<<<<
 * 
 * @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, 17909, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17909, __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_4 = (__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_4)) __PYX_ERR(0, 17909, __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, 17909, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
  __Pyx_INCREF(((PyObject *)__pyx_v_pGraphClone));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pGraphClone));
  PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_pGraphClone));
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":17875
 * 
 * @cython.embedsignature(True)
 * def cudaGraphClone(originalGraph):             # <<<<<<<<<<<<<<
 *     """ Clones a graph.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphClone", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_pGraphClone);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":17912
 * 
 * @cython.embedsignature(True)
 * def cudaGraphNodeFindInClone(originalNode, clonedGraph):             # <<<<<<<<<<<<<<
 *     """ Finds a cloned version of a node.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_441cudaGraphNodeFindInClone(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_440cudaGraphNodeFindInClone[] = "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    cudaGraphClone. `originalNode` must have been in `originalGraph` at the\n    time of the call to cudaGraphClone, and the corresponding cloned node\n    in `clonedGraph` must not have been removed. The cloned node is then\n    returned via `pClonedNode`.\n\n    Parameters\n    ----------\n    originalNode : CUgraphNode or cudaGraphNode_t\n        Handle to the original node\n    clonedGraph : CUgraph or cudaGraph_t\n        Cloned graph to query\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    pNode : cudaGraphNode_t\n        Returns handle to the cloned node\n\n    See Also\n    --------\n    cudaGraphClone\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_441cudaGraphNodeFindInClone = {"cudaGraphNodeFindInClone", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_441cudaGraphNodeFindInClone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_440cudaGraphNodeFindInClone};
static PyObject *__pyx_pw_4cuda_6cudart_441cudaGraphNodeFindInClone(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, 17912, __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, 17912, __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, 17912, __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_440cudaGraphNodeFindInClone(__pyx_self, __pyx_v_originalNode, __pyx_v_clonedGraph);

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

static PyObject *__pyx_pf_4cuda_6cudart_440cudaGraphNodeFindInClone(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_originalNode, PyObject *__pyx_v_clonedGraph) {
  struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *__pyx_v_pNode = 0;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__560)
  __Pyx_RefNannySetupContext("cudaGraphNodeFindInClone", 0);
  __Pyx_TraceCall("cudaGraphNodeFindInClone", __pyx_f[0], 17912, 0, __PYX_ERR(0, 17912, __pyx_L1_error));

  /* "cuda/cudart.pyx":17943
 *     cudaGraphClone
 *     """
 *     if not isinstance(clonedGraph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'clonedGraph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(clonedGraph)))
 *     if not isinstance(originalNode, (cudaGraphNode_t, cuda.CUgraphNode)):
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_clonedGraph, __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_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_clonedGraph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":17944
 *     """
 *     if not isinstance(clonedGraph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'clonedGraph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(clonedGraph)))             # <<<<<<<<<<<<<<
 *     if not isinstance(originalNode, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'originalNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(originalNode)))
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_clonedGraph))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17944, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_clonedGraph_is_not_inst, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17944, __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, 17944, __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, 17944, __pyx_L1_error)

    /* "cuda/cudart.pyx":17943
 *     cudaGraphClone
 *     """
 *     if not isinstance(clonedGraph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'clonedGraph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(clonedGraph)))
 *     if not isinstance(originalNode, (cudaGraphNode_t, cuda.CUgraphNode)):
 */
  }

  /* "cuda/cudart.pyx":17945
 *     if not isinstance(clonedGraph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'clonedGraph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(clonedGraph)))
 *     if not isinstance(originalNode, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'originalNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(originalNode)))
 *     cdef cudaGraphNode_t pNode = cudaGraphNode_t()
 */
  __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)) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "cuda/cudart.pyx":17946
 *         raise TypeError("Argument 'clonedGraph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(clonedGraph)))
 *     if not isinstance(originalNode, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'originalNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(originalNode)))             # <<<<<<<<<<<<<<
 *     cdef cudaGraphNode_t pNode = cudaGraphNode_t()
 *     err = ccudart.cudaGraphNodeFindInClone(<ccudart.cudaGraphNode_t*>pNode._ptr, <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>originalNode)._ptr[0], <ccudart.cudaGraph_t>(<cudaGraph_t>clonedGraph)._ptr[0])
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_originalNode))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17946, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_originalNode_is_not_ins, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17946, __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, 17946, __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, 17946, __pyx_L1_error)

    /* "cuda/cudart.pyx":17945
 *     if not isinstance(clonedGraph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'clonedGraph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(clonedGraph)))
 *     if not isinstance(originalNode, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'originalNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(originalNode)))
 *     cdef cudaGraphNode_t pNode = cudaGraphNode_t()
 */
  }

  /* "cuda/cudart.pyx":17947
 *     if not isinstance(originalNode, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'originalNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(originalNode)))
 *     cdef cudaGraphNode_t pNode = cudaGraphNode_t()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphNodeFindInClone(<ccudart.cudaGraphNode_t*>pNode._ptr, <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>originalNode)._ptr[0], <ccudart.cudaGraph_t>(<cudaGraph_t>clonedGraph)._ptr[0])
 *     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, 17947, __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":17948
 *         raise TypeError("Argument 'originalNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(originalNode)))
 *     cdef cudaGraphNode_t pNode = cudaGraphNode_t()
 *     err = ccudart.cudaGraphNodeFindInClone(<ccudart.cudaGraphNode_t*>pNode._ptr, <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>originalNode)._ptr[0], <ccudart.cudaGraph_t>(<cudaGraph_t>clonedGraph)._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pNode)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaGraphNodeFindInClone(((__pyx_t_4cuda_7ccudart_cudaGraphNode_t *)__pyx_v_pNode->__pyx_base._ptr), ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_v_originalNode)->__pyx_base._ptr[0])), ((__pyx_t_4cuda_7ccudart_cudaGraph_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraph_t *)__pyx_v_clonedGraph)->__pyx_base._ptr[0]))); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 17948, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":17949
 *     cdef cudaGraphNode_t pNode = cudaGraphNode_t()
 *     err = ccudart.cudaGraphNodeFindInClone(<ccudart.cudaGraphNode_t*>pNode._ptr, <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>originalNode)._ptr[0], <ccudart.cudaGraph_t>(<cudaGraph_t>clonedGraph)._ptr[0])
 *     return (cudaError_t(err), pNode)             # <<<<<<<<<<<<<<
 * 
 * @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, 17949, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17949, __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_4 = (__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_4)) __PYX_ERR(0, 17949, __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, 17949, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
  __Pyx_INCREF(((PyObject *)__pyx_v_pNode));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pNode));
  PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_pNode));
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":17912
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphNodeFindInClone", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_pNode);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":17952
 * 
 * @cython.embedsignature(True)
 * def cudaGraphNodeGetType(node):             # <<<<<<<<<<<<<<
 *     """ Returns a node's type.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_443cudaGraphNodeGetType(PyObject *__pyx_self, PyObject *__pyx_v_node); /*proto*/
static char __pyx_doc_4cuda_6cudart_442cudaGraphNodeGetType[] = "cudaGraphNodeGetType(node)\n Returns a node's type.\n\n    Returns the node type of `node` in `pType`.\n\n    Parameters\n    ----------\n    node : CUgraphNode or cudaGraphNode_t\n        Node to query\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    pType : cudaGraphNodeType\n        Pointer to return the node type\n\n    See Also\n    --------\n    cudaGraphGetNodes\n    cudaGraphGetRootNodes\n    cudaGraphChildGraphNodeGetGraph\n    cudaGraphKernelNodeGetParams\n    cudaGraphKernelNodeSetParams\n    cudaGraphHostNodeGetParams\n    cudaGraphHostNodeSetParams\n    cudaGraphMemcpyNodeGetParams\n    cudaGraphMemcpyNodeSetParams\n    cudaGraphMemsetNodeGetParams\n    cudaGraphMemsetNodeSetParams\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_443cudaGraphNodeGetType = {"cudaGraphNodeGetType", (PyCFunction)__pyx_pw_4cuda_6cudart_443cudaGraphNodeGetType, METH_O, __pyx_doc_4cuda_6cudart_442cudaGraphNodeGetType};
static PyObject *__pyx_pw_4cuda_6cudart_443cudaGraphNodeGetType(PyObject *__pyx_self, PyObject *__pyx_v_node) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphNodeGetType (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_442cudaGraphNodeGetType(__pyx_self, ((PyObject *)__pyx_v_node));

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

static PyObject *__pyx_pf_4cuda_6cudart_442cudaGraphNodeGetType(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node) {
  enum __pyx_t_4cuda_7ccudart_cudaGraphNodeType __pyx_v_pType;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__561)
  __Pyx_RefNannySetupContext("cudaGraphNodeGetType", 0);
  __Pyx_TraceCall("cudaGraphNodeGetType", __pyx_f[0], 17952, 0, __PYX_ERR(0, 17952, __pyx_L1_error));

  /* "cuda/cudart.pyx":17984
 *     cudaGraphMemsetNodeSetParams
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef ccudart.cudaGraphNodeType pType
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":17985
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaGraphNodeType pType
 *     err = ccudart.cudaGraphNodeGetType(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], &pType)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_node))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17985, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_node_is_not_instance_of, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17985, __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, 17985, __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, 17985, __pyx_L1_error)

    /* "cuda/cudart.pyx":17984
 *     cudaGraphMemsetNodeSetParams
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef ccudart.cudaGraphNodeType pType
 */
  }

  /* "cuda/cudart.pyx":17987
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef ccudart.cudaGraphNodeType pType
 *     err = ccudart.cudaGraphNodeGetType(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], &pType)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), cudaGraphNodeType(pType))
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaGraphNodeGetType(((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_v_node)->__pyx_base._ptr[0])), (&__pyx_v_pType)); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 17987, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":17988
 *     cdef ccudart.cudaGraphNodeType pType
 *     err = ccudart.cudaGraphNodeGetType(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], &pType)
 *     return (cudaError_t(err), cudaGraphNodeType(pType))             # <<<<<<<<<<<<<<
 * 
 * @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, 17988, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17988, __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_4 = (__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_4)) __PYX_ERR(0, 17988, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_cudaGraphNodeType); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17988, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphNodeType(__pyx_v_pType); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 17988, __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_5 = (__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_5)) __PYX_ERR(0, 17988, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17988, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_5);
  __pyx_t_4 = 0;
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":17952
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphNodeGetType", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":17991
 * 
 * @cython.embedsignature(True)
 * def cudaGraphGetNodes(graph, size_t numNodes = 0):             # <<<<<<<<<<<<<<
 *     """ Returns a graph's nodes.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_445cudaGraphGetNodes(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_444cudaGraphGetNodes[] = "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 : CUgraph or cudaGraph_t\n        Graph to query\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    nodes : List[cudaGraphNode_t]\n        Pointer to return the nodes\n    numNodes : int\n        See description\n\n    See Also\n    --------\n    cudaGraphCreate\n    cudaGraphGetRootNodes\n    cudaGraphGetEdges\n    cudaGraphNodeGetType\n    cudaGraphNodeGetDependencies\n    cudaGraphNodeGetDependentNodes\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_445cudaGraphGetNodes = {"cudaGraphGetNodes", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_445cudaGraphGetNodes, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_444cudaGraphGetNodes};
static PyObject *__pyx_pw_4cuda_6cudart_445cudaGraphGetNodes(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, 17991, __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, 17991, __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, 17991, __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_444cudaGraphGetNodes(__pyx_self, __pyx_v_graph, __pyx_v_numNodes);

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

static PyObject *__pyx_pf_4cuda_6cudart_444cudaGraphGetNodes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, size_t __pyx_v_numNodes) {
  size_t __pyx_v__graph_length;
  __pyx_t_4cuda_7ccudart_cudaGraphNode_t *__pyx_v_cnodes;
  PyObject *__pyx_v_pynodes = NULL;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  size_t __pyx_9genexpr77__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;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  size_t __pyx_t_9;
  size_t __pyx_t_10;
  size_t __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__562)
  __Pyx_RefNannySetupContext("cudaGraphGetNodes", 0);
  __Pyx_TraceCall("cudaGraphGetNodes", __pyx_f[0], 17991, 0, __PYX_ERR(0, 17991, __pyx_L1_error));

  /* "cuda/cudart.pyx":18025
 *     cudaGraphNodeGetDependentNodes
 *     """
 *     cdef size_t _graph_length = numNodes             # <<<<<<<<<<<<<<
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 */
  __pyx_v__graph_length = __pyx_v_numNodes;

  /* "cuda/cudart.pyx":18026
 *     """
 *     cdef size_t _graph_length = numNodes
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef ccudart.cudaGraphNode_t* cnodes = NULL
 */
  __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_L4_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_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":18027
 *     cdef size_t _graph_length = numNodes
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaGraphNode_t* cnodes = NULL
 *     pynodes = []
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_graph))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18027, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_graph_is_not_instance_o, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18027, __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, 18027, __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, 18027, __pyx_L1_error)

    /* "cuda/cudart.pyx":18026
 *     """
 *     cdef size_t _graph_length = numNodes
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef ccudart.cudaGraphNode_t* cnodes = NULL
 */
  }

  /* "cuda/cudart.pyx":18028
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef ccudart.cudaGraphNode_t* cnodes = NULL             # <<<<<<<<<<<<<<
 *     pynodes = []
 *     if _graph_length != 0:
 */
  __pyx_v_cnodes = NULL;

  /* "cuda/cudart.pyx":18029
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef ccudart.cudaGraphNode_t* cnodes = NULL
 *     pynodes = []             # <<<<<<<<<<<<<<
 *     if _graph_length != 0:
 *         cnodes = <ccudart.cudaGraphNode_t*>calloc(_graph_length, sizeof(ccudart.cudaGraphNode_t))
 */
  __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18029, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pynodes = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":18030
 *     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_2 = ((__pyx_v__graph_length != 0) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":18031
 *     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 = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t *)calloc(__pyx_v__graph_length, (sizeof(__pyx_t_4cuda_7ccudart_cudaGraphNode_t))));

    /* "cuda/cudart.pyx":18032
 *     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(<ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], cnodes, &numNodes)
 */
    __pyx_t_2 = ((__pyx_v_cnodes == NULL) != 0);
    if (unlikely(__pyx_t_2)) {

      /* "cuda/cudart.pyx":18033
 *         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(<ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], cnodes, &numNodes)
 *     if cudaError_t(err) == cudaError_t(0):
 */
      __pyx_t_4 = __Pyx_PyInt_FromSize_t(__pyx_v__graph_length); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18033, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18033, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Failed_to_allocate_length_x_size_2, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18033, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_t_4, __pyx_n_u_x_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18033, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_4cuda_7ccudart_cudaGraphNode_t))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18033, __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, 18033, __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_5, __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18033, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18033, __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, 18033, __pyx_L1_error)

      /* "cuda/cudart.pyx":18032
 *     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(<ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], cnodes, &numNodes)
 */
    }

    /* "cuda/cudart.pyx":18030
 *     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":18034
 *         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(<ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], 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_7 = __pyx_f_4cuda_7ccudart_cudaGraphGetNodes(((__pyx_t_4cuda_7ccudart_cudaGraph_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraph_t *)__pyx_v_graph)->__pyx_base._ptr[0])), __pyx_v_cnodes, (&__pyx_v_numNodes)); if (unlikely(__pyx_t_7 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 18034, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":18035
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *     err = ccudart.cudaGraphGetNodes(<ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], 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_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18035, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18035, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_8 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  __pyx_t_6 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_8, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __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_6)) __PYX_ERR(0, 18035, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18035, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __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_4 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_8, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_int_0);
  __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18035, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = PyObject_RichCompare(__pyx_t_6, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18035, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 18035, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":18036
 *     err = ccudart.cudaGraphGetNodes(<ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], 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_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18036, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_9 = __pyx_v__graph_length;
      __pyx_t_10 = __pyx_t_9;
      for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
        __pyx_9genexpr77__pyx_v_idx = __pyx_t_11;
        __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18036, __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_cnodes[__pyx_9genexpr77__pyx_v_idx]))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18036, __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, 18036, __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, 18036, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_5, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 18036, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pynodes, ((PyObject*)__pyx_t_5));
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":18035
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *     err = ccudart.cudaGraphGetNodes(<ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], 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":18037
 *     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_2 = ((__pyx_v_cnodes != NULL) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":18038
 *         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":18037
 *     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":18039
 *     if cnodes is not NULL:
 *         free(cnodes)
 *     return (cudaError_t(err), pynodes, numNodes)             # <<<<<<<<<<<<<<
 * 
 * @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, 18039, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18039, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_6);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_6, function);
    }
  }
  __pyx_t_5 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_8, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4);
  __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18039, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = __Pyx_PyInt_FromSize_t(__pyx_v_numNodes); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18039, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18039, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5);
  __Pyx_INCREF(__pyx_v_pynodes);
  __Pyx_GIVEREF(__pyx_v_pynodes);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_pynodes);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_6);
  __pyx_t_5 = 0;
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":17991
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphGetNodes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pynodes);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":18042
 * 
 * @cython.embedsignature(True)
 * def cudaGraphGetRootNodes(graph, size_t pNumRootNodes = 0):             # <<<<<<<<<<<<<<
 *     """ Returns a graph's root nodes.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_447cudaGraphGetRootNodes(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_446cudaGraphGetRootNodes[] = "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 : CUgraph or cudaGraph_t\n        Graph to query\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    pRootNodes : List[cudaGraphNode_t]\n        Pointer to return the root nodes\n    pNumRootNodes : int\n        See description\n\n    See Also\n    --------\n    cudaGraphCreate\n    cudaGraphGetNodes\n    cudaGraphGetEdges\n    cudaGraphNodeGetType\n    cudaGraphNodeGetDependencies\n    cudaGraphNodeGetDependentNodes\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_447cudaGraphGetRootNodes = {"cudaGraphGetRootNodes", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_447cudaGraphGetRootNodes, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_446cudaGraphGetRootNodes};
static PyObject *__pyx_pw_4cuda_6cudart_447cudaGraphGetRootNodes(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, 18042, __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, 18042, __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, 18042, __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_446cudaGraphGetRootNodes(__pyx_self, __pyx_v_graph, __pyx_v_pNumRootNodes);

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

static PyObject *__pyx_pf_4cuda_6cudart_446cudaGraphGetRootNodes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, size_t __pyx_v_pNumRootNodes) {
  size_t __pyx_v__graph_length;
  __pyx_t_4cuda_7ccudart_cudaGraphNode_t *__pyx_v_cpRootNodes;
  PyObject *__pyx_v_pypRootNodes = NULL;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  size_t __pyx_9genexpr78__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;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  size_t __pyx_t_9;
  size_t __pyx_t_10;
  size_t __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__563)
  __Pyx_RefNannySetupContext("cudaGraphGetRootNodes", 0);
  __Pyx_TraceCall("cudaGraphGetRootNodes", __pyx_f[0], 18042, 0, __PYX_ERR(0, 18042, __pyx_L1_error));

  /* "cuda/cudart.pyx":18076
 *     cudaGraphNodeGetDependentNodes
 *     """
 *     cdef size_t _graph_length = pNumRootNodes             # <<<<<<<<<<<<<<
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 */
  __pyx_v__graph_length = __pyx_v_pNumRootNodes;

  /* "cuda/cudart.pyx":18077
 *     """
 *     cdef size_t _graph_length = pNumRootNodes
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef ccudart.cudaGraphNode_t* cpRootNodes = NULL
 */
  __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_L4_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_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":18078
 *     cdef size_t _graph_length = pNumRootNodes
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaGraphNode_t* cpRootNodes = NULL
 *     pypRootNodes = []
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_graph))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18078, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_graph_is_not_instance_o, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18078, __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, 18078, __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, 18078, __pyx_L1_error)

    /* "cuda/cudart.pyx":18077
 *     """
 *     cdef size_t _graph_length = pNumRootNodes
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef ccudart.cudaGraphNode_t* cpRootNodes = NULL
 */
  }

  /* "cuda/cudart.pyx":18079
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef ccudart.cudaGraphNode_t* cpRootNodes = NULL             # <<<<<<<<<<<<<<
 *     pypRootNodes = []
 *     if _graph_length != 0:
 */
  __pyx_v_cpRootNodes = NULL;

  /* "cuda/cudart.pyx":18080
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef ccudart.cudaGraphNode_t* cpRootNodes = NULL
 *     pypRootNodes = []             # <<<<<<<<<<<<<<
 *     if _graph_length != 0:
 *         cpRootNodes = <ccudart.cudaGraphNode_t*>calloc(_graph_length, sizeof(ccudart.cudaGraphNode_t))
 */
  __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18080, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pypRootNodes = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":18081
 *     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_2 = ((__pyx_v__graph_length != 0) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":18082
 *     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 = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t *)calloc(__pyx_v__graph_length, (sizeof(__pyx_t_4cuda_7ccudart_cudaGraphNode_t))));

    /* "cuda/cudart.pyx":18083
 *     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(<ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], cpRootNodes, &pNumRootNodes)
 */
    __pyx_t_2 = ((__pyx_v_cpRootNodes == NULL) != 0);
    if (unlikely(__pyx_t_2)) {

      /* "cuda/cudart.pyx":18084
 *         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(<ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], cpRootNodes, &pNumRootNodes)
 *     if cudaError_t(err) == cudaError_t(0):
 */
      __pyx_t_4 = __Pyx_PyInt_FromSize_t(__pyx_v__graph_length); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18084, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18084, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Failed_to_allocate_length_x_size_2, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18084, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_t_4, __pyx_n_u_x_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18084, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_4cuda_7ccudart_cudaGraphNode_t))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18084, __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, 18084, __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_5, __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18084, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18084, __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, 18084, __pyx_L1_error)

      /* "cuda/cudart.pyx":18083
 *     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(<ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], cpRootNodes, &pNumRootNodes)
 */
    }

    /* "cuda/cudart.pyx":18081
 *     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":18085
 *         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(<ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], 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_7 = __pyx_f_4cuda_7ccudart_cudaGraphGetRootNodes(((__pyx_t_4cuda_7ccudart_cudaGraph_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraph_t *)__pyx_v_graph)->__pyx_base._ptr[0])), __pyx_v_cpRootNodes, (&__pyx_v_pNumRootNodes)); if (unlikely(__pyx_t_7 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 18085, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":18086
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *     err = ccudart.cudaGraphGetRootNodes(<ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], 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_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18086, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18086, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_8 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  __pyx_t_6 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_8, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __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_6)) __PYX_ERR(0, 18086, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18086, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __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_4 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_8, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_int_0);
  __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18086, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = PyObject_RichCompare(__pyx_t_6, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18086, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 18086, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":18087
 *     err = ccudart.cudaGraphGetRootNodes(<ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], 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_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18087, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_9 = __pyx_v__graph_length;
      __pyx_t_10 = __pyx_t_9;
      for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
        __pyx_9genexpr78__pyx_v_idx = __pyx_t_11;
        __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18087, __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_cpRootNodes[__pyx_9genexpr78__pyx_v_idx]))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18087, __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, 18087, __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, 18087, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_5, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 18087, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pypRootNodes, ((PyObject*)__pyx_t_5));
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":18086
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *     err = ccudart.cudaGraphGetRootNodes(<ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], 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":18088
 *     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_2 = ((__pyx_v_cpRootNodes != NULL) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":18089
 *         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":18088
 *     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":18090
 *     if cpRootNodes is not NULL:
 *         free(cpRootNodes)
 *     return (cudaError_t(err), pypRootNodes, pNumRootNodes)             # <<<<<<<<<<<<<<
 * 
 * @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, 18090, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18090, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_6);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_6, function);
    }
  }
  __pyx_t_5 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_8, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4);
  __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18090, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = __Pyx_PyInt_FromSize_t(__pyx_v_pNumRootNodes); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18090, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18090, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5);
  __Pyx_INCREF(__pyx_v_pypRootNodes);
  __Pyx_GIVEREF(__pyx_v_pypRootNodes);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_pypRootNodes);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_6);
  __pyx_t_5 = 0;
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":18042
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphGetRootNodes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pypRootNodes);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":18093
 * 
 * @cython.embedsignature(True)
 * def cudaGraphGetEdges(graph, size_t numEdges = 0):             # <<<<<<<<<<<<<<
 *     """ Returns a graph's dependency edges.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_449cudaGraphGetEdges(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_448cudaGraphGetEdges[] = "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 : CUgraph or cudaGraph_t\n        Graph to get the edges from\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    from : List[cudaGraphNode_t]\n        Location to return edge endpoints\n    to : List[cudaGraphNode_t]\n        Location to return edge endpoints\n    numEdges : int\n        See description\n\n    See Also\n    --------\n    cudaGraphGetNodes\n    cudaGraphGetRootNodes\n    cudaGraphAddDependencies\n    cudaGraphRemoveDependencies\n    cudaGraphNodeGetDependencies\n    cudaGraphNodeGetDependentNodes\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_449cudaGraphGetEdges = {"cudaGraphGetEdges", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_449cudaGraphGetEdges, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_448cudaGraphGetEdges};
static PyObject *__pyx_pw_4cuda_6cudart_449cudaGraphGetEdges(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, 18093, __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, 18093, __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, 18093, __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_448cudaGraphGetEdges(__pyx_self, __pyx_v_graph, __pyx_v_numEdges);

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

static PyObject *__pyx_pf_4cuda_6cudart_448cudaGraphGetEdges(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, size_t __pyx_v_numEdges) {
  size_t __pyx_v__graph_length;
  __pyx_t_4cuda_7ccudart_cudaGraphNode_t *__pyx_v_cfrom_;
  PyObject *__pyx_v_pyfrom_ = NULL;
  __pyx_t_4cuda_7ccudart_cudaGraphNode_t *__pyx_v_cto;
  PyObject *__pyx_v_pyto = NULL;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  size_t __pyx_9genexpr79__pyx_v_idx;
  size_t __pyx_9genexpr80__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;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  size_t __pyx_t_9;
  size_t __pyx_t_10;
  size_t __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__564)
  __Pyx_RefNannySetupContext("cudaGraphGetEdges", 0);
  __Pyx_TraceCall("cudaGraphGetEdges", __pyx_f[0], 18093, 0, __PYX_ERR(0, 18093, __pyx_L1_error));

  /* "cuda/cudart.pyx":18131
 *     cudaGraphNodeGetDependentNodes
 *     """
 *     cdef size_t _graph_length = numEdges             # <<<<<<<<<<<<<<
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 */
  __pyx_v__graph_length = __pyx_v_numEdges;

  /* "cuda/cudart.pyx":18132
 *     """
 *     cdef size_t _graph_length = numEdges
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef ccudart.cudaGraphNode_t* cfrom_ = NULL
 */
  __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_L4_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_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":18133
 *     cdef size_t _graph_length = numEdges
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaGraphNode_t* cfrom_ = NULL
 *     pyfrom_ = []
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_graph))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18133, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_graph_is_not_instance_o, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18133, __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, 18133, __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, 18133, __pyx_L1_error)

    /* "cuda/cudart.pyx":18132
 *     """
 *     cdef size_t _graph_length = numEdges
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef ccudart.cudaGraphNode_t* cfrom_ = NULL
 */
  }

  /* "cuda/cudart.pyx":18134
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef ccudart.cudaGraphNode_t* cfrom_ = NULL             # <<<<<<<<<<<<<<
 *     pyfrom_ = []
 *     if _graph_length != 0:
 */
  __pyx_v_cfrom_ = NULL;

  /* "cuda/cudart.pyx":18135
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef ccudart.cudaGraphNode_t* cfrom_ = NULL
 *     pyfrom_ = []             # <<<<<<<<<<<<<<
 *     if _graph_length != 0:
 *         cfrom_ = <ccudart.cudaGraphNode_t*>calloc(_graph_length, sizeof(ccudart.cudaGraphNode_t))
 */
  __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18135, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pyfrom_ = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":18136
 *     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_2 = ((__pyx_v__graph_length != 0) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":18137
 *     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_ = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t *)calloc(__pyx_v__graph_length, (sizeof(__pyx_t_4cuda_7ccudart_cudaGraphNode_t))));

    /* "cuda/cudart.pyx":18138
 *     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_2 = ((__pyx_v_cfrom_ == NULL) != 0);
    if (unlikely(__pyx_t_2)) {

      /* "cuda/cudart.pyx":18139
 *         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_4 = __Pyx_PyInt_FromSize_t(__pyx_v__graph_length); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18139, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18139, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Failed_to_allocate_length_x_size_2, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18139, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_t_4, __pyx_n_u_x_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18139, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_4cuda_7ccudart_cudaGraphNode_t))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18139, __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, 18139, __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_5, __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18139, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18139, __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, 18139, __pyx_L1_error)

      /* "cuda/cudart.pyx":18138
 *     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":18136
 *     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":18140
 *         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":18141
 *             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_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18141, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_v_pyto = ((PyObject*)__pyx_t_6);
  __pyx_t_6 = 0;

  /* "cuda/cudart.pyx":18142
 *     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_2 = ((__pyx_v__graph_length != 0) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":18143
 *     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 = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t *)calloc(__pyx_v__graph_length, (sizeof(__pyx_t_4cuda_7ccudart_cudaGraphNode_t))));

    /* "cuda/cudart.pyx":18144
 *     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(<ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], cfrom_, cto, &numEdges)
 */
    __pyx_t_2 = ((__pyx_v_cto == NULL) != 0);
    if (unlikely(__pyx_t_2)) {

      /* "cuda/cudart.pyx":18145
 *         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(<ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], cfrom_, cto, &numEdges)
 *     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, 18145, __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, 18145, __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_2, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18145, __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, 18145, __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(__pyx_t_4cuda_7ccudart_cudaGraphNode_t))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18145, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18145, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18145, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18145, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_Raise(__pyx_t_5, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __PYX_ERR(0, 18145, __pyx_L1_error)

      /* "cuda/cudart.pyx":18144
 *     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(<ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], cfrom_, cto, &numEdges)
 */
    }

    /* "cuda/cudart.pyx":18142
 *     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":18146
 *         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(<ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], 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_7 = __pyx_f_4cuda_7ccudart_cudaGraphGetEdges(((__pyx_t_4cuda_7ccudart_cudaGraph_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraph_t *)__pyx_v_graph)->__pyx_base._ptr[0])), __pyx_v_cfrom_, __pyx_v_cto, (&__pyx_v_numEdges)); if (unlikely(__pyx_t_7 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 18146, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":18147
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *     err = ccudart.cudaGraphGetEdges(<ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], 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_6, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18147, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18147, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_6);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_6, function);
    }
  }
  __pyx_t_5 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_8, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4);
  __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18147, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __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, 18147, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  __pyx_t_6 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_8, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_int_0);
  __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18147, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyObject_RichCompare(__pyx_t_5, __pyx_t_6, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18147, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 18147, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":18148
 *     err = ccudart.cudaGraphGetEdges(<ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], 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_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18148, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_9 = __pyx_v__graph_length;
      __pyx_t_10 = __pyx_t_9;
      for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
        __pyx_9genexpr79__pyx_v_idx = __pyx_t_11;
        __pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18148, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_5 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)(__pyx_v_cfrom_[__pyx_9genexpr79__pyx_v_idx]))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18148, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_init_value, __pyx_t_5) < 0) __PYX_ERR(0, 18148, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t), __pyx_empty_tuple, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18148, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 18148, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pyfrom_, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "cuda/cudart.pyx":18147
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *     err = ccudart.cudaGraphGetEdges(<ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], 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":18149
 *     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_2 = ((__pyx_v_cfrom_ != NULL) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":18150
 *         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":18149
 *     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":18151
 *     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_5, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18151, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18151, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __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_4 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_8, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18151, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18151, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_8 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_6);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_6, function);
    }
  }
  __pyx_t_5 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_8, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_int_0);
  __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18151, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = PyObject_RichCompare(__pyx_t_4, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18151, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 18151, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":18152
 *         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_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18152, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_9 = __pyx_v__graph_length;
      __pyx_t_10 = __pyx_t_9;
      for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
        __pyx_9genexpr80__pyx_v_idx = __pyx_t_11;
        __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18152, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __pyx_t_4 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_6cudart_void_ptr)(__pyx_v_cto[__pyx_9genexpr80__pyx_v_idx]))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18152, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_init_value, __pyx_t_4) < 0) __PYX_ERR(0, 18152, __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_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18152, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_4))) __PYX_ERR(0, 18152, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pyto, ((PyObject*)__pyx_t_6));
    __pyx_t_6 = 0;

    /* "cuda/cudart.pyx":18151
 *     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":18153
 *     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_2 = ((__pyx_v_cto != NULL) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":18154
 *         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":18153
 *     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":18155
 *     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_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18155, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18155, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_8 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  __pyx_t_6 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_8, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __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_6)) __PYX_ERR(0, 18155, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_PyInt_FromSize_t(__pyx_v_numEdges); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18155, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = PyTuple_New(4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18155, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_6);
  __Pyx_INCREF(__pyx_v_pyfrom_);
  __Pyx_GIVEREF(__pyx_v_pyfrom_);
  PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_v_pyfrom_);
  __Pyx_INCREF(__pyx_v_pyto);
  __Pyx_GIVEREF(__pyx_v_pyto);
  PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_pyto);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_5, 3, __pyx_t_4);
  __pyx_t_6 = 0;
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":18093
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphGetEdges", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __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":18158
 * 
 * @cython.embedsignature(True)
 * def cudaGraphNodeGetDependencies(node, size_t pNumDependencies = 0):             # <<<<<<<<<<<<<<
 *     """ Returns a node's dependencies.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_451cudaGraphNodeGetDependencies(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_450cudaGraphNodeGetDependencies[] = "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 : CUgraphNode or cudaGraphNode_t\n        Node to query\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    pDependencies : List[cudaGraphNode_t]\n        Pointer to return the dependencies\n    pNumDependencies : int\n        See description\n\n    See Also\n    --------\n    cudaGraphNodeGetDependentNodes\n    cudaGraphGetNodes\n    cudaGraphGetRootNodes\n    cudaGraphGetEdges\n    cudaGraphAddDependencies\n    cudaGraphRemoveDependencies\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_451cudaGraphNodeGetDependencies = {"cudaGraphNodeGetDependencies", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_451cudaGraphNodeGetDependencies, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_450cudaGraphNodeGetDependencies};
static PyObject *__pyx_pw_4cuda_6cudart_451cudaGraphNodeGetDependencies(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, 18158, __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, 18158, __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, 18158, __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_450cudaGraphNodeGetDependencies(__pyx_self, __pyx_v_node, __pyx_v_pNumDependencies);

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

static PyObject *__pyx_pf_4cuda_6cudart_450cudaGraphNodeGetDependencies(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node, size_t __pyx_v_pNumDependencies) {
  size_t __pyx_v__graph_length;
  __pyx_t_4cuda_7ccudart_cudaGraphNode_t *__pyx_v_cpDependencies;
  PyObject *__pyx_v_pypDependencies = NULL;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  size_t __pyx_9genexpr81__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;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  size_t __pyx_t_9;
  size_t __pyx_t_10;
  size_t __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__565)
  __Pyx_RefNannySetupContext("cudaGraphNodeGetDependencies", 0);
  __Pyx_TraceCall("cudaGraphNodeGetDependencies", __pyx_f[0], 18158, 0, __PYX_ERR(0, 18158, __pyx_L1_error));

  /* "cuda/cudart.pyx":18193
 *     cudaGraphRemoveDependencies
 *     """
 *     cdef size_t _graph_length = pNumDependencies             # <<<<<<<<<<<<<<
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 */
  __pyx_v__graph_length = __pyx_v_pNumDependencies;

  /* "cuda/cudart.pyx":18194
 *     """
 *     cdef size_t _graph_length = pNumDependencies
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":18195
 *     cdef size_t _graph_length = pNumDependencies
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     pypDependencies = []
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_node))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18195, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_node_is_not_instance_of, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18195, __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, 18195, __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, 18195, __pyx_L1_error)

    /* "cuda/cudart.pyx":18194
 *     """
 *     cdef size_t _graph_length = pNumDependencies
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 */
  }

  /* "cuda/cudart.pyx":18196
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL             # <<<<<<<<<<<<<<
 *     pypDependencies = []
 *     if _graph_length != 0:
 */
  __pyx_v_cpDependencies = NULL;

  /* "cuda/cudart.pyx":18197
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef ccudart.cudaGraphNode_t* cpDependencies = NULL
 *     pypDependencies = []             # <<<<<<<<<<<<<<
 *     if _graph_length != 0:
 *         cpDependencies = <ccudart.cudaGraphNode_t*>calloc(_graph_length, sizeof(ccudart.cudaGraphNode_t))
 */
  __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18197, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pypDependencies = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":18198
 *     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_2 = ((__pyx_v__graph_length != 0) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":18199
 *     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 = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t *)calloc(__pyx_v__graph_length, (sizeof(__pyx_t_4cuda_7ccudart_cudaGraphNode_t))));

    /* "cuda/cudart.pyx":18200
 *     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(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], cpDependencies, &pNumDependencies)
 */
    __pyx_t_2 = ((__pyx_v_cpDependencies == NULL) != 0);
    if (unlikely(__pyx_t_2)) {

      /* "cuda/cudart.pyx":18201
 *         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(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], cpDependencies, &pNumDependencies)
 *     if cudaError_t(err) == cudaError_t(0):
 */
      __pyx_t_4 = __Pyx_PyInt_FromSize_t(__pyx_v__graph_length); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18201, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18201, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Failed_to_allocate_length_x_size_2, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18201, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_t_4, __pyx_n_u_x_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18201, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_4cuda_7ccudart_cudaGraphNode_t))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18201, __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, 18201, __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_5, __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18201, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_4); 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_Raise(__pyx_t_6, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __PYX_ERR(0, 18201, __pyx_L1_error)

      /* "cuda/cudart.pyx":18200
 *     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(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], cpDependencies, &pNumDependencies)
 */
    }

    /* "cuda/cudart.pyx":18198
 *     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":18202
 *         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(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], 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_7 = __pyx_f_4cuda_7ccudart_cudaGraphNodeGetDependencies(((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_v_node)->__pyx_base._ptr[0])), __pyx_v_cpDependencies, (&__pyx_v_pNumDependencies)); if (unlikely(__pyx_t_7 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 18202, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":18203
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *     err = ccudart.cudaGraphNodeGetDependencies(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], 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_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18203, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18203, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_8 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  __pyx_t_6 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_8, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __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_6)) __PYX_ERR(0, 18203, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18203, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __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_4 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_8, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_int_0);
  __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18203, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = PyObject_RichCompare(__pyx_t_6, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18203, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 18203, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":18204
 *     err = ccudart.cudaGraphNodeGetDependencies(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], 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_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18204, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_9 = __pyx_v__graph_length;
      __pyx_t_10 = __pyx_t_9;
      for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
        __pyx_9genexpr81__pyx_v_idx = __pyx_t_11;
        __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18204, __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_cpDependencies[__pyx_9genexpr81__pyx_v_idx]))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18204, __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, 18204, __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, 18204, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_5, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 18204, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pypDependencies, ((PyObject*)__pyx_t_5));
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":18203
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *     err = ccudart.cudaGraphNodeGetDependencies(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], 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":18205
 *     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_2 = ((__pyx_v_cpDependencies != NULL) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":18206
 *         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":18205
 *     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":18207
 *     if cpDependencies is not NULL:
 *         free(cpDependencies)
 *     return (cudaError_t(err), pypDependencies, pNumDependencies)             # <<<<<<<<<<<<<<
 * 
 * @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, 18207, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18207, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_6);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_6, function);
    }
  }
  __pyx_t_5 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_8, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4);
  __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18207, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = __Pyx_PyInt_FromSize_t(__pyx_v_pNumDependencies); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18207, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18207, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5);
  __Pyx_INCREF(__pyx_v_pypDependencies);
  __Pyx_GIVEREF(__pyx_v_pypDependencies);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_pypDependencies);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_6);
  __pyx_t_5 = 0;
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":18158
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphNodeGetDependencies", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pypDependencies);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":18210
 * 
 * @cython.embedsignature(True)
 * def cudaGraphNodeGetDependentNodes(node, size_t pNumDependentNodes = 0):             # <<<<<<<<<<<<<<
 *     """ Returns a node's dependent nodes.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_453cudaGraphNodeGetDependentNodes(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_452cudaGraphNodeGetDependentNodes[] = "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 : CUgraphNode or cudaGraphNode_t\n        Node to query\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    pDependentNodes : List[cudaGraphNode_t]\n        Pointer to return the dependent nodes\n    pNumDependentNodes : int\n        See description\n\n    See Also\n    --------\n    cudaGraphNodeGetDependencies\n    cudaGraphGetNodes\n    cudaGraphGetRootNodes\n    cudaGraphGetEdges\n    cudaGraphAddDependencies\n    cudaGraphRemoveDependencies\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_453cudaGraphNodeGetDependentNodes = {"cudaGraphNodeGetDependentNodes", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_453cudaGraphNodeGetDependentNodes, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_452cudaGraphNodeGetDependentNodes};
static PyObject *__pyx_pw_4cuda_6cudart_453cudaGraphNodeGetDependentNodes(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, 18210, __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, 18210, __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, 18210, __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_452cudaGraphNodeGetDependentNodes(__pyx_self, __pyx_v_node, __pyx_v_pNumDependentNodes);

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

static PyObject *__pyx_pf_4cuda_6cudart_452cudaGraphNodeGetDependentNodes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node, size_t __pyx_v_pNumDependentNodes) {
  size_t __pyx_v__graph_length;
  __pyx_t_4cuda_7ccudart_cudaGraphNode_t *__pyx_v_cpDependentNodes;
  PyObject *__pyx_v_pypDependentNodes = NULL;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  size_t __pyx_9genexpr82__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;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  size_t __pyx_t_9;
  size_t __pyx_t_10;
  size_t __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__566)
  __Pyx_RefNannySetupContext("cudaGraphNodeGetDependentNodes", 0);
  __Pyx_TraceCall("cudaGraphNodeGetDependentNodes", __pyx_f[0], 18210, 0, __PYX_ERR(0, 18210, __pyx_L1_error));

  /* "cuda/cudart.pyx":18245
 *     cudaGraphRemoveDependencies
 *     """
 *     cdef size_t _graph_length = pNumDependentNodes             # <<<<<<<<<<<<<<
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 */
  __pyx_v__graph_length = __pyx_v_pNumDependentNodes;

  /* "cuda/cudart.pyx":18246
 *     """
 *     cdef size_t _graph_length = pNumDependentNodes
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef ccudart.cudaGraphNode_t* cpDependentNodes = NULL
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":18247
 *     cdef size_t _graph_length = pNumDependentNodes
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaGraphNode_t* cpDependentNodes = NULL
 *     pypDependentNodes = []
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_node))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18247, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_node_is_not_instance_of, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18247, __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, 18247, __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, 18247, __pyx_L1_error)

    /* "cuda/cudart.pyx":18246
 *     """
 *     cdef size_t _graph_length = pNumDependentNodes
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef ccudart.cudaGraphNode_t* cpDependentNodes = NULL
 */
  }

  /* "cuda/cudart.pyx":18248
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef ccudart.cudaGraphNode_t* cpDependentNodes = NULL             # <<<<<<<<<<<<<<
 *     pypDependentNodes = []
 *     if _graph_length != 0:
 */
  __pyx_v_cpDependentNodes = NULL;

  /* "cuda/cudart.pyx":18249
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     cdef ccudart.cudaGraphNode_t* cpDependentNodes = NULL
 *     pypDependentNodes = []             # <<<<<<<<<<<<<<
 *     if _graph_length != 0:
 *         cpDependentNodes = <ccudart.cudaGraphNode_t*>calloc(_graph_length, sizeof(ccudart.cudaGraphNode_t))
 */
  __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18249, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pypDependentNodes = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":18250
 *     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_2 = ((__pyx_v__graph_length != 0) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":18251
 *     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 = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t *)calloc(__pyx_v__graph_length, (sizeof(__pyx_t_4cuda_7ccudart_cudaGraphNode_t))));

    /* "cuda/cudart.pyx":18252
 *     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(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], cpDependentNodes, &pNumDependentNodes)
 */
    __pyx_t_2 = ((__pyx_v_cpDependentNodes == NULL) != 0);
    if (unlikely(__pyx_t_2)) {

      /* "cuda/cudart.pyx":18253
 *         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(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], cpDependentNodes, &pNumDependentNodes)
 *     if cudaError_t(err) == cudaError_t(0):
 */
      __pyx_t_4 = __Pyx_PyInt_FromSize_t(__pyx_v__graph_length); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18253, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18253, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Failed_to_allocate_length_x_size_2, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18253, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_t_4, __pyx_n_u_x_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18253, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_4cuda_7ccudart_cudaGraphNode_t))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18253, __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, 18253, __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_5, __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18253, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18253, __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, 18253, __pyx_L1_error)

      /* "cuda/cudart.pyx":18252
 *     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(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], cpDependentNodes, &pNumDependentNodes)
 */
    }

    /* "cuda/cudart.pyx":18250
 *     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":18254
 *         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(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], 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_7 = __pyx_f_4cuda_7ccudart_cudaGraphNodeGetDependentNodes(((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_v_node)->__pyx_base._ptr[0])), __pyx_v_cpDependentNodes, (&__pyx_v_pNumDependentNodes)); if (unlikely(__pyx_t_7 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 18254, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":18255
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *     err = ccudart.cudaGraphNodeGetDependentNodes(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], 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_4, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18255, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18255, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_8 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  __pyx_t_6 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_8, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __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_6)) __PYX_ERR(0, 18255, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18255, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __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_4 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_8, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_int_0);
  __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18255, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = PyObject_RichCompare(__pyx_t_6, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18255, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 18255, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":18256
 *     err = ccudart.cudaGraphNodeGetDependentNodes(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], 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_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18256, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_9 = __pyx_v__graph_length;
      __pyx_t_10 = __pyx_t_9;
      for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
        __pyx_9genexpr82__pyx_v_idx = __pyx_t_11;
        __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18256, __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_cpDependentNodes[__pyx_9genexpr82__pyx_v_idx]))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18256, __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, 18256, __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, 18256, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_5, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 18256, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pypDependentNodes, ((PyObject*)__pyx_t_5));
    __pyx_t_5 = 0;

    /* "cuda/cudart.pyx":18255
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccudart.cudaGraphNode_t)))
 *     err = ccudart.cudaGraphNodeGetDependentNodes(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], 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":18257
 *     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_2 = ((__pyx_v_cpDependentNodes != NULL) != 0);
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":18258
 *         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":18257
 *     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":18259
 *     if cpDependentNodes is not NULL:
 *         free(cpDependentNodes)
 *     return (cudaError_t(err), pypDependentNodes, pNumDependentNodes)             # <<<<<<<<<<<<<<
 * 
 * @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, 18259, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18259, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_6);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_6, function);
    }
  }
  __pyx_t_5 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_8, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4);
  __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18259, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = __Pyx_PyInt_FromSize_t(__pyx_v_pNumDependentNodes); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 18259, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18259, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5);
  __Pyx_INCREF(__pyx_v_pypDependentNodes);
  __Pyx_GIVEREF(__pyx_v_pypDependentNodes);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_pypDependentNodes);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_6);
  __pyx_t_5 = 0;
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":18210
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphNodeGetDependentNodes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pypDependentNodes);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":18262
 * 
 * @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_455cudaGraphAddDependencies(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_454cudaGraphAddDependencies[] = "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 : CUgraph or cudaGraph_t\n        Graph to which dependencies are added\n    from_ : List[cudaGraphNode_t]\n        Array of nodes that provide the dependencies\n    to : List[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        cudaSuccess\n        cudaErrorInvalidValue\n    None\n        None\n\n    See Also\n    --------\n    cudaGraphRemoveDependencies\n    cudaGraphGetEdges\n    cudaGraphNodeGetDependencies\n    cudaGraphNodeGetDependentNodes\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_455cudaGraphAddDependencies = {"cudaGraphAddDependencies", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_455cudaGraphAddDependencies, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_454cudaGraphAddDependencies};
static PyObject *__pyx_pw_4cuda_6cudart_455cudaGraphAddDependencies(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, 18262, __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, 18262, __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, 18262, __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, 18262, __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, 18262, __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, 18262, __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_454cudaGraphAddDependencies(__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":18299
 *     """
 *     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_
 */

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, 18299, __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, 18299, __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], 18299, 0, __PYX_ERR(0, 18299, __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, 18299, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_to)) { __Pyx_RaiseClosureNameError("to"); __PYX_ERR(0, 18299, __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, 18299, __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, 18299, __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, 18299, __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, 18299, __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, 18299, __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, 18299, __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, 18299, __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":18302
 *         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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */

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, 18302, __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, 18302, __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], 18302, 0, __PYX_ERR(0, 18302, __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, 18302, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_from_)) { __Pyx_RaiseClosureNameError("from_"); __PYX_ERR(0, 18302, __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, 18302, __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, 18302, __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, 18302, __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, 18302, __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, 18302, __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, 18302, __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, 18302, __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":18262
 * 
 * @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_454cudaGraphAddDependencies(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;
  __pyx_t_4cuda_7ccudart_cudaGraphNode_t *__pyx_v_cfrom_;
  Py_ssize_t __pyx_v_idx;
  __pyx_t_4cuda_7ccudart_cudaGraphNode_t *__pyx_v_cto;
  __pyx_t_4cuda_7ccudart_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;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  __pyx_t_4cuda_7ccudart_cudaGraphNode_t *__pyx_t_10;
  __pyx_t_4cuda_7ccudart_cudaGraphNode_t *__pyx_t_11;
  __pyx_t_4cuda_7ccudart_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__567)
  __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, 18262, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __Pyx_TraceCall("cudaGraphAddDependencies", __pyx_f[0], 18262, 0, __PYX_ERR(0, 18262, __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":18298
 *     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, 18298, __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":18299
 *     """
 *     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_1 = __pyx_pf_4cuda_6cudart_24cudaGraphAddDependencies_genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18299, __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, 18299, __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, 18299, __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":18300
 *     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_
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in from_):
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__568, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18300, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 18300, __pyx_L1_error)

    /* "cuda/cudart.pyx":18299
 *     """
 *     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_
 */
  }

  /* "cuda/cudart.pyx":18301
 *     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_             # <<<<<<<<<<<<<<
 *     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, 18301, __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":18302
 *         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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */
  __pyx_t_3 = __pyx_pf_4cuda_6cudart_24cudaGraphAddDependencies_3genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18302, __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, 18302, __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, 18302, __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":18303
 *     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]")             # <<<<<<<<<<<<<<
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 */
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__569, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18303, __pyx_L1_error)
    __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, 18303, __pyx_L1_error)

    /* "cuda/cudart.pyx":18302
 *         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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */
  }

  /* "cuda/cudart.pyx":18304
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef ccudart.cudaGraphNode_t* cfrom_ = NULL
 */
  __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_L6_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_L6_bool_binop_done:;
  __pyx_t_4 = ((!(__pyx_t_2 != 0)) != 0);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/cudart.pyx":18305
 *         raise TypeError("Argument 'from_' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaGraphNode_t* cfrom_ = NULL
 *     if len(from_) > 0:
 */
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_graph))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18305, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_graph_is_not_instance_o, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18305, __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, 18305, __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, 18305, __pyx_L1_error)

    /* "cuda/cudart.pyx":18304
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef ccudart.cudaGraphNode_t* cfrom_ = NULL
 */
  }

  /* "cuda/cudart.pyx":18306
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     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":18307
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     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_1 = __pyx_cur_scope->__pyx_v_from_;
  __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, 18307, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_4 = ((__pyx_t_6 > 0) != 0);
  if (__pyx_t_4) {

    /* "cuda/cudart.pyx":18308
 *     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_1 = __pyx_cur_scope->__pyx_v_from_;
    __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, 18308, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_cfrom_ = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t *)calloc(__pyx_t_6, (sizeof(__pyx_t_4cuda_7ccudart_cudaGraphNode_t))));

    /* "cuda/cudart.pyx":18309
 *     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_4 = ((__pyx_v_cfrom_ == NULL) != 0);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/cudart.pyx":18310
 *         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_1 = __pyx_cur_scope->__pyx_v_from_;
      __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, 18310, __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, 18310, __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, 18310, __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_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18310, __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, 18310, __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(__pyx_t_4cuda_7ccudart_cudaGraphNode_t))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18310, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 18310, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_t_3, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18310, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 18310, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(0, 18310, __pyx_L1_error)

      /* "cuda/cudart.pyx":18309
 *     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":18312
 *             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_7 = __pyx_cur_scope->__pyx_v_from_;
      __Pyx_INCREF(__pyx_t_7);
      __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 18312, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_8 = __pyx_t_6;
      for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
        __pyx_v_idx = __pyx_t_9;

        /* "cuda/cudart.pyx":18313
 *         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_7 = __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_7)) __PYX_ERR(0, 18313, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        (__pyx_v_cfrom_[__pyx_v_idx]) = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_7)->__pyx_base._ptr[0]));
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }

    /* "cuda/cudart.pyx":18307
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     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":18315
 *                 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":18316
 * 
 *     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_7 = __pyx_cur_scope->__pyx_v_to;
  __Pyx_INCREF(__pyx_t_7);
  __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 18316, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_4 = ((__pyx_t_6 > 0) != 0);
  if (__pyx_t_4) {

    /* "cuda/cudart.pyx":18317
 *     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_7 = __pyx_cur_scope->__pyx_v_to;
    __Pyx_INCREF(__pyx_t_7);
    __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 18317, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_v_cto = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t *)calloc(__pyx_t_6, (sizeof(__pyx_t_4cuda_7ccudart_cudaGraphNode_t))));

    /* "cuda/cudart.pyx":18318
 *     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_4 = ((__pyx_v_cto == NULL) != 0);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/cudart.pyx":18319
 *         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_7 = __pyx_cur_scope->__pyx_v_to;
      __Pyx_INCREF(__pyx_t_7);
      __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 18319, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 18319, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18319, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Failed_to_allocate_length_x_size_2, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 18319, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_t_7, __pyx_n_u_x_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18319, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_4cuda_7ccudart_cudaGraphNode_t))); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 18319, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18319, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 18319, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18319, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 18319, __pyx_L1_error)

      /* "cuda/cudart.pyx":18318
 *     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":18321
 *             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_3 = __pyx_cur_scope->__pyx_v_to;
      __Pyx_INCREF(__pyx_t_3);
      __pyx_t_6 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 18321, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_8 = __pyx_t_6;
      for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
        __pyx_v_idx = __pyx_t_9;

        /* "cuda/cudart.pyx":18322
 *         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_3 = __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_3)) __PYX_ERR(0, 18322, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        (__pyx_v_cto[__pyx_v_idx]) = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_3)->__pyx_base._ptr[0]));
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
    }

    /* "cuda/cudart.pyx":18316
 * 
 *     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":18324
 *                 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(<ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <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_3 = __pyx_cur_scope->__pyx_v_from_;
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_6 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 18324, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = ((__pyx_v_numDependencies > ((size_t)__pyx_t_6)) != 0);
  if (unlikely(__pyx_t_4)) {
    __pyx_t_3 = __pyx_cur_scope->__pyx_v_from_;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_6 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 18324, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18324, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_7 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 18324, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_kp_u_List_is_too_small, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18324, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_t_3, __pyx_kp_u__395); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 18324, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18324, __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, 18324, __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_7, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18324, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18324, __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, 18324, __pyx_L1_error)
  }

  /* "cuda/cudart.pyx":18325
 * 
 *     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(<ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <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_1 = __pyx_cur_scope->__pyx_v_to;
  __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, 18325, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_4 = ((__pyx_v_numDependencies > ((size_t)__pyx_t_6)) != 0);
  if (unlikely(__pyx_t_4)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_v_to;
    __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, 18325, __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, 18325, __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, 18325, __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, 18325, __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__395); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18325, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18325, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_7 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 18325, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_t_3, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18325, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 18325, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_Raise(__pyx_t_7, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __PYX_ERR(0, 18325, __pyx_L1_error)
  }

  /* "cuda/cudart.pyx":18326
 *     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(<ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <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_7 = __pyx_cur_scope->__pyx_v_from_;
  __Pyx_INCREF(__pyx_t_7);
  __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 18326, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (((__pyx_t_6 == 1) != 0)) {
    __pyx_t_7 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_from_, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 18326, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_10 = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t *)((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_7)->__pyx_base._ptr);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  } else {
    __pyx_t_10 = __pyx_v_cfrom_;
  }
  __pyx_t_7 = __pyx_cur_scope->__pyx_v_to;
  __Pyx_INCREF(__pyx_t_7);
  __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 18326, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (((__pyx_t_6 == 1) != 0)) {
    __pyx_t_7 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_to, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 18326, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_11 = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t *)((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_7)->__pyx_base._ptr);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  } else {
    __pyx_t_11 = __pyx_v_cto;
  }
  __pyx_t_12 = __pyx_f_4cuda_7ccudart_cudaGraphAddDependencies(((__pyx_t_4cuda_7ccudart_cudaGraph_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraph_t *)__pyx_v_graph)->__pyx_base._ptr[0])), __pyx_t_10, __pyx_t_11, __pyx_v_numDependencies); if (unlikely(__pyx_t_12 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 18326, __pyx_L1_error)
  __pyx_v_err = __pyx_t_12;

  /* "cuda/cudart.pyx":18327
 *     if numDependencies > <size_t>len(to): raise RuntimeError("List is too small: " + str(len(to)) + " < " + str(numDependencies))
 *     err = ccudart.cudaGraphAddDependencies(<ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <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_4 = ((__pyx_v_cfrom_ != NULL) != 0);
  if (__pyx_t_4) {

    /* "cuda/cudart.pyx":18328
 *     err = ccudart.cudaGraphAddDependencies(<ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <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":18327
 *     if numDependencies > <size_t>len(to): raise RuntimeError("List is too small: " + str(len(to)) + " < " + str(numDependencies))
 *     err = ccudart.cudaGraphAddDependencies(<ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <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":18329
 *     if cfrom_ is not NULL:
 *         free(cfrom_)
 *     if cto is not NULL:             # <<<<<<<<<<<<<<
 *         free(cto)
 *     return (cudaError_t(err),)
 */
  __pyx_t_4 = ((__pyx_v_cto != NULL) != 0);
  if (__pyx_t_4) {

    /* "cuda/cudart.pyx":18330
 *         free(cfrom_)
 *     if cto is not NULL:
 *         free(cto)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
    free(__pyx_v_cto);

    /* "cuda/cudart.pyx":18329
 *     if cfrom_ is not NULL:
 *         free(cfrom_)
 *     if cto is not NULL:             # <<<<<<<<<<<<<<
 *         free(cto)
 *     return (cudaError_t(err),)
 */
  }

  /* "cuda/cudart.pyx":18331
 *     if cto is not NULL:
 *         free(cto)
 *     return (cudaError_t(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, 18331, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18331, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_13 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_13)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_13);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_7 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_13, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3);
  __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 18331, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18331, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_7);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_7);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":18262
 * 
 * @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_7);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphAddDependencies", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __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":18334
 * 
 * @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_457cudaGraphRemoveDependencies(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_456cudaGraphRemoveDependencies[] = "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 : CUgraph or cudaGraph_t\n        Graph from which to remove dependencies\n    from_ : List[cudaGraphNode_t]\n        Array of nodes that provide the dependencies\n    to : List[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        cudaSuccess\n        cudaErrorInvalidValue\n    None\n        None\n\n    See Also\n    --------\n    cudaGraphAddDependencies\n    cudaGraphGetEdges\n    cudaGraphNodeGetDependencies\n    cudaGraphNodeGetDependentNodes\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_457cudaGraphRemoveDependencies = {"cudaGraphRemoveDependencies", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_457cudaGraphRemoveDependencies, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_456cudaGraphRemoveDependencies};
static PyObject *__pyx_pw_4cuda_6cudart_457cudaGraphRemoveDependencies(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, 18334, __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, 18334, __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, 18334, __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, 18334, __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, 18334, __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, 18334, __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_456cudaGraphRemoveDependencies(__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":18372
 *     """
 *     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_
 */

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, 18372, __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, 18372, __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], 18372, 0, __PYX_ERR(0, 18372, __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, 18372, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_to)) { __Pyx_RaiseClosureNameError("to"); __PYX_ERR(0, 18372, __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, 18372, __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, 18372, __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, 18372, __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, 18372, __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, 18372, __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, 18372, __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, 18372, __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":18375
 *         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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */

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, 18375, __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, 18375, __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], 18375, 0, __PYX_ERR(0, 18375, __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, 18375, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_from_)) { __Pyx_RaiseClosureNameError("from_"); __PYX_ERR(0, 18375, __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, 18375, __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, 18375, __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, 18375, __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, 18375, __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, 18375, __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, 18375, __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, 18375, __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":18334
 * 
 * @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_456cudaGraphRemoveDependencies(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;
  __pyx_t_4cuda_7ccudart_cudaGraphNode_t *__pyx_v_cfrom_;
  Py_ssize_t __pyx_v_idx;
  __pyx_t_4cuda_7ccudart_cudaGraphNode_t *__pyx_v_cto;
  __pyx_t_4cuda_7ccudart_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;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  __pyx_t_4cuda_7ccudart_cudaGraphNode_t *__pyx_t_10;
  __pyx_t_4cuda_7ccudart_cudaGraphNode_t *__pyx_t_11;
  __pyx_t_4cuda_7ccudart_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__570)
  __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, 18334, __pyx_L1_error)
  } else {
    __Pyx_GOTREF(__pyx_cur_scope);
  }
  __Pyx_TraceCall("cudaGraphRemoveDependencies", __pyx_f[0], 18334, 0, __PYX_ERR(0, 18334, __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":18371
 *     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, 18371, __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":18372
 *     """
 *     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_1 = __pyx_pf_4cuda_6cudart_27cudaGraphRemoveDependencies_genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18372, __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, 18372, __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, 18372, __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":18373
 *     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_
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in from_):
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__568, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18373, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(0, 18373, __pyx_L1_error)

    /* "cuda/cudart.pyx":18372
 *     """
 *     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_
 */
  }

  /* "cuda/cudart.pyx":18374
 *     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_             # <<<<<<<<<<<<<<
 *     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, 18374, __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":18375
 *         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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */
  __pyx_t_3 = __pyx_pf_4cuda_6cudart_27cudaGraphRemoveDependencies_3genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18375, __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, 18375, __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, 18375, __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":18376
 *     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]")             # <<<<<<<<<<<<<<
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 */
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__569, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18376, __pyx_L1_error)
    __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, 18376, __pyx_L1_error)

    /* "cuda/cudart.pyx":18375
 *         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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */
  }

  /* "cuda/cudart.pyx":18377
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef ccudart.cudaGraphNode_t* cfrom_ = NULL
 */
  __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_L6_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_L6_bool_binop_done:;
  __pyx_t_4 = ((!(__pyx_t_2 != 0)) != 0);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/cudart.pyx":18378
 *         raise TypeError("Argument 'from_' is not instance of type (expected List[ccudart.cudaGraphNode_t, cuda.CUgraphNode]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaGraphNode_t* cfrom_ = NULL
 *     if len(from_) > 0:
 */
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_graph))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18378, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_graph_is_not_instance_o, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18378, __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, 18378, __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, 18378, __pyx_L1_error)

    /* "cuda/cudart.pyx":18377
 *     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]")
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef ccudart.cudaGraphNode_t* cfrom_ = NULL
 */
  }

  /* "cuda/cudart.pyx":18379
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     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":18380
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     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_1 = __pyx_cur_scope->__pyx_v_from_;
  __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, 18380, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_4 = ((__pyx_t_6 > 0) != 0);
  if (__pyx_t_4) {

    /* "cuda/cudart.pyx":18381
 *     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_1 = __pyx_cur_scope->__pyx_v_from_;
    __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, 18381, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_cfrom_ = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t *)calloc(__pyx_t_6, (sizeof(__pyx_t_4cuda_7ccudart_cudaGraphNode_t))));

    /* "cuda/cudart.pyx":18382
 *     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_4 = ((__pyx_v_cfrom_ == NULL) != 0);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/cudart.pyx":18383
 *         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_1 = __pyx_cur_scope->__pyx_v_from_;
      __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, 18383, __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, 18383, __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, 18383, __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_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18383, __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, 18383, __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(__pyx_t_4cuda_7ccudart_cudaGraphNode_t))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18383, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 18383, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_t_3, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18383, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 18383, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(0, 18383, __pyx_L1_error)

      /* "cuda/cudart.pyx":18382
 *     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":18385
 *             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_7 = __pyx_cur_scope->__pyx_v_from_;
      __Pyx_INCREF(__pyx_t_7);
      __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 18385, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_8 = __pyx_t_6;
      for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
        __pyx_v_idx = __pyx_t_9;

        /* "cuda/cudart.pyx":18386
 *         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_7 = __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_7)) __PYX_ERR(0, 18386, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        (__pyx_v_cfrom_[__pyx_v_idx]) = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_7)->__pyx_base._ptr[0]));
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }

    /* "cuda/cudart.pyx":18380
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     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":18388
 *                 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":18389
 * 
 *     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_7 = __pyx_cur_scope->__pyx_v_to;
  __Pyx_INCREF(__pyx_t_7);
  __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 18389, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_4 = ((__pyx_t_6 > 0) != 0);
  if (__pyx_t_4) {

    /* "cuda/cudart.pyx":18390
 *     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_7 = __pyx_cur_scope->__pyx_v_to;
    __Pyx_INCREF(__pyx_t_7);
    __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 18390, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_v_cto = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t *)calloc(__pyx_t_6, (sizeof(__pyx_t_4cuda_7ccudart_cudaGraphNode_t))));

    /* "cuda/cudart.pyx":18391
 *     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_4 = ((__pyx_v_cto == NULL) != 0);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/cudart.pyx":18392
 *         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_7 = __pyx_cur_scope->__pyx_v_to;
      __Pyx_INCREF(__pyx_t_7);
      __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 18392, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 18392, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18392, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Failed_to_allocate_length_x_size_2, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 18392, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_t_7, __pyx_n_u_x_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18392, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_4cuda_7ccudart_cudaGraphNode_t))); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 18392, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18392, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 18392, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18392, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(0, 18392, __pyx_L1_error)

      /* "cuda/cudart.pyx":18391
 *     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":18394
 *             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_3 = __pyx_cur_scope->__pyx_v_to;
      __Pyx_INCREF(__pyx_t_3);
      __pyx_t_6 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 18394, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_8 = __pyx_t_6;
      for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
        __pyx_v_idx = __pyx_t_9;

        /* "cuda/cudart.pyx":18395
 *         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_3 = __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_3)) __PYX_ERR(0, 18395, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        (__pyx_v_cto[__pyx_v_idx]) = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_3)->__pyx_base._ptr[0]));
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
    }

    /* "cuda/cudart.pyx":18389
 * 
 *     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":18397
 *                 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(<ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <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_3 = __pyx_cur_scope->__pyx_v_from_;
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_6 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 18397, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = ((__pyx_v_numDependencies > ((size_t)__pyx_t_6)) != 0);
  if (unlikely(__pyx_t_4)) {
    __pyx_t_3 = __pyx_cur_scope->__pyx_v_from_;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_6 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 18397, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18397, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_7 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 18397, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_kp_u_List_is_too_small, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18397, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_t_3, __pyx_kp_u__395); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 18397, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18397, __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, 18397, __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_7, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18397, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18397, __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, 18397, __pyx_L1_error)
  }

  /* "cuda/cudart.pyx":18398
 * 
 *     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(<ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <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_1 = __pyx_cur_scope->__pyx_v_to;
  __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, 18398, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_4 = ((__pyx_v_numDependencies > ((size_t)__pyx_t_6)) != 0);
  if (unlikely(__pyx_t_4)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_v_to;
    __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, 18398, __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, 18398, __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, 18398, __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, 18398, __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__395); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18398, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18398, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_7 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 18398, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_t_3, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18398, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 18398, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_Raise(__pyx_t_7, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __PYX_ERR(0, 18398, __pyx_L1_error)
  }

  /* "cuda/cudart.pyx":18399
 *     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(<ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <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_7 = __pyx_cur_scope->__pyx_v_from_;
  __Pyx_INCREF(__pyx_t_7);
  __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 18399, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (((__pyx_t_6 == 1) != 0)) {
    __pyx_t_7 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_from_, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 18399, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_10 = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t *)((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_7)->__pyx_base._ptr);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  } else {
    __pyx_t_10 = __pyx_v_cfrom_;
  }
  __pyx_t_7 = __pyx_cur_scope->__pyx_v_to;
  __Pyx_INCREF(__pyx_t_7);
  __pyx_t_6 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 18399, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (((__pyx_t_6 == 1) != 0)) {
    __pyx_t_7 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_to, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 18399, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_11 = ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t *)((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_7)->__pyx_base._ptr);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  } else {
    __pyx_t_11 = __pyx_v_cto;
  }
  __pyx_t_12 = __pyx_f_4cuda_7ccudart_cudaGraphRemoveDependencies(((__pyx_t_4cuda_7ccudart_cudaGraph_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraph_t *)__pyx_v_graph)->__pyx_base._ptr[0])), __pyx_t_10, __pyx_t_11, __pyx_v_numDependencies); if (unlikely(__pyx_t_12 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 18399, __pyx_L1_error)
  __pyx_v_err = __pyx_t_12;

  /* "cuda/cudart.pyx":18400
 *     if numDependencies > <size_t>len(to): raise RuntimeError("List is too small: " + str(len(to)) + " < " + str(numDependencies))
 *     err = ccudart.cudaGraphRemoveDependencies(<ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <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_4 = ((__pyx_v_cfrom_ != NULL) != 0);
  if (__pyx_t_4) {

    /* "cuda/cudart.pyx":18401
 *     err = ccudart.cudaGraphRemoveDependencies(<ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <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":18400
 *     if numDependencies > <size_t>len(to): raise RuntimeError("List is too small: " + str(len(to)) + " < " + str(numDependencies))
 *     err = ccudart.cudaGraphRemoveDependencies(<ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <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":18402
 *     if cfrom_ is not NULL:
 *         free(cfrom_)
 *     if cto is not NULL:             # <<<<<<<<<<<<<<
 *         free(cto)
 *     return (cudaError_t(err),)
 */
  __pyx_t_4 = ((__pyx_v_cto != NULL) != 0);
  if (__pyx_t_4) {

    /* "cuda/cudart.pyx":18403
 *         free(cfrom_)
 *     if cto is not NULL:
 *         free(cto)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
    free(__pyx_v_cto);

    /* "cuda/cudart.pyx":18402
 *     if cfrom_ is not NULL:
 *         free(cfrom_)
 *     if cto is not NULL:             # <<<<<<<<<<<<<<
 *         free(cto)
 *     return (cudaError_t(err),)
 */
  }

  /* "cuda/cudart.pyx":18404
 *     if cto is not NULL:
 *         free(cto)
 *     return (cudaError_t(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, 18404, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18404, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_13 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_13)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_13);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_7 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_13, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3);
  __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 18404, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18404, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_7);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_7);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":18334
 * 
 * @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_7);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphRemoveDependencies", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __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":18407
 * 
 * @cython.embedsignature(True)
 * def cudaGraphDestroyNode(node):             # <<<<<<<<<<<<<<
 *     """ Remove a node from the graph.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_459cudaGraphDestroyNode(PyObject *__pyx_self, PyObject *__pyx_v_node); /*proto*/
static char __pyx_doc_4cuda_6cudart_458cudaGraphDestroyNode[] = "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 : CUgraphNode or cudaGraphNode_t\n        Node to remove\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    None\n        None\n\n    See Also\n    --------\n    cudaGraphAddChildGraphNode\n    cudaGraphAddEmptyNode\n    cudaGraphAddKernelNode\n    cudaGraphAddHostNode\n    cudaGraphAddMemcpyNode\n    cudaGraphAddMemsetNode\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_459cudaGraphDestroyNode = {"cudaGraphDestroyNode", (PyCFunction)__pyx_pw_4cuda_6cudart_459cudaGraphDestroyNode, METH_O, __pyx_doc_4cuda_6cudart_458cudaGraphDestroyNode};
static PyObject *__pyx_pw_4cuda_6cudart_459cudaGraphDestroyNode(PyObject *__pyx_self, PyObject *__pyx_v_node) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphDestroyNode (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_458cudaGraphDestroyNode(__pyx_self, ((PyObject *)__pyx_v_node));

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

static PyObject *__pyx_pf_4cuda_6cudart_458cudaGraphDestroyNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_node) {
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__571)
  __Pyx_RefNannySetupContext("cudaGraphDestroyNode", 0);
  __Pyx_TraceCall("cudaGraphDestroyNode", __pyx_f[0], 18407, 0, __PYX_ERR(0, 18407, __pyx_L1_error));

  /* "cuda/cudart.pyx":18438
 *     cudaGraphAddMemsetNode
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     err = ccudart.cudaGraphDestroyNode(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0])
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":18439
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphDestroyNode(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0])
 *     return (cudaError_t(err),)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_node))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18439, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_node_is_not_instance_of, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18439, __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, 18439, __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, 18439, __pyx_L1_error)

    /* "cuda/cudart.pyx":18438
 *     cudaGraphAddMemsetNode
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     err = ccudart.cudaGraphDestroyNode(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0])
 */
  }

  /* "cuda/cudart.pyx":18440
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     err = ccudart.cudaGraphDestroyNode(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaGraphDestroyNode(((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_v_node)->__pyx_base._ptr[0]))); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 18440, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":18441
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     err = ccudart.cudaGraphDestroyNode(<ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0])
 *     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, 18441, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 18441, __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_4 = (__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_4)) __PYX_ERR(0, 18441, __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, 18441, __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":18407
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphDestroyNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":18444
 * 
 * @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_461cudaGraphInstantiate(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_460cudaGraphInstantiate[] = "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 : CUgraph or 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        cudaSuccess\n        cudaErrorInvalidValue\n    pGraphExec : cudaGraphExec_t\n        Returns instantiated graph\n    pErrorNode : 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    cudaGraphInstantiateWithFlags\n    cudaGraphCreate\n    cudaGraphUpload\n    cudaGraphLaunch\n    cudaGraphExecDestroy\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_461cudaGraphInstantiate = {"cudaGraphInstantiate", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_461cudaGraphInstantiate, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_460cudaGraphInstantiate};
static PyObject *__pyx_pw_4cuda_6cudart_461cudaGraphInstantiate(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, 18444, __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, 18444, __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, 18444, __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, 18444, __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, 18444, __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, 18444, __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_460cudaGraphInstantiate(__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_460cudaGraphInstantiate(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, char *__pyx_v_pLogBuffer, size_t __pyx_v_bufferSize) {
  struct __pyx_obj_4cuda_6cudart_cudaGraphExec_t *__pyx_v_pGraphExec = 0;
  struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *__pyx_v_pErrorNode = 0;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__572)
  __Pyx_RefNannySetupContext("cudaGraphInstantiate", 0);
  __Pyx_TraceCall("cudaGraphInstantiate", __pyx_f[0], 18444, 0, __PYX_ERR(0, 18444, __pyx_L1_error));

  /* "cuda/cudart.pyx":18486
 *     cudaGraphExecDestroy
 *     """
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef cudaGraphExec_t pGraphExec = cudaGraphExec_t()
 */
  __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_L4_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_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":18487
 *     """
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))             # <<<<<<<<<<<<<<
 *     cdef cudaGraphExec_t pGraphExec = cudaGraphExec_t()
 *     cdef cudaGraphNode_t pErrorNode = cudaGraphNode_t()
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_graph))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18487, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_graph_is_not_instance_o, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18487, __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, 18487, __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, 18487, __pyx_L1_error)

    /* "cuda/cudart.pyx":18486
 *     cudaGraphExecDestroy
 *     """
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef cudaGraphExec_t pGraphExec = cudaGraphExec_t()
 */
  }

  /* "cuda/cudart.pyx":18488
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef cudaGraphExec_t pGraphExec = cudaGraphExec_t()             # <<<<<<<<<<<<<<
 *     cdef cudaGraphNode_t pErrorNode = cudaGraphNode_t()
 *     err = ccudart.cudaGraphInstantiate(<ccudart.cudaGraphExec_t*>pGraphExec._ptr, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <ccudart.cudaGraphNode_t*>pErrorNode._ptr, pLogBuffer, bufferSize)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphExec_t)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18488, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pGraphExec = ((struct __pyx_obj_4cuda_6cudart_cudaGraphExec_t *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":18489
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef cudaGraphExec_t pGraphExec = cudaGraphExec_t()
 *     cdef cudaGraphNode_t pErrorNode = cudaGraphNode_t()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphInstantiate(<ccudart.cudaGraphExec_t*>pGraphExec._ptr, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <ccudart.cudaGraphNode_t*>pErrorNode._ptr, pLogBuffer, bufferSize)
 *     return (cudaError_t(err), pGraphExec, pErrorNode)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphNode_t)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18489, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pErrorNode = ((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":18490
 *     cdef cudaGraphExec_t pGraphExec = cudaGraphExec_t()
 *     cdef cudaGraphNode_t pErrorNode = cudaGraphNode_t()
 *     err = ccudart.cudaGraphInstantiate(<ccudart.cudaGraphExec_t*>pGraphExec._ptr, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <ccudart.cudaGraphNode_t*>pErrorNode._ptr, pLogBuffer, bufferSize)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pGraphExec, pErrorNode)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaGraphInstantiate(((__pyx_t_4cuda_7ccudart_cudaGraphExec_t *)__pyx_v_pGraphExec->__pyx_base._ptr), ((__pyx_t_4cuda_7ccudart_cudaGraph_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraph_t *)__pyx_v_graph)->__pyx_base._ptr[0])), ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t *)__pyx_v_pErrorNode->__pyx_base._ptr), __pyx_v_pLogBuffer, __pyx_v_bufferSize); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 18490, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":18491
 *     cdef cudaGraphNode_t pErrorNode = cudaGraphNode_t()
 *     err = ccudart.cudaGraphInstantiate(<ccudart.cudaGraphExec_t*>pGraphExec._ptr, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <ccudart.cudaGraphNode_t*>pErrorNode._ptr, pLogBuffer, bufferSize)
 *     return (cudaError_t(err), pGraphExec, pErrorNode)             # <<<<<<<<<<<<<<
 * 
 * @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, 18491, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 18491, __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_4 = (__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_4)) __PYX_ERR(0, 18491, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18491, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
  __Pyx_INCREF(((PyObject *)__pyx_v_pGraphExec));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pGraphExec));
  PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_pGraphExec));
  __Pyx_INCREF(((PyObject *)__pyx_v_pErrorNode));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pErrorNode));
  PyTuple_SET_ITEM(__pyx_t_5, 2, ((PyObject *)__pyx_v_pErrorNode));
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":18444
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphInstantiate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __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":18494
 * 
 * @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_463cudaGraphInstantiateWithFlags(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_462cudaGraphInstantiateWithFlags[] = "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    ::cudaGraphInstantiateFlagAutoFreeOnLaunch, which configures a graph\n    containing memory allocation nodes to automatically free any unfreed\n    memory allocations before the graph is relaunched.\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 cudaGraphExecDestroy will result in an error.\n\n    Parameters\n    ----------\n    graph : CUgraph or cudaGraph_t\n        Graph to instantiate\n    flags : unsigned long long\n        Flags to control instantiation. See CUgraphInstantiate_flags.\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    pGraphExec : cudaGraphExec_t\n        Returns instantiated graph\n\n    See Also\n    --------\n    cudaGraphInstantiate\n    cudaGraphCreate\n    cudaGraphUpload\n    cudaGraphLaunch\n    cudaGraphExecDestroy\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_463cudaGraphInstantiateWithFlags = {"cudaGraphInstantiateWithFlags", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_463cudaGraphInstantiateWithFlags, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_462cudaGraphInstantiateWithFlags};
static PyObject *__pyx_pw_4cuda_6cudart_463cudaGraphInstantiateWithFlags(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, 18494, __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, 18494, __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, 18494, __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, 18494, __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_462cudaGraphInstantiateWithFlags(__pyx_self, __pyx_v_graph, __pyx_v_flags);

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

static PyObject *__pyx_pf_4cuda_6cudart_462cudaGraphInstantiateWithFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, unsigned PY_LONG_LONG __pyx_v_flags) {
  struct __pyx_obj_4cuda_6cudart_cudaGraphExec_t *__pyx_v_pGraphExec = 0;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__573)
  __Pyx_RefNannySetupContext("cudaGraphInstantiateWithFlags", 0);
  __Pyx_TraceCall("cudaGraphInstantiateWithFlags", __pyx_f[0], 18494, 0, __PYX_ERR(0, 18494, __pyx_L1_error));

  /* "cuda/cudart.pyx":18538
 *     cudaGraphExecDestroy
 *     """
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef cudaGraphExec_t pGraphExec = cudaGraphExec_t()
 */
  __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_L4_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_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":18539
 *     """
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))             # <<<<<<<<<<<<<<
 *     cdef cudaGraphExec_t pGraphExec = cudaGraphExec_t()
 *     err = ccudart.cudaGraphInstantiateWithFlags(<ccudart.cudaGraphExec_t*>pGraphExec._ptr, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], flags)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_graph))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18539, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_graph_is_not_instance_o, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18539, __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, 18539, __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, 18539, __pyx_L1_error)

    /* "cuda/cudart.pyx":18538
 *     cudaGraphExecDestroy
 *     """
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef cudaGraphExec_t pGraphExec = cudaGraphExec_t()
 */
  }

  /* "cuda/cudart.pyx":18540
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef cudaGraphExec_t pGraphExec = cudaGraphExec_t()             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphInstantiateWithFlags(<ccudart.cudaGraphExec_t*>pGraphExec._ptr, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], flags)
 *     return (cudaError_t(err), pGraphExec)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphExec_t)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18540, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pGraphExec = ((struct __pyx_obj_4cuda_6cudart_cudaGraphExec_t *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":18541
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     cdef cudaGraphExec_t pGraphExec = cudaGraphExec_t()
 *     err = ccudart.cudaGraphInstantiateWithFlags(<ccudart.cudaGraphExec_t*>pGraphExec._ptr, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], flags)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), pGraphExec)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaGraphInstantiateWithFlags(((__pyx_t_4cuda_7ccudart_cudaGraphExec_t *)__pyx_v_pGraphExec->__pyx_base._ptr), ((__pyx_t_4cuda_7ccudart_cudaGraph_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraph_t *)__pyx_v_graph)->__pyx_base._ptr[0])), __pyx_v_flags); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 18541, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":18542
 *     cdef cudaGraphExec_t pGraphExec = cudaGraphExec_t()
 *     err = ccudart.cudaGraphInstantiateWithFlags(<ccudart.cudaGraphExec_t*>pGraphExec._ptr, <ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], flags)
 *     return (cudaError_t(err), pGraphExec)             # <<<<<<<<<<<<<<
 * 
 * @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, 18542, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 18542, __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_4 = (__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_4)) __PYX_ERR(0, 18542, __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, 18542, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
  __Pyx_INCREF(((PyObject *)__pyx_v_pGraphExec));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_pGraphExec));
  PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_pGraphExec));
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":18494
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphInstantiateWithFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_pGraphExec);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":18545
 * 
 * @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_465cudaGraphExecKernelNodeSetParams(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_464cudaGraphExecKernelNodeSetParams[] = "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 : CUgraphExec or cudaGraphExec_t\n        The executable graph in which to set the specified node\n    node : CUgraphNode or cudaGraphNode_t\n        kernel node from the graph from which graphExec was instantiated\n    pNodeParams : cudaKernelNodeParams\n        Updated Parameters to set\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    None\n        None\n\n    See Also\n    --------\n    cudaGraphAddKernelNode\n    cudaGraphKernelNodeSetParams\n    cudaGraphExecMemcpyNodeSetParams\n    cudaGraphExecMemsetNodeSetParams\n    cudaGraphExecHostNodeSetParams\n    cudaGraphExecChildGraphNodeSetParams\n    cudaGraphExecEventRecordNodeSetEvent\n    cudaGraphExecEventWaitNodeSetEvent\n    cudaGraphExecExternalSemaphoresSignalNodeSetParams\n    cudaGraphExecExternalSemaphoresWaitNodeSetParams\n    cudaGraphExecUpdate\n    cudaGraphInstantiate\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_465cudaGraphExecKernelNodeSetParams = {"cudaGraphExecKernelNodeSetParams", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_465cudaGraphExecKernelNodeSetParams, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_464cudaGraphExecKernelNodeSetParams};
static PyObject *__pyx_pw_4cuda_6cudart_465cudaGraphExecKernelNodeSetParams(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, 18545, __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, 18545, __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, 18545, __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, 18545, __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, 18545, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_464cudaGraphExecKernelNodeSetParams(__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_464cudaGraphExecKernelNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_node, struct __pyx_obj_4cuda_6cudart_cudaKernelNodeParams *__pyx_v_pNodeParams) {
  struct __pyx_t_4cuda_7ccudart_cudaKernelNodeParams *__pyx_v_cpNodeParams_ptr;
  __pyx_t_4cuda_7ccudart_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;
  struct __pyx_t_4cuda_7ccudart_cudaKernelNodeParams *__pyx_t_6;
  __pyx_t_4cuda_7ccudart_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("cudaGraphExecKernelNodeSetParams", 0);
  __Pyx_TraceCall("cudaGraphExecKernelNodeSetParams", __pyx_f[0], 18545, 0, __PYX_ERR(0, 18545, __pyx_L1_error));

  /* "cuda/cudart.pyx":18593
 *     cudaGraphInstantiate
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":18594
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))             # <<<<<<<<<<<<<<
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_node))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18594, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_node_is_not_instance_of, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18594, __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, 18594, __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, 18594, __pyx_L1_error)

    /* "cuda/cudart.pyx":18593
 *     cudaGraphInstantiate
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 */
  }

  /* "cuda/cudart.pyx":18595
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))
 *     cdef ccudart.cudaKernelNodeParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 */
  __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)) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "cuda/cudart.pyx":18596
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaKernelNodeParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 *     err = ccudart.cudaGraphExecKernelNodeSetParams(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>hGraphExec)._ptr[0], <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], cpNodeParams_ptr)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_hGraphExec))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18596, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_hGraphExec_is_not_insta, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18596, __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, 18596, __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, 18596, __pyx_L1_error)

    /* "cuda/cudart.pyx":18595
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))
 *     cdef ccudart.cudaKernelNodeParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 */
  }

  /* "cuda/cudart.pyx":18597
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))
 *     cdef ccudart.cudaKernelNodeParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphExecKernelNodeSetParams(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>hGraphExec)._ptr[0], <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], 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, 18597, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 18597, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_1) {
    __pyx_t_6 = __pyx_v_pNodeParams->_ptr;
  } else {
    __pyx_t_6 = NULL;
  }
  __pyx_v_cpNodeParams_ptr = __pyx_t_6;

  /* "cuda/cudart.pyx":18598
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))
 *     cdef ccudart.cudaKernelNodeParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 *     err = ccudart.cudaGraphExecKernelNodeSetParams(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>hGraphExec)._ptr[0], <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], cpNodeParams_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaGraphExecKernelNodeSetParams(((__pyx_t_4cuda_7ccudart_cudaGraphExec_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphExec_t *)__pyx_v_hGraphExec)->__pyx_base._ptr[0])), ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_v_node)->__pyx_base._ptr[0])), __pyx_v_cpNodeParams_ptr); if (unlikely(__pyx_t_7 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 18598, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":18599
 *     cdef ccudart.cudaKernelNodeParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 *     err = ccudart.cudaGraphExecKernelNodeSetParams(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>hGraphExec)._ptr[0], <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], cpNodeParams_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, 18599, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_8 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 18599, __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_4 = (__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_4)) __PYX_ERR(0, 18599, __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, 18599, __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":18545
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphExecKernelNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":18602
 * 
 * @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_467cudaGraphExecMemcpyNodeSetParams(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_466cudaGraphExecMemcpyNodeSetParams[] = "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 cudaErrorInvalidValue if the memory operands' mappings changed\n    or either the original or new memory operands are multidimensional.\n\n    Parameters\n    ----------\n    hGraphExec : CUgraphExec or cudaGraphExec_t\n        The executable graph in which to set the specified node\n    node : CUgraphNode or cudaGraphNode_t\n        Memcpy node from the graph which was used to instantiate graphExec\n    pNodeParams : cudaMemcpy3DParms\n        Updated Parameters to set\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    None\n        None\n\n    See Also\n    --------\n    cudaGraphAddMemcpyNode\n    cudaGraphMemcpyNodeSetParams\n    cudaGraphExecMemcpyNodeSetParamsToSymbol\n    cudaGraphExecMemcpyNodeSetParamsFromSymbol\n    cudaGraphExecMemcpyNodeSetParams1D\n    cudaGraphExecKernelNodeSetParams\n    cudaGraphExecMemsetNodeSetParams\n    cudaGraphExecHostNodeSetParams\n    cudaGraphExecChildGraphNodeSetParams\n    cudaGraphExecEventRecordNodeSetEvent\n    cudaGraphExec""EventWaitNodeSetEvent\n    cudaGraphExecExternalSemaphoresSignalNodeSetParams\n    cudaGraphExecExternalSemaphoresWaitNodeSetParams\n    cudaGraphExecUpdate\n    cudaGraphInstantiate\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_467cudaGraphExecMemcpyNodeSetParams = {"cudaGraphExecMemcpyNodeSetParams", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_467cudaGraphExecMemcpyNodeSetParams, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_466cudaGraphExecMemcpyNodeSetParams};
static PyObject *__pyx_pw_4cuda_6cudart_467cudaGraphExecMemcpyNodeSetParams(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, 18602, __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, 18602, __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, 18602, __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, 18602, __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, 18602, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_466cudaGraphExecMemcpyNodeSetParams(__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_466cudaGraphExecMemcpyNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_node, struct __pyx_obj_4cuda_6cudart_cudaMemcpy3DParms *__pyx_v_pNodeParams) {
  struct __pyx_t_4cuda_7ccudart_cudaMemcpy3DParms *__pyx_v_cpNodeParams_ptr;
  __pyx_t_4cuda_7ccudart_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;
  struct __pyx_t_4cuda_7ccudart_cudaMemcpy3DParms *__pyx_t_6;
  __pyx_t_4cuda_7ccudart_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("cudaGraphExecMemcpyNodeSetParams", 0);
  __Pyx_TraceCall("cudaGraphExecMemcpyNodeSetParams", __pyx_f[0], 18602, 0, __PYX_ERR(0, 18602, __pyx_L1_error));

  /* "cuda/cudart.pyx":18658
 *     cudaGraphInstantiate
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":18659
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))             # <<<<<<<<<<<<<<
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_node))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18659, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_node_is_not_instance_of, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18659, __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, 18659, __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, 18659, __pyx_L1_error)

    /* "cuda/cudart.pyx":18658
 *     cudaGraphInstantiate
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 */
  }

  /* "cuda/cudart.pyx":18660
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))
 *     cdef ccudart.cudaMemcpy3DParms* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 */
  __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)) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "cuda/cudart.pyx":18661
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaMemcpy3DParms* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 *     err = ccudart.cudaGraphExecMemcpyNodeSetParams(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>hGraphExec)._ptr[0], <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], cpNodeParams_ptr)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_hGraphExec))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18661, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_hGraphExec_is_not_insta, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18661, __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, 18661, __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, 18661, __pyx_L1_error)

    /* "cuda/cudart.pyx":18660
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))
 *     cdef ccudart.cudaMemcpy3DParms* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 */
  }

  /* "cuda/cudart.pyx":18662
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))
 *     cdef ccudart.cudaMemcpy3DParms* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphExecMemcpyNodeSetParams(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>hGraphExec)._ptr[0], <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], 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, 18662, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 18662, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_1) {
    __pyx_t_6 = __pyx_v_pNodeParams->_ptr;
  } else {
    __pyx_t_6 = NULL;
  }
  __pyx_v_cpNodeParams_ptr = __pyx_t_6;

  /* "cuda/cudart.pyx":18663
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))
 *     cdef ccudart.cudaMemcpy3DParms* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 *     err = ccudart.cudaGraphExecMemcpyNodeSetParams(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>hGraphExec)._ptr[0], <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], cpNodeParams_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaGraphExecMemcpyNodeSetParams(((__pyx_t_4cuda_7ccudart_cudaGraphExec_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphExec_t *)__pyx_v_hGraphExec)->__pyx_base._ptr[0])), ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_v_node)->__pyx_base._ptr[0])), __pyx_v_cpNodeParams_ptr); if (unlikely(__pyx_t_7 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 18663, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":18664
 *     cdef ccudart.cudaMemcpy3DParms* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 *     err = ccudart.cudaGraphExecMemcpyNodeSetParams(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>hGraphExec)._ptr[0], <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], cpNodeParams_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, 18664, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_8 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 18664, __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_4 = (__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_4)) __PYX_ERR(0, 18664, __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, 18664, __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":18602
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphExecMemcpyNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":18667
 * 
 * @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_469cudaGraphExecMemcpyNodeSetParams1D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_468cudaGraphExecMemcpyNodeSetParams1D[] = "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 cudaErrorInvalidValue if the memory operands' mappings changed\n    or the original memory operands are multidimensional.\n\n    Parameters\n    ----------\n    hGraphExec : CUgraphExec or cudaGraphExec_t\n        The executable graph in which to set the specified node\n    node : CUgraphNode or 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 : cudaMemcpyKind\n        Type of transfer\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    None\n        None\n\n    See Also\n    --------\n    cudaGraphAddMemcpyNode\n    cudaGraphAddMemcpyNode1D\n    cudaGraphMemcpyNodeSetParams\n    cudaGraphMemcpyNodeSetParams1D\n    cudaGraphExecMemcpyNodeSetParams\n    cudaGraphExecKernelNodeSetParams\n    cudaGraphExecMemsetNodeSetParams\n    cudaGraphExecHostNodeSetParams\n    cudaGraphExecChildGraphNodeSetParams\n    cudaGraphExecEventRecor""dNodeSetEvent\n    cudaGraphExecEventWaitNodeSetEvent\n    cudaGraphExecExternalSemaphoresSignalNodeSetParams\n    cudaGraphExecExternalSemaphoresWaitNodeSetParams\n    cudaGraphExecUpdate\n    cudaGraphInstantiate\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_469cudaGraphExecMemcpyNodeSetParams1D = {"cudaGraphExecMemcpyNodeSetParams1D", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_469cudaGraphExecMemcpyNodeSetParams1D, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_468cudaGraphExecMemcpyNodeSetParams1D};
static PyObject *__pyx_pw_4cuda_6cudart_469cudaGraphExecMemcpyNodeSetParams1D(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, 18667, __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, 18667, __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, 18667, __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, 18667, __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, 18667, __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, 18667, __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, 18667, __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, 18667, __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, 18667, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_6cudart_468cudaGraphExecMemcpyNodeSetParams1D(__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_468cudaGraphExecMemcpyNodeSetParams1D(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) {
  PyObject *__pyx_v_cdst = NULL;
  void *__pyx_v_cdst_ptr;
  PyObject *__pyx_v_csrc = NULL;
  void *__pyx_v_csrc_ptr;
  enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind __pyx_v_ckind;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_6cudart_void_ptr __pyx_t_6;
  enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind __pyx_t_7;
  __pyx_t_4cuda_7ccudart_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__576)
  __Pyx_RefNannySetupContext("cudaGraphExecMemcpyNodeSetParams1D", 0);
  __Pyx_TraceCall("cudaGraphExecMemcpyNodeSetParams1D", __pyx_f[0], 18667, 0, __PYX_ERR(0, 18667, __pyx_L1_error));

  /* "cuda/cudart.pyx":18728
 *     cudaGraphInstantiate
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":18729
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))             # <<<<<<<<<<<<<<
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_node))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18729, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_node_is_not_instance_of, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18729, __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, 18729, __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, 18729, __pyx_L1_error)

    /* "cuda/cudart.pyx":18728
 *     cudaGraphInstantiate
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 */
  }

  /* "cuda/cudart.pyx":18730
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))
 *     cdst = utils.HelperInputVoidPtr(dst)
 */
  __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)) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "cuda/cudart.pyx":18731
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))             # <<<<<<<<<<<<<<
 *     cdst = utils.HelperInputVoidPtr(dst)
 *     cdef void* cdst_ptr = <void*><void_ptr>cdst.cptr
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_hGraphExec))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18731, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_hGraphExec_is_not_insta, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18731, __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, 18731, __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, 18731, __pyx_L1_error)

    /* "cuda/cudart.pyx":18730
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))
 *     cdst = utils.HelperInputVoidPtr(dst)
 */
  }

  /* "cuda/cudart.pyx":18732
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))
 *     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, 18732, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_cdst = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":18733
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))
 *     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, 18733, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 18733, __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_6));

  /* "cuda/cudart.pyx":18734
 *     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, 18734, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_csrc = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":18735
 *     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(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>hGraphExec)._ptr[0], <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], 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, 18735, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 18735, __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_6));

  /* "cuda/cudart.pyx":18736
 *     csrc = utils.HelperInputVoidPtr(src)
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphExecMemcpyNodeSetParams1D(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>hGraphExec)._ptr[0], <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], 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, 18736, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = ((enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaMemcpyKind(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 18736, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_ckind = __pyx_t_7;

  /* "cuda/cudart.pyx":18737
 *     cdef void* csrc_ptr = <void*><void_ptr>csrc.cptr
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     err = ccudart.cudaGraphExecMemcpyNodeSetParams1D(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>hGraphExec)._ptr[0], <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], cdst_ptr, csrc_ptr, count, ckind)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_8 = __pyx_f_4cuda_7ccudart_cudaGraphExecMemcpyNodeSetParams1D(((__pyx_t_4cuda_7ccudart_cudaGraphExec_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphExec_t *)__pyx_v_hGraphExec)->__pyx_base._ptr[0])), ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_v_node)->__pyx_base._ptr[0])), __pyx_v_cdst_ptr, __pyx_v_csrc_ptr, __pyx_v_count, __pyx_v_ckind); if (unlikely(__pyx_t_8 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 18737, __pyx_L1_error)
  __pyx_v_err = __pyx_t_8;

  /* "cuda/cudart.pyx":18738
 *     cdef ccudart.cudaMemcpyKind ckind = kind.value
 *     err = ccudart.cudaGraphExecMemcpyNodeSetParams1D(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>hGraphExec)._ptr[0], <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], 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, 18738, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_9 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 18738, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __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_9) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __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, 18738, __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, 18738, __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":18667
 * 
 * @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_5);
  __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_cdst);
  __Pyx_XDECREF(__pyx_v_csrc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":18741
 * 
 * @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_471cudaGraphExecMemsetNodeSetParams(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_470cudaGraphExecMemsetNodeSetParams[] = "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 : CUgraphExec or cudaGraphExec_t\n        The executable graph in which to set the specified node\n    node : CUgraphNode or cudaGraphNode_t\n        Memset node from the graph which was used to instantiate graphExec\n    pNodeParams : cudaMemsetParams\n        Updated Parameters to set\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    None\n        None\n\n    See Also\n    --------\n    cudaGraphAddMemsetNode\n    cudaGraphMemsetNodeSetParams\n    cudaGraphExecKernelNodeSetParams\n    cudaGraphExecMemcpyNodeSetParams\n    cudaGraphExecHostNodeSetParams\n    cudaGraphExecChildGraphNodeSetParams\n    cudaGraphExecEventRecordNodeSetEvent\n    cudaGraphExecEventWaitNodeSetEvent\n    cudaGraphExecExternalSemaphoresSignalNodeSetParams\n    cudaGraphExecExternalSemaphoresWaitNodeSetParams\n    cudaGraphExecUpdate\n    cudaGr""aphInstantiate\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_471cudaGraphExecMemsetNodeSetParams = {"cudaGraphExecMemsetNodeSetParams", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_471cudaGraphExecMemsetNodeSetParams, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_470cudaGraphExecMemsetNodeSetParams};
static PyObject *__pyx_pw_4cuda_6cudart_471cudaGraphExecMemsetNodeSetParams(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, 18741, __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, 18741, __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, 18741, __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, 18741, __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, 18741, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_470cudaGraphExecMemsetNodeSetParams(__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_470cudaGraphExecMemsetNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_node, struct __pyx_obj_4cuda_6cudart_cudaMemsetParams *__pyx_v_pNodeParams) {
  struct __pyx_t_4cuda_7ccudart_cudaMemsetParams *__pyx_v_cpNodeParams_ptr;
  __pyx_t_4cuda_7ccudart_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;
  struct __pyx_t_4cuda_7ccudart_cudaMemsetParams *__pyx_t_6;
  __pyx_t_4cuda_7ccudart_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__577)
  __Pyx_RefNannySetupContext("cudaGraphExecMemsetNodeSetParams", 0);
  __Pyx_TraceCall("cudaGraphExecMemsetNodeSetParams", __pyx_f[0], 18741, 0, __PYX_ERR(0, 18741, __pyx_L1_error));

  /* "cuda/cudart.pyx":18793
 *     cudaGraphInstantiate
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":18794
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))             # <<<<<<<<<<<<<<
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_node))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18794, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_node_is_not_instance_of, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18794, __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, 18794, __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, 18794, __pyx_L1_error)

    /* "cuda/cudart.pyx":18793
 *     cudaGraphInstantiate
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 */
  }

  /* "cuda/cudart.pyx":18795
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))
 *     cdef ccudart.cudaMemsetParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 */
  __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)) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "cuda/cudart.pyx":18796
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaMemsetParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 *     err = ccudart.cudaGraphExecMemsetNodeSetParams(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>hGraphExec)._ptr[0], <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], cpNodeParams_ptr)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_hGraphExec))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18796, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_hGraphExec_is_not_insta, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18796, __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, 18796, __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, 18796, __pyx_L1_error)

    /* "cuda/cudart.pyx":18795
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))
 *     cdef ccudart.cudaMemsetParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 */
  }

  /* "cuda/cudart.pyx":18797
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))
 *     cdef ccudart.cudaMemsetParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphExecMemsetNodeSetParams(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>hGraphExec)._ptr[0], <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], 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, 18797, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 18797, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_1) {
    __pyx_t_6 = __pyx_v_pNodeParams->_ptr;
  } else {
    __pyx_t_6 = NULL;
  }
  __pyx_v_cpNodeParams_ptr = __pyx_t_6;

  /* "cuda/cudart.pyx":18798
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))
 *     cdef ccudart.cudaMemsetParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 *     err = ccudart.cudaGraphExecMemsetNodeSetParams(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>hGraphExec)._ptr[0], <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], cpNodeParams_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaGraphExecMemsetNodeSetParams(((__pyx_t_4cuda_7ccudart_cudaGraphExec_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphExec_t *)__pyx_v_hGraphExec)->__pyx_base._ptr[0])), ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_v_node)->__pyx_base._ptr[0])), __pyx_v_cpNodeParams_ptr); if (unlikely(__pyx_t_7 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 18798, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":18799
 *     cdef ccudart.cudaMemsetParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 *     err = ccudart.cudaGraphExecMemsetNodeSetParams(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>hGraphExec)._ptr[0], <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], cpNodeParams_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, 18799, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_8 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 18799, __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_4 = (__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_4)) __PYX_ERR(0, 18799, __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, 18799, __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":18741
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphExecMemsetNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":18802
 * 
 * @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_473cudaGraphExecHostNodeSetParams(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_472cudaGraphExecHostNodeSetParams[] = "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 : CUgraphExec or cudaGraphExec_t\n        The executable graph in which to set the specified node\n    node : CUgraphNode or cudaGraphNode_t\n        Host node from the graph which was used to instantiate graphExec\n    pNodeParams : cudaHostNodeParams\n        Updated Parameters to set\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    None\n        None\n\n    See Also\n    --------\n    cudaGraphAddHostNode\n    cudaGraphHostNodeSetParams\n    cudaGraphExecKernelNodeSetParams\n    cudaGraphExecMemcpyNodeSetParams\n    cudaGraphExecMemsetNodeSetParams\n    cudaGraphExecChildGraphNodeSetParams\n    cudaGraphExecEventRecordNodeSetEvent\n    cudaGraphExecEventWaitNodeSetEvent\n    cudaGraphExecExternalSemaphoresSignalNodeSetParams\n    cudaGraphExecExternalSemaphoresWaitNodeSetParams\n    cudaGraphExecUpdate\n    cudaGraphInstantiate\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_473cudaGraphExecHostNodeSetParams = {"cudaGraphExecHostNodeSetParams", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_473cudaGraphExecHostNodeSetParams, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_472cudaGraphExecHostNodeSetParams};
static PyObject *__pyx_pw_4cuda_6cudart_473cudaGraphExecHostNodeSetParams(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, 18802, __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, 18802, __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, 18802, __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, 18802, __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, 18802, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_472cudaGraphExecHostNodeSetParams(__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_472cudaGraphExecHostNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_node, struct __pyx_obj_4cuda_6cudart_cudaHostNodeParams *__pyx_v_pNodeParams) {
  struct __pyx_t_4cuda_7ccudart_cudaHostNodeParams *__pyx_v_cpNodeParams_ptr;
  __pyx_t_4cuda_7ccudart_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;
  struct __pyx_t_4cuda_7ccudart_cudaHostNodeParams *__pyx_t_6;
  __pyx_t_4cuda_7ccudart_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__578)
  __Pyx_RefNannySetupContext("cudaGraphExecHostNodeSetParams", 0);
  __Pyx_TraceCall("cudaGraphExecHostNodeSetParams", __pyx_f[0], 18802, 0, __PYX_ERR(0, 18802, __pyx_L1_error));

  /* "cuda/cudart.pyx":18846
 *     cudaGraphInstantiate
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_node, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":18847
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))             # <<<<<<<<<<<<<<
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_node))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18847, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_node_is_not_instance_of, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18847, __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, 18847, __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, 18847, __pyx_L1_error)

    /* "cuda/cudart.pyx":18846
 *     cudaGraphInstantiate
 *     """
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 */
  }

  /* "cuda/cudart.pyx":18848
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))
 *     cdef ccudart.cudaHostNodeParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 */
  __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)) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "cuda/cudart.pyx":18849
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaHostNodeParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 *     err = ccudart.cudaGraphExecHostNodeSetParams(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>hGraphExec)._ptr[0], <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], cpNodeParams_ptr)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_hGraphExec))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18849, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_hGraphExec_is_not_insta, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18849, __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, 18849, __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, 18849, __pyx_L1_error)

    /* "cuda/cudart.pyx":18848
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))
 *     cdef ccudart.cudaHostNodeParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 */
  }

  /* "cuda/cudart.pyx":18850
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))
 *     cdef ccudart.cudaHostNodeParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphExecHostNodeSetParams(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>hGraphExec)._ptr[0], <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], 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, 18850, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 18850, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_1) {
    __pyx_t_6 = __pyx_v_pNodeParams->_ptr;
  } else {
    __pyx_t_6 = NULL;
  }
  __pyx_v_cpNodeParams_ptr = __pyx_t_6;

  /* "cuda/cudart.pyx":18851
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))
 *     cdef ccudart.cudaHostNodeParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 *     err = ccudart.cudaGraphExecHostNodeSetParams(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>hGraphExec)._ptr[0], <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], cpNodeParams_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaGraphExecHostNodeSetParams(((__pyx_t_4cuda_7ccudart_cudaGraphExec_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphExec_t *)__pyx_v_hGraphExec)->__pyx_base._ptr[0])), ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_v_node)->__pyx_base._ptr[0])), __pyx_v_cpNodeParams_ptr); if (unlikely(__pyx_t_7 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 18851, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":18852
 *     cdef ccudart.cudaHostNodeParams* cpNodeParams_ptr = pNodeParams._ptr if pNodeParams != None else NULL
 *     err = ccudart.cudaGraphExecHostNodeSetParams(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>hGraphExec)._ptr[0], <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], cpNodeParams_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, 18852, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_8 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 18852, __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_4 = (__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_4)) __PYX_ERR(0, 18852, __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, 18852, __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":18802
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphExecHostNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":18855
 * 
 * @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_475cudaGraphExecChildGraphNodeSetParams(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_474cudaGraphExecChildGraphNodeSetParams[] = "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 cudaGraphExecUpdate()\n    for a list of restrictions on what can be updated in an instantiated\n    graph. The update is recursive, so child graph nodes contained within\n    the top level child graph will also be updated.\n\n    Parameters\n    ----------\n    hGraphExec : CUgraphExec or cudaGraphExec_t\n        The executable graph in which to set the specified node\n    node : CUgraphNode or cudaGraphNode_t\n        Host node from the graph which was used to instantiate graphExec\n    childGraph : CUgraph or cudaGraph_t\n        The graph supplying the updated parameters\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    None\n        None\n\n    See Also\n    --------\n    cudaGraphAddChildGraphNode\n    cudaGraphChildGraphNodeGetGraph\n    cudaGraphExecKernelNodeSetParams\n    cudaGraphExecMemcpyNodeSetParams\n    cudaGraphExecMemsetNodeSetParams\n    cudaGraphExecHostNodeSetParams\n    cudaGraphExecEventRecordNodeSetEvent\n    cudaGraphExecEventWaitNodeSetEvent\n    cudaGraphExecExternalSemaphoresSignalNodeSetParams\n    cudaGraphExecExternalSemaphoresWaitNodeSetParams\n    cudaGraphExecUpdate\n    cudaGraphInstantiate""\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_475cudaGraphExecChildGraphNodeSetParams = {"cudaGraphExecChildGraphNodeSetParams", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_475cudaGraphExecChildGraphNodeSetParams, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_474cudaGraphExecChildGraphNodeSetParams};
static PyObject *__pyx_pw_4cuda_6cudart_475cudaGraphExecChildGraphNodeSetParams(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, 18855, __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, 18855, __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, 18855, __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, 18855, __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_474cudaGraphExecChildGraphNodeSetParams(__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_474cudaGraphExecChildGraphNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_node, PyObject *__pyx_v_childGraph) {
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__579)
  __Pyx_RefNannySetupContext("cudaGraphExecChildGraphNodeSetParams", 0);
  __Pyx_TraceCall("cudaGraphExecChildGraphNodeSetParams", __pyx_f[0], 18855, 0, __PYX_ERR(0, 18855, __pyx_L1_error));

  /* "cuda/cudart.pyx":18906
 *     cudaGraphInstantiate
 *     """
 *     if not isinstance(childGraph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'childGraph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(childGraph)))
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_childGraph, __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_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_childGraph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":18907
 *     """
 *     if not isinstance(childGraph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'childGraph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(childGraph)))             # <<<<<<<<<<<<<<
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_childGraph))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18907, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_childGraph_is_not_insta, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18907, __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, 18907, __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, 18907, __pyx_L1_error)

    /* "cuda/cudart.pyx":18906
 *     cudaGraphInstantiate
 *     """
 *     if not isinstance(childGraph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'childGraph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(childGraph)))
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 */
  }

  /* "cuda/cudart.pyx":18908
 *     if not isinstance(childGraph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'childGraph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(childGraph)))
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 */
  __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)) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "cuda/cudart.pyx":18909
 *         raise TypeError("Argument 'childGraph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(childGraph)))
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))             # <<<<<<<<<<<<<<
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_node))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18909, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_node_is_not_instance_of, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18909, __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, 18909, __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, 18909, __pyx_L1_error)

    /* "cuda/cudart.pyx":18908
 *     if not isinstance(childGraph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'childGraph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(childGraph)))
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 */
  }

  /* "cuda/cudart.pyx":18910
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))
 *     err = ccudart.cudaGraphExecChildGraphNodeSetParams(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>hGraphExec)._ptr[0], <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], <ccudart.cudaGraph_t>(<cudaGraph_t>childGraph)._ptr[0])
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_ptype_4cuda_6cudart_cudaGraphExec_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L10_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_ptype_4cuda_4cuda_CUgraphExec); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L10_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":18911
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphExecChildGraphNodeSetParams(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>hGraphExec)._ptr[0], <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], <ccudart.cudaGraph_t>(<cudaGraph_t>childGraph)._ptr[0])
 *     return (cudaError_t(err),)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_hGraphExec))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18911, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_hGraphExec_is_not_insta, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18911, __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, 18911, __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, 18911, __pyx_L1_error)

    /* "cuda/cudart.pyx":18910
 *     if not isinstance(node, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'node' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(node)))
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))
 *     err = ccudart.cudaGraphExecChildGraphNodeSetParams(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>hGraphExec)._ptr[0], <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], <ccudart.cudaGraph_t>(<cudaGraph_t>childGraph)._ptr[0])
 */
  }

  /* "cuda/cudart.pyx":18912
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))
 *     err = ccudart.cudaGraphExecChildGraphNodeSetParams(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>hGraphExec)._ptr[0], <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], <ccudart.cudaGraph_t>(<cudaGraph_t>childGraph)._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaGraphExecChildGraphNodeSetParams(((__pyx_t_4cuda_7ccudart_cudaGraphExec_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphExec_t *)__pyx_v_hGraphExec)->__pyx_base._ptr[0])), ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_v_node)->__pyx_base._ptr[0])), ((__pyx_t_4cuda_7ccudart_cudaGraph_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraph_t *)__pyx_v_childGraph)->__pyx_base._ptr[0]))); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 18912, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":18913
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))
 *     err = ccudart.cudaGraphExecChildGraphNodeSetParams(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>hGraphExec)._ptr[0], <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>node)._ptr[0], <ccudart.cudaGraph_t>(<cudaGraph_t>childGraph)._ptr[0])
 *     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, 18913, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 18913, __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_4 = (__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_4)) __PYX_ERR(0, 18913, __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, 18913, __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":18855
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphExecChildGraphNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":18916
 * 
 * @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_477cudaGraphExecEventRecordNodeSetEvent(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_476cudaGraphExecEventRecordNodeSetEvent[] = "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 : CUgraphExec or cudaGraphExec_t\n        The executable graph in which to set the specified node\n    hNode : CUgraphNode or cudaGraphNode_t\n        Event record node from the graph from which graphExec was\n        instantiated\n    event : CUevent or cudaEvent_t\n        Updated event to use\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    None\n        None\n\n    See Also\n    --------\n    cudaGraphAddEventRecordNode\n    cudaGraphEventRecordNodeGetEvent\n    cudaGraphEventWaitNodeSetEvent\n    cudaEventRecordWithFlags\n    cudaStreamWaitEvent\n    cudaGraphExecKernelNodeSetParams\n    cudaGraphExecMemcpyNodeSetParams\n    cudaGraphExecMemsetNodeSetParams\n    cudaGraphExecHostNodeSetParams\n    cudaGraphExecChildGraphNodeSetParams\n    cudaGraphExecEventWaitNodeSetEvent\n    cudaGraphExecExternalSemaphoresSignalNodeSetParams\n    cudaGraphExecExternalSemaphoresWaitNodeSetParams\n    cudaGraphExecUpdate\n    cudaGraphInstantiate\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_477cudaGraphExecEventRecordNodeSetEvent = {"cudaGraphExecEventRecordNodeSetEvent", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_477cudaGraphExecEventRecordNodeSetEvent, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_476cudaGraphExecEventRecordNodeSetEvent};
static PyObject *__pyx_pw_4cuda_6cudart_477cudaGraphExecEventRecordNodeSetEvent(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,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, 18916, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_event)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphExecEventRecordNodeSetEvent", 1, 3, 3, 2); __PYX_ERR(0, 18916, __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, 18916, __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, 18916, __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_476cudaGraphExecEventRecordNodeSetEvent(__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_476cudaGraphExecEventRecordNodeSetEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, PyObject *__pyx_v_event) {
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__580)
  __Pyx_RefNannySetupContext("cudaGraphExecEventRecordNodeSetEvent", 0);
  __Pyx_TraceCall("cudaGraphExecEventRecordNodeSetEvent", __pyx_f[0], 18916, 0, __PYX_ERR(0, 18916, __pyx_L1_error));

  /* "cuda/cudart.pyx":18964
 *     cudaGraphInstantiate
 *     """
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     if not isinstance(hNode, (cudaGraphNode_t, cuda.CUgraphNode)):
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_6cudart_cudaEvent_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_4cuda_CUevent); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":18965
 *     """
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))             # <<<<<<<<<<<<<<
 *     if not isinstance(hNode, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hNode)))
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_event))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18965, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_event_is_not_instance_o, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18965, __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, 18965, __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, 18965, __pyx_L1_error)

    /* "cuda/cudart.pyx":18964
 *     cudaGraphInstantiate
 *     """
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     if not isinstance(hNode, (cudaGraphNode_t, cuda.CUgraphNode)):
 */
  }

  /* "cuda/cudart.pyx":18966
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     if not isinstance(hNode, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hNode)))
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 */
  __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)) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "cuda/cudart.pyx":18967
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     if not isinstance(hNode, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hNode)))             # <<<<<<<<<<<<<<
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_hNode))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18967, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_hNode_is_not_instance_o, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18967, __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, 18967, __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, 18967, __pyx_L1_error)

    /* "cuda/cudart.pyx":18966
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     if not isinstance(hNode, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hNode)))
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 */
  }

  /* "cuda/cudart.pyx":18968
 *     if not isinstance(hNode, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hNode)))
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))
 *     err = ccudart.cudaGraphExecEventRecordNodeSetEvent(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>hGraphExec)._ptr[0], <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>hNode)._ptr[0], <ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0])
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_ptype_4cuda_6cudart_cudaGraphExec_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L10_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_ptype_4cuda_4cuda_CUgraphExec); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L10_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":18969
 *         raise TypeError("Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hNode)))
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphExecEventRecordNodeSetEvent(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>hGraphExec)._ptr[0], <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>hNode)._ptr[0], <ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0])
 *     return (cudaError_t(err),)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_hGraphExec))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18969, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_hGraphExec_is_not_insta, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 18969, __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, 18969, __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, 18969, __pyx_L1_error)

    /* "cuda/cudart.pyx":18968
 *     if not isinstance(hNode, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hNode)))
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))
 *     err = ccudart.cudaGraphExecEventRecordNodeSetEvent(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>hGraphExec)._ptr[0], <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>hNode)._ptr[0], <ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0])
 */
  }

  /* "cuda/cudart.pyx":18970
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))
 *     err = ccudart.cudaGraphExecEventRecordNodeSetEvent(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>hGraphExec)._ptr[0], <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>hNode)._ptr[0], <ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaGraphExecEventRecordNodeSetEvent(((__pyx_t_4cuda_7ccudart_cudaGraphExec_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphExec_t *)__pyx_v_hGraphExec)->__pyx_base._ptr[0])), ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_v_hNode)->__pyx_base._ptr[0])), ((__pyx_t_4cuda_7ccudart_cudaEvent_t)(((struct __pyx_obj_4cuda_6cudart_cudaEvent_t *)__pyx_v_event)->__pyx_base._ptr[0]))); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 18970, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":18971
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))
 *     err = ccudart.cudaGraphExecEventRecordNodeSetEvent(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>hGraphExec)._ptr[0], <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>hNode)._ptr[0], <ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0])
 *     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, 18971, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 18971, __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_4 = (__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_4)) __PYX_ERR(0, 18971, __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, 18971, __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":18916
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphExecEventRecordNodeSetEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":18974
 * 
 * @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_479cudaGraphExecEventWaitNodeSetEvent(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_478cudaGraphExecEventWaitNodeSetEvent[] = "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 : CUgraphExec or cudaGraphExec_t\n        The executable graph in which to set the specified node\n    hNode : CUgraphNode or cudaGraphNode_t\n        Event wait node from the graph from which graphExec was\n        instantiated\n    event : CUevent or cudaEvent_t\n        Updated event to use\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    None\n        None\n\n    See Also\n    --------\n    cudaGraphAddEventWaitNode\n    cudaGraphEventWaitNodeGetEvent\n    cudaGraphEventRecordNodeSetEvent\n    cudaEventRecordWithFlags\n    cudaStreamWaitEvent\n    cudaGraphExecKernelNodeSetParams\n    cudaGraphExecMemcpyNodeSetParams\n    cudaGraphExecMemsetNodeSetParams\n    cudaGraphExecHostNodeSetParams\n    cudaGraphExecChildGraphNodeSetParams\n    cudaGraphExecEventRecordNodeSetEvent\n    cudaGraphExecExternalSemaphoresSignalNodeSetParams\n    cudaGraphExecExternalSemaphoresWaitNodeSetParams\n    cudaGraphExecUpdate\n    cudaGraphInstantiate\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_479cudaGraphExecEventWaitNodeSetEvent = {"cudaGraphExecEventWaitNodeSetEvent", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_479cudaGraphExecEventWaitNodeSetEvent, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_478cudaGraphExecEventWaitNodeSetEvent};
static PyObject *__pyx_pw_4cuda_6cudart_479cudaGraphExecEventWaitNodeSetEvent(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,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, 18974, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_event)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("cudaGraphExecEventWaitNodeSetEvent", 1, 3, 3, 2); __PYX_ERR(0, 18974, __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, 18974, __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, 18974, __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_478cudaGraphExecEventWaitNodeSetEvent(__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_478cudaGraphExecEventWaitNodeSetEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, PyObject *__pyx_v_event) {
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__581)
  __Pyx_RefNannySetupContext("cudaGraphExecEventWaitNodeSetEvent", 0);
  __Pyx_TraceCall("cudaGraphExecEventWaitNodeSetEvent", __pyx_f[0], 18974, 0, __PYX_ERR(0, 18974, __pyx_L1_error));

  /* "cuda/cudart.pyx":19022
 *     cudaGraphInstantiate
 *     """
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     if not isinstance(hNode, (cudaGraphNode_t, cuda.CUgraphNode)):
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_6cudart_cudaEvent_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_4cuda_CUevent); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":19023
 *     """
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))             # <<<<<<<<<<<<<<
 *     if not isinstance(hNode, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hNode)))
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_event))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19023, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_event_is_not_instance_o, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 19023, __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, 19023, __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, 19023, __pyx_L1_error)

    /* "cuda/cudart.pyx":19022
 *     cudaGraphInstantiate
 *     """
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     if not isinstance(hNode, (cudaGraphNode_t, cuda.CUgraphNode)):
 */
  }

  /* "cuda/cudart.pyx":19024
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     if not isinstance(hNode, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hNode)))
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 */
  __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)) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "cuda/cudart.pyx":19025
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     if not isinstance(hNode, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hNode)))             # <<<<<<<<<<<<<<
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_hNode))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19025, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_hNode_is_not_instance_o, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 19025, __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, 19025, __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, 19025, __pyx_L1_error)

    /* "cuda/cudart.pyx":19024
 *     if not isinstance(event, (cudaEvent_t, cuda.CUevent)):
 *         raise TypeError("Argument 'event' is not instance of type (expected <class 'cudart.cudaEvent_t, cuda.CUevent'>, found " + str(type(event)))
 *     if not isinstance(hNode, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hNode)))
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 */
  }

  /* "cuda/cudart.pyx":19026
 *     if not isinstance(hNode, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hNode)))
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))
 *     err = ccudart.cudaGraphExecEventWaitNodeSetEvent(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>hGraphExec)._ptr[0], <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>hNode)._ptr[0], <ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0])
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_ptype_4cuda_6cudart_cudaGraphExec_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L10_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_ptype_4cuda_4cuda_CUgraphExec); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L10_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":19027
 *         raise TypeError("Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hNode)))
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphExecEventWaitNodeSetEvent(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>hGraphExec)._ptr[0], <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>hNode)._ptr[0], <ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0])
 *     return (cudaError_t(err),)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_hGraphExec))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19027, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_hGraphExec_is_not_insta, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 19027, __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, 19027, __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, 19027, __pyx_L1_error)

    /* "cuda/cudart.pyx":19026
 *     if not isinstance(hNode, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hNode)))
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))
 *     err = ccudart.cudaGraphExecEventWaitNodeSetEvent(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>hGraphExec)._ptr[0], <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>hNode)._ptr[0], <ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0])
 */
  }

  /* "cuda/cudart.pyx":19028
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))
 *     err = ccudart.cudaGraphExecEventWaitNodeSetEvent(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>hGraphExec)._ptr[0], <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>hNode)._ptr[0], <ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaGraphExecEventWaitNodeSetEvent(((__pyx_t_4cuda_7ccudart_cudaGraphExec_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphExec_t *)__pyx_v_hGraphExec)->__pyx_base._ptr[0])), ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_v_hNode)->__pyx_base._ptr[0])), ((__pyx_t_4cuda_7ccudart_cudaEvent_t)(((struct __pyx_obj_4cuda_6cudart_cudaEvent_t *)__pyx_v_event)->__pyx_base._ptr[0]))); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 19028, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":19029
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))
 *     err = ccudart.cudaGraphExecEventWaitNodeSetEvent(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>hGraphExec)._ptr[0], <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>hNode)._ptr[0], <ccudart.cudaEvent_t>(<cudaEvent_t>event)._ptr[0])
 *     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, 19029, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 19029, __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_4 = (__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_4)) __PYX_ERR(0, 19029, __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, 19029, __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":18974
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphExecEventWaitNodeSetEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":19032
 * 
 * @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_481cudaGraphExecExternalSemaphoresSignalNodeSetParams(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_480cudaGraphExecExternalSemaphoresSignalNodeSetParams[] = "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 : CUgraphExec or cudaGraphExec_t\n        The executable graph in which to set the specified node\n    hNode : CUgraphNode or cudaGraphNode_t\n        semaphore signal node from the graph from which graphExec was\n        instantiated\n    nodeParams : cudaExternalSemaphoreSignalNodeParams\n        Updated Parameters to set\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    None\n        None\n\n    See Also\n    --------\n    cudaGraphAddExternalSemaphoresSignalNode\n    cudaImportExternalSemaphore\n    cudaSignalExternalSemaphoresAsync\n    cudaWaitExternalSemaphoresAsync\n    cudaGraphExecKernelNodeSetParams\n    cudaGraphExecMemcpyNodeSetParams\n    cudaGraphExecMemsetNodeSetParams\n    cudaGraphExecHostNodeSetParams\n    cudaGraphExecChildGraphNodeSetParams\n    cudaGraphExecEventRecordNodeSetEvent\n    cudaGraphExecEventWaitNodeSetEvent\n    cudaGraphExecExternalSemaphoresWaitNodeSetParams\n    cudaGraphExecUpdate\n    cudaGraphInstantiate\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_481cudaGraphExecExternalSemaphoresSignalNodeSetParams = {"cudaGraphExecExternalSemaphoresSignalNodeSetParams", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_481cudaGraphExecExternalSemaphoresSignalNodeSetParams, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_480cudaGraphExecExternalSemaphoresSignalNodeSetParams};
static PyObject *__pyx_pw_4cuda_6cudart_481cudaGraphExecExternalSemaphoresSignalNodeSetParams(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, 19032, __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, 19032, __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, 19032, __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, 19032, __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, 19032, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_480cudaGraphExecExternalSemaphoresSignalNodeSetParams(__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_480cudaGraphExecExternalSemaphoresSignalNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams *__pyx_v_nodeParams) {
  struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreSignalNodeParams *__pyx_v_cnodeParams_ptr;
  __pyx_t_4cuda_7ccudart_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;
  struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreSignalNodeParams *__pyx_t_6;
  __pyx_t_4cuda_7ccudart_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("cudaGraphExecExternalSemaphoresSignalNodeSetParams", 0);
  __Pyx_TraceCall("cudaGraphExecExternalSemaphoresSignalNodeSetParams", __pyx_f[0], 19032, 0, __PYX_ERR(0, 19032, __pyx_L1_error));

  /* "cuda/cudart.pyx":19083
 *     cudaGraphInstantiate
 *     """
 *     if not isinstance(hNode, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hNode)))
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":19084
 *     """
 *     if not isinstance(hNode, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hNode)))             # <<<<<<<<<<<<<<
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_hNode))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19084, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_hNode_is_not_instance_o, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 19084, __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, 19084, __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, 19084, __pyx_L1_error)

    /* "cuda/cudart.pyx":19083
 *     cudaGraphInstantiate
 *     """
 *     if not isinstance(hNode, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hNode)))
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 */
  }

  /* "cuda/cudart.pyx":19085
 *     if not isinstance(hNode, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hNode)))
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))
 *     cdef ccudart.cudaExternalSemaphoreSignalNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 */
  __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)) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "cuda/cudart.pyx":19086
 *         raise TypeError("Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hNode)))
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaExternalSemaphoreSignalNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccudart.cudaGraphExecExternalSemaphoresSignalNodeSetParams(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>hGraphExec)._ptr[0], <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>hNode)._ptr[0], cnodeParams_ptr)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_hGraphExec))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19086, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_hGraphExec_is_not_insta, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 19086, __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, 19086, __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, 19086, __pyx_L1_error)

    /* "cuda/cudart.pyx":19085
 *     if not isinstance(hNode, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hNode)))
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))
 *     cdef ccudart.cudaExternalSemaphoreSignalNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 */
  }

  /* "cuda/cudart.pyx":19087
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))
 *     cdef ccudart.cudaExternalSemaphoreSignalNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphExecExternalSemaphoresSignalNodeSetParams(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>hGraphExec)._ptr[0], <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>hNode)._ptr[0], 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, 19087, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 19087, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_1) {
    __pyx_t_6 = __pyx_v_nodeParams->_ptr;
  } else {
    __pyx_t_6 = NULL;
  }
  __pyx_v_cnodeParams_ptr = __pyx_t_6;

  /* "cuda/cudart.pyx":19088
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))
 *     cdef ccudart.cudaExternalSemaphoreSignalNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccudart.cudaGraphExecExternalSemaphoresSignalNodeSetParams(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>hGraphExec)._ptr[0], <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>hNode)._ptr[0], cnodeParams_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaGraphExecExternalSemaphoresSignalNodeSetParams(((__pyx_t_4cuda_7ccudart_cudaGraphExec_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphExec_t *)__pyx_v_hGraphExec)->__pyx_base._ptr[0])), ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_v_hNode)->__pyx_base._ptr[0])), __pyx_v_cnodeParams_ptr); if (unlikely(__pyx_t_7 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 19088, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":19089
 *     cdef ccudart.cudaExternalSemaphoreSignalNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccudart.cudaGraphExecExternalSemaphoresSignalNodeSetParams(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>hGraphExec)._ptr[0], <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>hNode)._ptr[0], cnodeParams_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, 19089, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_8 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 19089, __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_4 = (__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_4)) __PYX_ERR(0, 19089, __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, 19089, __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":19032
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphExecExternalSemaphoresSignalNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":19092
 * 
 * @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_483cudaGraphExecExternalSemaphoresWaitNodeSetParams(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_482cudaGraphExecExternalSemaphoresWaitNodeSetParams[] = "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 : CUgraphExec or cudaGraphExec_t\n        The executable graph in which to set the specified node\n    hNode : CUgraphNode or cudaGraphNode_t\n        semaphore wait node from the graph from which graphExec was\n        instantiated\n    nodeParams : cudaExternalSemaphoreWaitNodeParams\n        Updated Parameters to set\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    None\n        None\n\n    See Also\n    --------\n    cudaGraphAddExternalSemaphoresWaitNode\n    cudaImportExternalSemaphore\n    cudaSignalExternalSemaphoresAsync\n    cudaWaitExternalSemaphoresAsync\n    cudaGraphExecKernelNodeSetParams\n    cudaGraphExecMemcpyNodeSetParams\n    cudaGraphExecMemsetNodeSetParams\n    cudaGraphExecHostNodeSetParams\n    cudaGraphExecChildGraphNodeSetParams\n    cudaGraphExecEventRecordNodeSetEvent\n    cudaGraphExecEventWaitNodeSetEvent\n    cudaGraphExecExternalSemaphoresSignalNodeSetParams\n    cudaGraphExecUpdate\n    cudaGraphInstantiate\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_483cudaGraphExecExternalSemaphoresWaitNodeSetParams = {"cudaGraphExecExternalSemaphoresWaitNodeSetParams", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_483cudaGraphExecExternalSemaphoresWaitNodeSetParams, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_482cudaGraphExecExternalSemaphoresWaitNodeSetParams};
static PyObject *__pyx_pw_4cuda_6cudart_483cudaGraphExecExternalSemaphoresWaitNodeSetParams(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, 19092, __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, 19092, __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, 19092, __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, 19092, __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, 19092, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_482cudaGraphExecExternalSemaphoresWaitNodeSetParams(__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_482cudaGraphExecExternalSemaphoresWaitNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams *__pyx_v_nodeParams) {
  struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreWaitNodeParams *__pyx_v_cnodeParams_ptr;
  __pyx_t_4cuda_7ccudart_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;
  struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreWaitNodeParams *__pyx_t_6;
  __pyx_t_4cuda_7ccudart_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("cudaGraphExecExternalSemaphoresWaitNodeSetParams", 0);
  __Pyx_TraceCall("cudaGraphExecExternalSemaphoresWaitNodeSetParams", __pyx_f[0], 19092, 0, __PYX_ERR(0, 19092, __pyx_L1_error));

  /* "cuda/cudart.pyx":19143
 *     cudaGraphInstantiate
 *     """
 *     if not isinstance(hNode, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hNode)))
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_6cudart_cudaGraphNode_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":19144
 *     """
 *     if not isinstance(hNode, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hNode)))             # <<<<<<<<<<<<<<
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_hNode))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19144, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_hNode_is_not_instance_o, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 19144, __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, 19144, __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, 19144, __pyx_L1_error)

    /* "cuda/cudart.pyx":19143
 *     cudaGraphInstantiate
 *     """
 *     if not isinstance(hNode, (cudaGraphNode_t, cuda.CUgraphNode)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hNode)))
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 */
  }

  /* "cuda/cudart.pyx":19145
 *     if not isinstance(hNode, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hNode)))
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))
 *     cdef ccudart.cudaExternalSemaphoreWaitNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 */
  __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)) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "cuda/cudart.pyx":19146
 *         raise TypeError("Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hNode)))
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaExternalSemaphoreWaitNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccudart.cudaGraphExecExternalSemaphoresWaitNodeSetParams(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>hGraphExec)._ptr[0], <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>hNode)._ptr[0], cnodeParams_ptr)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_hGraphExec))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19146, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_hGraphExec_is_not_insta, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 19146, __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, 19146, __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, 19146, __pyx_L1_error)

    /* "cuda/cudart.pyx":19145
 *     if not isinstance(hNode, (cudaGraphNode_t, cuda.CUgraphNode)):
 *         raise TypeError("Argument 'hNode' is not instance of type (expected <class 'cudart.cudaGraphNode_t, cuda.CUgraphNode'>, found " + str(type(hNode)))
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))
 *     cdef ccudart.cudaExternalSemaphoreWaitNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 */
  }

  /* "cuda/cudart.pyx":19147
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))
 *     cdef ccudart.cudaExternalSemaphoreWaitNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphExecExternalSemaphoresWaitNodeSetParams(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>hGraphExec)._ptr[0], <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>hNode)._ptr[0], 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, 19147, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 19147, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_1) {
    __pyx_t_6 = __pyx_v_nodeParams->_ptr;
  } else {
    __pyx_t_6 = NULL;
  }
  __pyx_v_cnodeParams_ptr = __pyx_t_6;

  /* "cuda/cudart.pyx":19148
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))
 *     cdef ccudart.cudaExternalSemaphoreWaitNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccudart.cudaGraphExecExternalSemaphoresWaitNodeSetParams(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>hGraphExec)._ptr[0], <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>hNode)._ptr[0], cnodeParams_ptr)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_7ccudart_cudaGraphExecExternalSemaphoresWaitNodeSetParams(((__pyx_t_4cuda_7ccudart_cudaGraphExec_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphExec_t *)__pyx_v_hGraphExec)->__pyx_base._ptr[0])), ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *)__pyx_v_hNode)->__pyx_base._ptr[0])), __pyx_v_cnodeParams_ptr); if (unlikely(__pyx_t_7 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 19148, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cudart.pyx":19149
 *     cdef ccudart.cudaExternalSemaphoreWaitNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccudart.cudaGraphExecExternalSemaphoresWaitNodeSetParams(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>hGraphExec)._ptr[0], <ccudart.cudaGraphNode_t>(<cudaGraphNode_t>hNode)._ptr[0], cnodeParams_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, 19149, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_8 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 19149, __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_4 = (__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_4)) __PYX_ERR(0, 19149, __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, 19149, __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":19092
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphExecExternalSemaphoresWaitNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":19152
 * 
 * @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_485cudaGraphExecUpdate(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_484cudaGraphExecUpdate[] = "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: The owning context of the function cannot change. A node\n    whose function originally did not use CUDA dynamic parallelism cannot\n    be updated to a function which uses CDP   Memset and memcpy nodes: The\n    CUDA device(s) to which the operand(s) was allocated/mapped cannot\n    change. The source/destination memory must be allocated from the same\n    contexts as the original source/destination memory. Only 1D memsets can\n    be changed.   Additional memcpy node restrictions: Changing either the\n    source or destination memory type(i.e. CU_MEMORYTYPE_DEVICE,\n    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. A node is deleted in `hGraph` but\n    not not its pair from `hGraphExec`, in which case `hErrorNode_out` is\n    NULL. A node is deleted in `hGraphExec` but not its pair from `hGraph`,\n    in which case `hErrorNode_out` is the pairless node from `hGraph`. The\n    dependent nodes of a pair differ, in which case `hErrorNode_out` is the\n    node from `hGraph`.\n\n    cudaGraphExecUpdate sets `updateResult_out` to:\n    cudaGraphExecUpdateError if passed an invalid value.\n    cudaGraphExecUpdateErrorTopologyChanged if the graph topology changed\n    cudaGraphExecUpdateErrorNodeTypeChanged if the type of a node changed,\n    in which case `hE""rrorNode_out` is set to the node from `hGraph`.\n    cudaGraphExecUpdateErrorFunctionChanged if the function of a kernel\n    node changed (CUDA driver < 11.2)\n    cudaGraphExecUpdateErrorUnsupportedFunctionChange if the func field of\n    a kernel changed in an unsupported way(see note above), in which case\n    `hErrorNode_out` is set to the node from `hGraph`\n    cudaGraphExecUpdateErrorParametersChanged if any parameters to a node\n    changed in a way that is not supported, in which case `hErrorNode_out`\n    is set to the node from `hGraph`  cudaGraphExecUpdateErrorNotSupported\n    if something about a node is unsupported, like the node's type or\n    configuration, in which case `hErrorNode_out` is set to the node from\n    `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 cudaErrorGraphExecUpdateFailure 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 : CUgraphExec or cudaGraphExec_t\n        The instantiated graph to be updated\n    hGraph : Any\n        The graph containing the updated parameters\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorGraphExecUpdateFailure\n    hErrorNode_out : cudaGraphNode_t\n        The node which caused the permissibility check to forbid the\n        update, if any\n    updateResult_out : cudaGraphExecUpdateResult\n        Whether the graph update was permitted. If was forbidden, the\n        reason why\n\n    S""ee Also\n    --------\n    cudaGraphInstantiate\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_485cudaGraphExecUpdate = {"cudaGraphExecUpdate", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_485cudaGraphExecUpdate, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_484cudaGraphExecUpdate};
static PyObject *__pyx_pw_4cuda_6cudart_485cudaGraphExecUpdate(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, 19152, __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, 19152, __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, 19152, __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_484cudaGraphExecUpdate(__pyx_self, __pyx_v_hGraphExec, __pyx_v_hGraph);

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

static PyObject *__pyx_pf_4cuda_6cudart_484cudaGraphExecUpdate(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hGraph) {
  struct __pyx_obj_4cuda_6cudart_cudaGraphNode_t *__pyx_v_hErrorNode_out = 0;
  enum __pyx_t_4cuda_7ccudart_cudaGraphExecUpdateResult __pyx_v_updateResult_out;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__584)
  __Pyx_RefNannySetupContext("cudaGraphExecUpdate", 0);
  __Pyx_TraceCall("cudaGraphExecUpdate", __pyx_f[0], 19152, 0, __PYX_ERR(0, 19152, __pyx_L1_error));

  /* "cuda/cudart.pyx":19237
 *     cudaGraphInstantiate
 *     """
 *     if not isinstance(hGraph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hGraph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(hGraph)))
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_hGraph, __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_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":19238
 *     """
 *     if not isinstance(hGraph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'hGraph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(hGraph)))             # <<<<<<<<<<<<<<
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_hGraph))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19238, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_hGraph_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 19238, __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, 19238, __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, 19238, __pyx_L1_error)

    /* "cuda/cudart.pyx":19237
 *     cudaGraphInstantiate
 *     """
 *     if not isinstance(hGraph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hGraph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(hGraph)))
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 */
  }

  /* "cuda/cudart.pyx":19239
 *     if not isinstance(hGraph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'hGraph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(hGraph)))
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))
 *     cdef cudaGraphNode_t hErrorNode_out = cudaGraphNode_t()
 */
  __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)) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "cuda/cudart.pyx":19240
 *         raise TypeError("Argument 'hGraph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(hGraph)))
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))             # <<<<<<<<<<<<<<
 *     cdef cudaGraphNode_t hErrorNode_out = cudaGraphNode_t()
 *     cdef ccudart.cudaGraphExecUpdateResult updateResult_out
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_hGraphExec))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19240, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_hGraphExec_is_not_insta, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 19240, __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, 19240, __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, 19240, __pyx_L1_error)

    /* "cuda/cudart.pyx":19239
 *     if not isinstance(hGraph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'hGraph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(hGraph)))
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))
 *     cdef cudaGraphNode_t hErrorNode_out = cudaGraphNode_t()
 */
  }

  /* "cuda/cudart.pyx":19241
 *     if not isinstance(hGraphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 *         raise TypeError("Argument 'hGraphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(hGraphExec)))
 *     cdef cudaGraphNode_t hErrorNode_out = cudaGraphNode_t()             # <<<<<<<<<<<<<<
 *     cdef ccudart.cudaGraphExecUpdateResult updateResult_out
 *     err = ccudart.cudaGraphExecUpdate(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>hGraphExec)._ptr[0], <ccudart.cudaGraph_t>(<cudaGraph_t>hGraph)._ptr[0], <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, 19241, __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":19243
 *     cdef cudaGraphNode_t hErrorNode_out = cudaGraphNode_t()
 *     cdef ccudart.cudaGraphExecUpdateResult updateResult_out
 *     err = ccudart.cudaGraphExecUpdate(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>hGraphExec)._ptr[0], <ccudart.cudaGraph_t>(<cudaGraph_t>hGraph)._ptr[0], <ccudart.cudaGraphNode_t*>hErrorNode_out._ptr, &updateResult_out)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), hErrorNode_out, cudaGraphExecUpdateResult(updateResult_out))
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaGraphExecUpdate(((__pyx_t_4cuda_7ccudart_cudaGraphExec_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphExec_t *)__pyx_v_hGraphExec)->__pyx_base._ptr[0])), ((__pyx_t_4cuda_7ccudart_cudaGraph_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraph_t *)__pyx_v_hGraph)->__pyx_base._ptr[0])), ((__pyx_t_4cuda_7ccudart_cudaGraphNode_t *)__pyx_v_hErrorNode_out->__pyx_base._ptr), (&__pyx_v_updateResult_out)); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 19243, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":19244
 *     cdef ccudart.cudaGraphExecUpdateResult updateResult_out
 *     err = ccudart.cudaGraphExecUpdate(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>hGraphExec)._ptr[0], <ccudart.cudaGraph_t>(<cudaGraph_t>hGraph)._ptr[0], <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_5, __pyx_n_s_cudaError_t); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 19244, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 19244, __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_4 = (__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_4)) __PYX_ERR(0, 19244, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_cudaGraphExecUpdateResult); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 19244, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphExecUpdateResult(__pyx_v_updateResult_out); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 19244, __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_5 = (__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_5)) __PYX_ERR(0, 19244, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_7 = PyTuple_New(3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 19244, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4);
  __Pyx_INCREF(((PyObject *)__pyx_v_hErrorNode_out));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_hErrorNode_out));
  PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_hErrorNode_out));
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_t_5);
  __pyx_t_4 = 0;
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":19152
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphExecUpdate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_hErrorNode_out);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":19247
 * 
 * @cython.embedsignature(True)
 * def cudaGraphUpload(graphExec, stream):             # <<<<<<<<<<<<<<
 *     """ Uploads an executable graph in a stream.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_487cudaGraphUpload(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_486cudaGraphUpload[] = "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 : Any\n        Executable graph to upload\n    hStream : CUstream or cudaStream_t\n        Stream in which to upload the graph\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    None\n        None\n\n    See Also\n    --------\n    cudaGraphInstantiate\n    cudaGraphLaunch\n    cudaGraphExecDestroy\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_487cudaGraphUpload = {"cudaGraphUpload", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_487cudaGraphUpload, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_486cudaGraphUpload};
static PyObject *__pyx_pw_4cuda_6cudart_487cudaGraphUpload(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, 19247, __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, 19247, __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, 19247, __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_486cudaGraphUpload(__pyx_self, __pyx_v_graphExec, __pyx_v_stream);

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

static PyObject *__pyx_pf_4cuda_6cudart_486cudaGraphUpload(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graphExec, PyObject *__pyx_v_stream) {
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__585)
  __Pyx_RefNannySetupContext("cudaGraphUpload", 0);
  __Pyx_TraceCall("cudaGraphUpload", __pyx_f[0], 19247, 0, __PYX_ERR(0, 19247, __pyx_L1_error));

  /* "cuda/cudart.pyx":19277
 *     cudaGraphExecDestroy
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     if not isinstance(graphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":19278
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))             # <<<<<<<<<<<<<<
 *     if not isinstance(graphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 *         raise TypeError("Argument 'graphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(graphExec)))
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_stream))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19278, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_stream_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 19278, __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, 19278, __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, 19278, __pyx_L1_error)

    /* "cuda/cudart.pyx":19277
 *     cudaGraphExecDestroy
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     if not isinstance(graphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 */
  }

  /* "cuda/cudart.pyx":19279
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     if not isinstance(graphExec, (cudaGraphExec_t, cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'graphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(graphExec)))
 *     err = ccudart.cudaGraphUpload(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>graphExec)._ptr[0], <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 */
  __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)) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "cuda/cudart.pyx":19280
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     if not isinstance(graphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 *         raise TypeError("Argument 'graphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(graphExec)))             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphUpload(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>graphExec)._ptr[0], <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     return (cudaError_t(err),)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_graphExec))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19280, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_graphExec_is_not_instan, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 19280, __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, 19280, __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, 19280, __pyx_L1_error)

    /* "cuda/cudart.pyx":19279
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     if not isinstance(graphExec, (cudaGraphExec_t, cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'graphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(graphExec)))
 *     err = ccudart.cudaGraphUpload(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>graphExec)._ptr[0], <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 */
  }

  /* "cuda/cudart.pyx":19281
 *     if not isinstance(graphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 *         raise TypeError("Argument 'graphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(graphExec)))
 *     err = ccudart.cudaGraphUpload(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>graphExec)._ptr[0], <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaGraphUpload(((__pyx_t_4cuda_7ccudart_cudaGraphExec_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphExec_t *)__pyx_v_graphExec)->__pyx_base._ptr[0])), ((__pyx_t_4cuda_7ccudart_cudaStream_t)(((struct __pyx_obj_4cuda_6cudart_cudaStream_t *)__pyx_v_stream)->__pyx_base._ptr[0]))); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 19281, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":19282
 *         raise TypeError("Argument 'graphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(graphExec)))
 *     err = ccudart.cudaGraphUpload(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>graphExec)._ptr[0], <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     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, 19282, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 19282, __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_4 = (__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_4)) __PYX_ERR(0, 19282, __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, 19282, __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":19247
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphUpload", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":19285
 * 
 * @cython.embedsignature(True)
 * def cudaGraphLaunch(graphExec, stream):             # <<<<<<<<<<<<<<
 *     """ Launches an executable graph in a stream.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_489cudaGraphLaunch(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_488cudaGraphLaunch[] = "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    cudaGraphInstantiateFlagAutoFreeOnLaunch, the launch will fail with\n    cudaErrorInvalidValue.\n\n    Parameters\n    ----------\n    graphExec : Any\n        Executable graph to launch\n    stream : CUstream or cudaStream_t\n        Stream in which to launch the graph\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    None\n        None\n\n    See Also\n    --------\n    cudaGraphInstantiate\n    cudaGraphUpload\n    cudaGraphExecDestroy\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_489cudaGraphLaunch = {"cudaGraphLaunch", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_489cudaGraphLaunch, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_488cudaGraphLaunch};
static PyObject *__pyx_pw_4cuda_6cudart_489cudaGraphLaunch(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, 19285, __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, 19285, __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, 19285, __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_488cudaGraphLaunch(__pyx_self, __pyx_v_graphExec, __pyx_v_stream);

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

static PyObject *__pyx_pf_4cuda_6cudart_488cudaGraphLaunch(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graphExec, PyObject *__pyx_v_stream) {
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__586)
  __Pyx_RefNannySetupContext("cudaGraphLaunch", 0);
  __Pyx_TraceCall("cudaGraphLaunch", __pyx_f[0], 19285, 0, __PYX_ERR(0, 19285, __pyx_L1_error));

  /* "cuda/cudart.pyx":19320
 *     cudaGraphExecDestroy
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     if not isinstance(graphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_6cudart_cudaStream_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":19321
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))             # <<<<<<<<<<<<<<
 *     if not isinstance(graphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 *         raise TypeError("Argument 'graphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(graphExec)))
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_stream))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19321, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_stream_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 19321, __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, 19321, __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, 19321, __pyx_L1_error)

    /* "cuda/cudart.pyx":19320
 *     cudaGraphExecDestroy
 *     """
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     if not isinstance(graphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 */
  }

  /* "cuda/cudart.pyx":19322
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     if not isinstance(graphExec, (cudaGraphExec_t, cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'graphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(graphExec)))
 *     err = ccudart.cudaGraphLaunch(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>graphExec)._ptr[0], <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 */
  __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)) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "cuda/cudart.pyx":19323
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     if not isinstance(graphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 *         raise TypeError("Argument 'graphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(graphExec)))             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphLaunch(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>graphExec)._ptr[0], <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     return (cudaError_t(err),)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_graphExec))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19323, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_graphExec_is_not_instan, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 19323, __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, 19323, __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, 19323, __pyx_L1_error)

    /* "cuda/cudart.pyx":19322
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 *     if not isinstance(graphExec, (cudaGraphExec_t, cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'graphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(graphExec)))
 *     err = ccudart.cudaGraphLaunch(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>graphExec)._ptr[0], <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 */
  }

  /* "cuda/cudart.pyx":19324
 *     if not isinstance(graphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 *         raise TypeError("Argument 'graphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(graphExec)))
 *     err = ccudart.cudaGraphLaunch(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>graphExec)._ptr[0], <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaGraphLaunch(((__pyx_t_4cuda_7ccudart_cudaGraphExec_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphExec_t *)__pyx_v_graphExec)->__pyx_base._ptr[0])), ((__pyx_t_4cuda_7ccudart_cudaStream_t)(((struct __pyx_obj_4cuda_6cudart_cudaStream_t *)__pyx_v_stream)->__pyx_base._ptr[0]))); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 19324, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":19325
 *         raise TypeError("Argument 'graphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(graphExec)))
 *     err = ccudart.cudaGraphLaunch(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>graphExec)._ptr[0], <ccudart.cudaStream_t>(<cudaStream_t>stream)._ptr[0])
 *     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, 19325, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 19325, __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_4 = (__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_4)) __PYX_ERR(0, 19325, __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, 19325, __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":19285
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphLaunch", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":19328
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecDestroy(graphExec):             # <<<<<<<<<<<<<<
 *     """ Destroys an executable graph.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_491cudaGraphExecDestroy(PyObject *__pyx_self, PyObject *__pyx_v_graphExec); /*proto*/
static char __pyx_doc_4cuda_6cudart_490cudaGraphExecDestroy[] = "cudaGraphExecDestroy(graphExec)\n Destroys an executable graph.\n\n    Destroys the executable graph specified by `graphExec`.\n\n    Parameters\n    ----------\n    graphExec : Any\n        Executable graph to destroy\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    None\n        None\n\n    See Also\n    --------\n    cudaGraphInstantiate\n    cudaGraphUpload\n    cudaGraphLaunch\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_491cudaGraphExecDestroy = {"cudaGraphExecDestroy", (PyCFunction)__pyx_pw_4cuda_6cudart_491cudaGraphExecDestroy, METH_O, __pyx_doc_4cuda_6cudart_490cudaGraphExecDestroy};
static PyObject *__pyx_pw_4cuda_6cudart_491cudaGraphExecDestroy(PyObject *__pyx_self, PyObject *__pyx_v_graphExec) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphExecDestroy (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_490cudaGraphExecDestroy(__pyx_self, ((PyObject *)__pyx_v_graphExec));

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

static PyObject *__pyx_pf_4cuda_6cudart_490cudaGraphExecDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graphExec) {
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__587)
  __Pyx_RefNannySetupContext("cudaGraphExecDestroy", 0);
  __Pyx_TraceCall("cudaGraphExecDestroy", __pyx_f[0], 19328, 0, __PYX_ERR(0, 19328, __pyx_L1_error));

  /* "cuda/cudart.pyx":19352
 *     cudaGraphLaunch
 *     """
 *     if not isinstance(graphExec, (cudaGraphExec_t, cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'graphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(graphExec)))
 *     err = ccudart.cudaGraphExecDestroy(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>graphExec)._ptr[0])
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_graphExec, __pyx_ptype_4cuda_6cudart_cudaGraphExec_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_graphExec, __pyx_ptype_4cuda_4cuda_CUgraphExec); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":19353
 *     """
 *     if not isinstance(graphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 *         raise TypeError("Argument 'graphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(graphExec)))             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphExecDestroy(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>graphExec)._ptr[0])
 *     return (cudaError_t(err),)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_graphExec))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19353, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_graphExec_is_not_instan, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 19353, __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, 19353, __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, 19353, __pyx_L1_error)

    /* "cuda/cudart.pyx":19352
 *     cudaGraphLaunch
 *     """
 *     if not isinstance(graphExec, (cudaGraphExec_t, cuda.CUgraphExec)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'graphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(graphExec)))
 *     err = ccudart.cudaGraphExecDestroy(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>graphExec)._ptr[0])
 */
  }

  /* "cuda/cudart.pyx":19354
 *     if not isinstance(graphExec, (cudaGraphExec_t, cuda.CUgraphExec)):
 *         raise TypeError("Argument 'graphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(graphExec)))
 *     err = ccudart.cudaGraphExecDestroy(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>graphExec)._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaGraphExecDestroy(((__pyx_t_4cuda_7ccudart_cudaGraphExec_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraphExec_t *)__pyx_v_graphExec)->__pyx_base._ptr[0]))); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 19354, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":19355
 *         raise TypeError("Argument 'graphExec' is not instance of type (expected <class 'cudart.cudaGraphExec_t, cuda.CUgraphExec'>, found " + str(type(graphExec)))
 *     err = ccudart.cudaGraphExecDestroy(<ccudart.cudaGraphExec_t>(<cudaGraphExec_t>graphExec)._ptr[0])
 *     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, 19355, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 19355, __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_4 = (__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_4)) __PYX_ERR(0, 19355, __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, 19355, __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":19328
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphExecDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":19358
 * 
 * @cython.embedsignature(True)
 * def cudaGraphDestroy(graph):             # <<<<<<<<<<<<<<
 *     """ Destroys a graph.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_493cudaGraphDestroy(PyObject *__pyx_self, PyObject *__pyx_v_graph); /*proto*/
static char __pyx_doc_4cuda_6cudart_492cudaGraphDestroy[] = "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 : CUgraph or cudaGraph_t\n        Graph to destroy\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    None\n        None\n\n    See Also\n    --------\n    cudaGraphCreate\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_493cudaGraphDestroy = {"cudaGraphDestroy", (PyCFunction)__pyx_pw_4cuda_6cudart_493cudaGraphDestroy, METH_O, __pyx_doc_4cuda_6cudart_492cudaGraphDestroy};
static PyObject *__pyx_pw_4cuda_6cudart_493cudaGraphDestroy(PyObject *__pyx_self, PyObject *__pyx_v_graph) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cudaGraphDestroy (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_492cudaGraphDestroy(__pyx_self, ((PyObject *)__pyx_v_graph));

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

static PyObject *__pyx_pf_4cuda_6cudart_492cudaGraphDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph) {
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__588)
  __Pyx_RefNannySetupContext("cudaGraphDestroy", 0);
  __Pyx_TraceCall("cudaGraphDestroy", __pyx_f[0], 19358, 0, __PYX_ERR(0, 19358, __pyx_L1_error));

  /* "cuda/cudart.pyx":19380
 *     cudaGraphCreate
 *     """
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     err = ccudart.cudaGraphDestroy(<ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0])
 */
  __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_L4_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_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":19381
 *     """
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphDestroy(<ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0])
 *     return (cudaError_t(err),)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_graph))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19381, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_graph_is_not_instance_o, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 19381, __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, 19381, __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, 19381, __pyx_L1_error)

    /* "cuda/cudart.pyx":19380
 *     cudaGraphCreate
 *     """
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     err = ccudart.cudaGraphDestroy(<ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0])
 */
  }

  /* "cuda/cudart.pyx":19382
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     err = ccudart.cudaGraphDestroy(<ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0])             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaGraphDestroy(((__pyx_t_4cuda_7ccudart_cudaGraph_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraph_t *)__pyx_v_graph)->__pyx_base._ptr[0]))); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 19382, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":19383
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     err = ccudart.cudaGraphDestroy(<ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0])
 *     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, 19383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 19383, __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_4 = (__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_4)) __PYX_ERR(0, 19383, __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, 19383, __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":19358
 * 
 * @cython.embedsignature(True)
 * def cudaGraphDestroy(graph):             # <<<<<<<<<<<<<<
 *     """ Destroys a graph.
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":19386
 * 
 * @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_495cudaGraphDebugDotPrint(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_494cudaGraphDebugDotPrint[] = "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 : CUgraph or 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        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorOperatingSystem\n    None\n        None\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_495cudaGraphDebugDotPrint = {"cudaGraphDebugDotPrint", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_495cudaGraphDebugDotPrint, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_494cudaGraphDebugDotPrint};
static PyObject *__pyx_pw_4cuda_6cudart_495cudaGraphDebugDotPrint(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, 19386, __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, 19386, __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, 19386, __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, 19386, __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, 19386, __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, 19386, __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_494cudaGraphDebugDotPrint(__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_494cudaGraphDebugDotPrint(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, char *__pyx_v_path, unsigned int __pyx_v_flags) {
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__589)
  __Pyx_RefNannySetupContext("cudaGraphDebugDotPrint", 0);
  __Pyx_TraceCall("cudaGraphDebugDotPrint", __pyx_f[0], 19386, 0, __PYX_ERR(0, 19386, __pyx_L1_error));

  /* "cuda/cudart.pyx":19414
 *         None
 *     """
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     err = ccudart.cudaGraphDebugDotPrint(<ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], path, flags)
 */
  __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_L4_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_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":19415
 *     """
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphDebugDotPrint(<ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], path, flags)
 *     return (cudaError_t(err),)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_graph))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19415, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_graph_is_not_instance_o, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 19415, __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, 19415, __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, 19415, __pyx_L1_error)

    /* "cuda/cudart.pyx":19414
 *         None
 *     """
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     err = ccudart.cudaGraphDebugDotPrint(<ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], path, flags)
 */
  }

  /* "cuda/cudart.pyx":19416
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     err = ccudart.cudaGraphDebugDotPrint(<ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], path, flags)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaGraphDebugDotPrint(((__pyx_t_4cuda_7ccudart_cudaGraph_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraph_t *)__pyx_v_graph)->__pyx_base._ptr[0])), __pyx_v_path, __pyx_v_flags); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 19416, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":19417
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     err = ccudart.cudaGraphDebugDotPrint(<ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], path, 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, 19417, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 19417, __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_4 = (__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_4)) __PYX_ERR(0, 19417, __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, 19417, __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":19386
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphDebugDotPrint", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":19420
 * 
 * @cython.embedsignature(True)
 * def cudaUserObjectCreate(ptr, destroy not None : cudaHostFn_t, unsigned int initialRefcount, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Create a user object.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_497cudaUserObjectCreate(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_496cudaUserObjectCreate[] = "cudaUserObjectCreate(ptr, cudaHostFn_t destroy: cudaHostFn_t, 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 : 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 cudaUserObjectNoDestructorSync,\n        which is the only defined flag. This indicates that the destroy\n        callback cannot be waited on by any CUDA API. Users requiring\n        synchronization of the callback should signal its completion\n        manually.\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    object_out : cudaUserObject_t\n        Location to return the user object handle\n\n    See Also\n    --------\n    cudaUserObjectRetain\n    cudaUserObjectRelease\n    cudaGraphRetainUserObject\n    cudaGraphReleaseUserObject\n    cudaGraphCreate\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_497cudaUserObjectCreate = {"cudaUserObjectCreate", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_497cudaUserObjectCreate, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_496cudaUserObjectCreate};
static PyObject *__pyx_pw_4cuda_6cudart_497cudaUserObjectCreate(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_ptr = 0;
  struct __pyx_obj_4cuda_6cudart_cudaHostFn_t *__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, 19420, __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, 19420, __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, 19420, __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, 19420, __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 = ((struct __pyx_obj_4cuda_6cudart_cudaHostFn_t *)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, 19420, __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, 19420, __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, 19420, __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:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_destroy), __pyx_ptype_4cuda_6cudart_cudaHostFn_t, 0, "destroy", 0))) __PYX_ERR(0, 19420, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_496cudaUserObjectCreate(__pyx_self, __pyx_v_ptr, __pyx_v_destroy, __pyx_v_initialRefcount, __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_496cudaUserObjectCreate(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ptr, struct __pyx_obj_4cuda_6cudart_cudaHostFn_t *__pyx_v_destroy, unsigned int __pyx_v_initialRefcount, unsigned int __pyx_v_flags) {
  struct __pyx_obj_4cuda_6cudart_cudaUserObject_t *__pyx_v_object_out = 0;
  PyObject *__pyx_v_cptr = NULL;
  void *__pyx_v_cptr_ptr;
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__590)
  __Pyx_RefNannySetupContext("cudaUserObjectCreate", 0);
  __Pyx_TraceCall("cudaUserObjectCreate", __pyx_f[0], 19420, 0, __PYX_ERR(0, 19420, __pyx_L1_error));

  /* "cuda/cudart.pyx":19466
 *     cudaGraphCreate
 *     """
 *     cdef cudaUserObject_t object_out = cudaUserObject_t()             # <<<<<<<<<<<<<<
 *     cptr = utils.HelperInputVoidPtr(ptr)
 *     cdef void* cptr_ptr = <void*><void_ptr>cptr.cptr
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_6cudart_cudaUserObject_t)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19466, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_object_out = ((struct __pyx_obj_4cuda_6cudart_cudaUserObject_t *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":19467
 *     """
 *     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, destroy._ptr[0], initialRefcount, flags)
 */
  __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, 19467, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cptr = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":19468
 *     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, destroy._ptr[0], initialRefcount, flags)
 *     return (cudaError_t(err), object_out)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cptr, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19468, __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, 19468, __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":19469
 *     cptr = utils.HelperInputVoidPtr(ptr)
 *     cdef void* cptr_ptr = <void*><void_ptr>cptr.cptr
 *     err = ccudart.cudaUserObjectCreate(<ccudart.cudaUserObject_t*>object_out._ptr, cptr_ptr, destroy._ptr[0], initialRefcount, flags)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err), object_out)
 * 
 */
  __pyx_t_3 = __pyx_f_4cuda_7ccudart_cudaUserObjectCreate(((__pyx_t_4cuda_7ccudart_cudaUserObject_t *)__pyx_v_object_out->__pyx_base._ptr), __pyx_v_cptr_ptr, (__pyx_v_destroy->_ptr[0]), __pyx_v_initialRefcount, __pyx_v_flags); if (unlikely(__pyx_t_3 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 19469, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cudart.pyx":19470
 *     cdef void* cptr_ptr = <void*><void_ptr>cptr.cptr
 *     err = ccudart.cudaUserObjectCreate(<ccudart.cudaUserObject_t*>object_out._ptr, cptr_ptr, destroy._ptr[0], initialRefcount, flags)
 *     return (cudaError_t(err), object_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, 19470, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 19470, __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, 19470, __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, 19470, __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_object_out));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_object_out));
  PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_object_out));
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cudart.pyx":19420
 * 
 * @cython.embedsignature(True)
 * def cudaUserObjectCreate(ptr, destroy not None : cudaHostFn_t, unsigned int initialRefcount, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Create a user object.
 * 
 */

  /* 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.cudaUserObjectCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __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":19473
 * 
 * @cython.embedsignature(True)
 * def cudaUserObjectRetain(object, unsigned int count):             # <<<<<<<<<<<<<<
 *     """ Retain a reference to a user object.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_499cudaUserObjectRetain(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_498cudaUserObjectRetain[] = "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 : Any\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        cudaSuccess\n        cudaErrorInvalidValue\n    None\n        None\n\n    See Also\n    --------\n    cudaUserObjectCreate\n    cudaUserObjectRelease\n    cudaGraphRetainUserObject\n    cudaGraphReleaseUserObject\n    cudaGraphCreate\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_499cudaUserObjectRetain = {"cudaUserObjectRetain", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_499cudaUserObjectRetain, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_498cudaUserObjectRetain};
static PyObject *__pyx_pw_4cuda_6cudart_499cudaUserObjectRetain(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, 19473, __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, 19473, __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, 19473, __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, 19473, __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_498cudaUserObjectRetain(__pyx_self, __pyx_v_object, __pyx_v_count);

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

static PyObject *__pyx_pf_4cuda_6cudart_498cudaUserObjectRetain(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_object, unsigned int __pyx_v_count) {
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__591)
  __Pyx_RefNannySetupContext("cudaUserObjectRetain", 0);
  __Pyx_TraceCall("cudaUserObjectRetain", __pyx_f[0], 19473, 0, __PYX_ERR(0, 19473, __pyx_L1_error));

  /* "cuda/cudart.pyx":19506
 *     cudaGraphCreate
 *     """
 *     if not isinstance(object, (cudaUserObject_t, cuda.CUuserObject)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'object' is not instance of type (expected <class 'cudart.cudaUserObject_t, cuda.CUuserObject'>, found " + str(type(object)))
 *     err = ccudart.cudaUserObjectRetain(<ccudart.cudaUserObject_t>(<cudaUserObject_t>object)._ptr[0], count)
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_object, __pyx_ptype_4cuda_6cudart_cudaUserObject_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_object, __pyx_ptype_4cuda_4cuda_CUuserObject); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":19507
 *     """
 *     if not isinstance(object, (cudaUserObject_t, cuda.CUuserObject)):
 *         raise TypeError("Argument 'object' is not instance of type (expected <class 'cudart.cudaUserObject_t, cuda.CUuserObject'>, found " + str(type(object)))             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaUserObjectRetain(<ccudart.cudaUserObject_t>(<cudaUserObject_t>object)._ptr[0], count)
 *     return (cudaError_t(err),)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_object))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19507, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_object_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 19507, __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, 19507, __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, 19507, __pyx_L1_error)

    /* "cuda/cudart.pyx":19506
 *     cudaGraphCreate
 *     """
 *     if not isinstance(object, (cudaUserObject_t, cuda.CUuserObject)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'object' is not instance of type (expected <class 'cudart.cudaUserObject_t, cuda.CUuserObject'>, found " + str(type(object)))
 *     err = ccudart.cudaUserObjectRetain(<ccudart.cudaUserObject_t>(<cudaUserObject_t>object)._ptr[0], count)
 */
  }

  /* "cuda/cudart.pyx":19508
 *     if not isinstance(object, (cudaUserObject_t, cuda.CUuserObject)):
 *         raise TypeError("Argument 'object' is not instance of type (expected <class 'cudart.cudaUserObject_t, cuda.CUuserObject'>, found " + str(type(object)))
 *     err = ccudart.cudaUserObjectRetain(<ccudart.cudaUserObject_t>(<cudaUserObject_t>object)._ptr[0], count)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaUserObjectRetain(((__pyx_t_4cuda_7ccudart_cudaUserObject_t)(((struct __pyx_obj_4cuda_6cudart_cudaUserObject_t *)__pyx_v_object)->__pyx_base._ptr[0])), __pyx_v_count); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 19508, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":19509
 *         raise TypeError("Argument 'object' is not instance of type (expected <class 'cudart.cudaUserObject_t, cuda.CUuserObject'>, found " + str(type(object)))
 *     err = ccudart.cudaUserObjectRetain(<ccudart.cudaUserObject_t>(<cudaUserObject_t>object)._ptr[0], count)
 *     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, 19509, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 19509, __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_4 = (__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_4)) __PYX_ERR(0, 19509, __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, 19509, __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":19473
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaUserObjectRetain", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":19512
 * 
 * @cython.embedsignature(True)
 * def cudaUserObjectRelease(object, unsigned int count):             # <<<<<<<<<<<<<<
 *     """ Release a reference to a user object.
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_501cudaUserObjectRelease(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_500cudaUserObjectRelease[] = "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 : Any\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        cudaSuccess\n        cudaErrorInvalidValue\n    None\n        None\n\n    See Also\n    --------\n    cudaUserObjectCreate\n    cudaUserObjectRetain\n    cudaGraphRetainUserObject\n    cudaGraphReleaseUserObject\n    cudaGraphCreate\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_501cudaUserObjectRelease = {"cudaUserObjectRelease", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_501cudaUserObjectRelease, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_500cudaUserObjectRelease};
static PyObject *__pyx_pw_4cuda_6cudart_501cudaUserObjectRelease(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, 19512, __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, 19512, __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, 19512, __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, 19512, __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_500cudaUserObjectRelease(__pyx_self, __pyx_v_object, __pyx_v_count);

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

static PyObject *__pyx_pf_4cuda_6cudart_500cudaUserObjectRelease(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_object, unsigned int __pyx_v_count) {
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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("cudaUserObjectRelease", 0);
  __Pyx_TraceCall("cudaUserObjectRelease", __pyx_f[0], 19512, 0, __PYX_ERR(0, 19512, __pyx_L1_error));

  /* "cuda/cudart.pyx":19548
 *     cudaGraphCreate
 *     """
 *     if not isinstance(object, (cudaUserObject_t, cuda.CUuserObject)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'object' is not instance of type (expected <class 'cudart.cudaUserObject_t, cuda.CUuserObject'>, found " + str(type(object)))
 *     err = ccudart.cudaUserObjectRelease(<ccudart.cudaUserObject_t>(<cudaUserObject_t>object)._ptr[0], count)
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_object, __pyx_ptype_4cuda_6cudart_cudaUserObject_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_object, __pyx_ptype_4cuda_4cuda_CUuserObject); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":19549
 *     """
 *     if not isinstance(object, (cudaUserObject_t, cuda.CUuserObject)):
 *         raise TypeError("Argument 'object' is not instance of type (expected <class 'cudart.cudaUserObject_t, cuda.CUuserObject'>, found " + str(type(object)))             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaUserObjectRelease(<ccudart.cudaUserObject_t>(<cudaUserObject_t>object)._ptr[0], count)
 *     return (cudaError_t(err),)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_object))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19549, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_object_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 19549, __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, 19549, __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, 19549, __pyx_L1_error)

    /* "cuda/cudart.pyx":19548
 *     cudaGraphCreate
 *     """
 *     if not isinstance(object, (cudaUserObject_t, cuda.CUuserObject)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'object' is not instance of type (expected <class 'cudart.cudaUserObject_t, cuda.CUuserObject'>, found " + str(type(object)))
 *     err = ccudart.cudaUserObjectRelease(<ccudart.cudaUserObject_t>(<cudaUserObject_t>object)._ptr[0], count)
 */
  }

  /* "cuda/cudart.pyx":19550
 *     if not isinstance(object, (cudaUserObject_t, cuda.CUuserObject)):
 *         raise TypeError("Argument 'object' is not instance of type (expected <class 'cudart.cudaUserObject_t, cuda.CUuserObject'>, found " + str(type(object)))
 *     err = ccudart.cudaUserObjectRelease(<ccudart.cudaUserObject_t>(<cudaUserObject_t>object)._ptr[0], count)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaUserObjectRelease(((__pyx_t_4cuda_7ccudart_cudaUserObject_t)(((struct __pyx_obj_4cuda_6cudart_cudaUserObject_t *)__pyx_v_object)->__pyx_base._ptr[0])), __pyx_v_count); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 19550, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":19551
 *         raise TypeError("Argument 'object' is not instance of type (expected <class 'cudart.cudaUserObject_t, cuda.CUuserObject'>, found " + str(type(object)))
 *     err = ccudart.cudaUserObjectRelease(<ccudart.cudaUserObject_t>(<cudaUserObject_t>object)._ptr[0], count)
 *     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, 19551, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 19551, __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_4 = (__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_4)) __PYX_ERR(0, 19551, __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, 19551, __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":19512
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaUserObjectRelease", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":19554
 * 
 * @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_503cudaGraphRetainUserObject(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_502cudaGraphRetainUserObject[] = "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 : CUgraph or cudaGraph_t\n        The graph to associate the reference with\n    object : Any\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 cudaGraphUserObjectMove transfers references from\n        the calling thread, rather than create new references. Pass 0 to\n        create new references.\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n    None\n        None\n\n    See Also\n    --------\n    cudaUserObjectCreate\n    cudaUserObjectRetain\n    cudaUserObjectRelease\n    cudaGraphReleaseUserObject\n    cudaGraphCreate\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_503cudaGraphRetainUserObject = {"cudaGraphRetainUserObject", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_503cudaGraphRetainUserObject, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_502cudaGraphRetainUserObject};
static PyObject *__pyx_pw_4cuda_6cudart_503cudaGraphRetainUserObject(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, 19554, __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, 19554, __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, 19554, __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, 19554, __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, 19554, __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, 19554, __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, 19554, __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_502cudaGraphRetainUserObject(__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_502cudaGraphRetainUserObject(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, PyObject *__pyx_v_object, unsigned int __pyx_v_count, unsigned int __pyx_v_flags) {
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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("cudaGraphRetainUserObject", 0);
  __Pyx_TraceCall("cudaGraphRetainUserObject", __pyx_f[0], 19554, 0, __PYX_ERR(0, 19554, __pyx_L1_error));

  /* "cuda/cudart.pyx":19593
 *     cudaGraphCreate
 *     """
 *     if not isinstance(object, (cudaUserObject_t, cuda.CUuserObject)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'object' is not instance of type (expected <class 'cudart.cudaUserObject_t, cuda.CUuserObject'>, found " + str(type(object)))
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_object, __pyx_ptype_4cuda_6cudart_cudaUserObject_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_object, __pyx_ptype_4cuda_4cuda_CUuserObject); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":19594
 *     """
 *     if not isinstance(object, (cudaUserObject_t, cuda.CUuserObject)):
 *         raise TypeError("Argument 'object' is not instance of type (expected <class 'cudart.cudaUserObject_t, cuda.CUuserObject'>, found " + str(type(object)))             # <<<<<<<<<<<<<<
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_object))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19594, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_object_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 19594, __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, 19594, __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, 19594, __pyx_L1_error)

    /* "cuda/cudart.pyx":19593
 *     cudaGraphCreate
 *     """
 *     if not isinstance(object, (cudaUserObject_t, cuda.CUuserObject)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'object' is not instance of type (expected <class 'cudart.cudaUserObject_t, cuda.CUuserObject'>, found " + str(type(object)))
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */
  }

  /* "cuda/cudart.pyx":19595
 *     if not isinstance(object, (cudaUserObject_t, cuda.CUuserObject)):
 *         raise TypeError("Argument 'object' is not instance of type (expected <class 'cudart.cudaUserObject_t, cuda.CUuserObject'>, found " + str(type(object)))
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     err = ccudart.cudaGraphRetainUserObject(<ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <ccudart.cudaUserObject_t>(<cudaUserObject_t>object)._ptr[0], count, flags)
 */
  __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)) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "cuda/cudart.pyx":19596
 *         raise TypeError("Argument 'object' is not instance of type (expected <class 'cudart.cudaUserObject_t, cuda.CUuserObject'>, found " + str(type(object)))
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphRetainUserObject(<ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <ccudart.cudaUserObject_t>(<cudaUserObject_t>object)._ptr[0], count, flags)
 *     return (cudaError_t(err),)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_graph))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19596, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_graph_is_not_instance_o, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 19596, __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, 19596, __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, 19596, __pyx_L1_error)

    /* "cuda/cudart.pyx":19595
 *     if not isinstance(object, (cudaUserObject_t, cuda.CUuserObject)):
 *         raise TypeError("Argument 'object' is not instance of type (expected <class 'cudart.cudaUserObject_t, cuda.CUuserObject'>, found " + str(type(object)))
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     err = ccudart.cudaGraphRetainUserObject(<ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <ccudart.cudaUserObject_t>(<cudaUserObject_t>object)._ptr[0], count, flags)
 */
  }

  /* "cuda/cudart.pyx":19597
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     err = ccudart.cudaGraphRetainUserObject(<ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <ccudart.cudaUserObject_t>(<cudaUserObject_t>object)._ptr[0], count, flags)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaGraphRetainUserObject(((__pyx_t_4cuda_7ccudart_cudaGraph_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraph_t *)__pyx_v_graph)->__pyx_base._ptr[0])), ((__pyx_t_4cuda_7ccudart_cudaUserObject_t)(((struct __pyx_obj_4cuda_6cudart_cudaUserObject_t *)__pyx_v_object)->__pyx_base._ptr[0])), __pyx_v_count, __pyx_v_flags); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 19597, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":19598
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     err = ccudart.cudaGraphRetainUserObject(<ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <ccudart.cudaUserObject_t>(<cudaUserObject_t>object)._ptr[0], count, 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, 19598, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 19598, __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_4 = (__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_4)) __PYX_ERR(0, 19598, __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, 19598, __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":19554
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphRetainUserObject", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":19601
 * 
 * @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_505cudaGraphReleaseUserObject(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_504cudaGraphReleaseUserObject[] = "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 : CUgraph or cudaGraph_t\n        The graph that will release the reference\n    object : Any\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        cudaSuccess\n        cudaErrorInvalidValue\n    None\n        None\n\n    See Also\n    --------\n    cudaUserObjectCreate\n    cudaUserObjectRetain\n    cudaUserObjectRelease\n    cudaGraphRetainUserObject\n    cudaGraphCreate\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_505cudaGraphReleaseUserObject = {"cudaGraphReleaseUserObject", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_505cudaGraphReleaseUserObject, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_504cudaGraphReleaseUserObject};
static PyObject *__pyx_pw_4cuda_6cudart_505cudaGraphReleaseUserObject(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, 19601, __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, 19601, __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, 19601, __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, 19601, __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, 19601, __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_504cudaGraphReleaseUserObject(__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_504cudaGraphReleaseUserObject(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, PyObject *__pyx_v_object, unsigned int __pyx_v_count) {
  __pyx_t_4cuda_7ccudart_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;
  __pyx_t_4cuda_7ccudart_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__594)
  __Pyx_RefNannySetupContext("cudaGraphReleaseUserObject", 0);
  __Pyx_TraceCall("cudaGraphReleaseUserObject", __pyx_f[0], 19601, 0, __PYX_ERR(0, 19601, __pyx_L1_error));

  /* "cuda/cudart.pyx":19635
 *     cudaGraphCreate
 *     """
 *     if not isinstance(object, (cudaUserObject_t, cuda.CUuserObject)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'object' is not instance of type (expected <class 'cudart.cudaUserObject_t, cuda.CUuserObject'>, found " + str(type(object)))
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_object, __pyx_ptype_4cuda_6cudart_cudaUserObject_t); 
  __pyx_t_3 = (__pyx_t_2 != 0);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_object, __pyx_ptype_4cuda_4cuda_CUuserObject); 
  __pyx_t_2 = (__pyx_t_3 != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cudart.pyx":19636
 *     """
 *     if not isinstance(object, (cudaUserObject_t, cuda.CUuserObject)):
 *         raise TypeError("Argument 'object' is not instance of type (expected <class 'cudart.cudaUserObject_t, cuda.CUuserObject'>, found " + str(type(object)))             # <<<<<<<<<<<<<<
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_object))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19636, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_object_is_not_instance, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 19636, __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, 19636, __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, 19636, __pyx_L1_error)

    /* "cuda/cudart.pyx":19635
 *     cudaGraphCreate
 *     """
 *     if not isinstance(object, (cudaUserObject_t, cuda.CUuserObject)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'object' is not instance of type (expected <class 'cudart.cudaUserObject_t, cuda.CUuserObject'>, found " + str(type(object)))
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 */
  }

  /* "cuda/cudart.pyx":19637
 *     if not isinstance(object, (cudaUserObject_t, cuda.CUuserObject)):
 *         raise TypeError("Argument 'object' is not instance of type (expected <class 'cudart.cudaUserObject_t, cuda.CUuserObject'>, found " + str(type(object)))
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     err = ccudart.cudaGraphReleaseUserObject(<ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <ccudart.cudaUserObject_t>(<cudaUserObject_t>object)._ptr[0], count)
 */
  __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)) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "cuda/cudart.pyx":19638
 *         raise TypeError("Argument 'object' is not instance of type (expected <class 'cudart.cudaUserObject_t, cuda.CUuserObject'>, found " + str(type(object)))
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))             # <<<<<<<<<<<<<<
 *     err = ccudart.cudaGraphReleaseUserObject(<ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <ccudart.cudaUserObject_t>(<cudaUserObject_t>object)._ptr[0], count)
 *     return (cudaError_t(err),)
 */
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), ((PyObject *)Py_TYPE(__pyx_v_graph))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19638, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Argument_graph_is_not_instance_o, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 19638, __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, 19638, __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, 19638, __pyx_L1_error)

    /* "cuda/cudart.pyx":19637
 *     if not isinstance(object, (cudaUserObject_t, cuda.CUuserObject)):
 *         raise TypeError("Argument 'object' is not instance of type (expected <class 'cudart.cudaUserObject_t, cuda.CUuserObject'>, found " + str(type(object)))
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     err = ccudart.cudaGraphReleaseUserObject(<ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <ccudart.cudaUserObject_t>(<cudaUserObject_t>object)._ptr[0], count)
 */
  }

  /* "cuda/cudart.pyx":19639
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     err = ccudart.cudaGraphReleaseUserObject(<ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <ccudart.cudaUserObject_t>(<cudaUserObject_t>object)._ptr[0], count)             # <<<<<<<<<<<<<<
 *     return (cudaError_t(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_7ccudart_cudaGraphReleaseUserObject(((__pyx_t_4cuda_7ccudart_cudaGraph_t)(((struct __pyx_obj_4cuda_6cudart_cudaGraph_t *)__pyx_v_graph)->__pyx_base._ptr[0])), ((__pyx_t_4cuda_7ccudart_cudaUserObject_t)(((struct __pyx_obj_4cuda_6cudart_cudaUserObject_t *)__pyx_v_object)->__pyx_base._ptr[0])), __pyx_v_count); if (unlikely(__pyx_t_6 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 19639, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cudart.pyx":19640
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 *     err = ccudart.cudaGraphReleaseUserObject(<ccudart.cudaGraph_t>(<cudaGraph_t>graph)._ptr[0], <ccudart.cudaUserObject_t>(<cudaUserObject_t>object)._ptr[0], count)
 *     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, 19640, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 19640, __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_4 = (__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_4)) __PYX_ERR(0, 19640, __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, 19640, __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":19601
 * 
 * @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_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cudart.cudaGraphReleaseUserObject", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cudart.pyx":19643
 * 
 * @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_507cudaGetDriverEntryPoint(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_506cudaGetDriverEntryPoint[] = "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 cudaErrorSymbolNotFound if the requested driver\n    function is not supported on the platform, no ABI compatible driver\n    function exists for the CUDA runtime version or if the driver symbol is\n    invalid.\n\n    The requested flags can be: ::cudaEnableDefault: This is the default\n    mode. This is equivalent to cudaEnablePerThreadDefaultStream if the\n    code is compiled with default-stream per-thread compilation flag or the\n    macro CUDA_API_PER_THREAD_DEFAULT_STREAM is defined;\n    cudaEnableLegacyStream otherwise. ::cudaEnableLegacyStream: This will\n    enable the search for all driver symbols that match the requested\n    driver symbol name except the corresponding per-thread versions.\n    ::cudaEnablePerThreadDefaultStream: This will enable the search for all\n    driver symbols that match the requested driver symbol name including\n    the per-thread versions. If a per-thread version is not found, the API\n    will return the legacy version of the driver function.\n\n    Parameters\n    ----------\n    symbol : bytes\n        The base name of the driver API function to look for. As an\n        e""xample, for the driver API cuMemAlloc_v2, `symbol` would be\n        cuMemAlloc. Note that the API will use the CUDA runtime version to\n        return the address to the most recent ABI compatible driver symbol,\n        cuMemAlloc or cuMemAlloc_v2.\n    flags : unsigned long long\n        Flags to specify search options.\n\n    Returns\n    -------\n    cudaError_t\n        cudaSuccess\n        cudaErrorInvalidValue\n        cudaErrorNotSupported\n        cudaErrorSymbolNotFound\n    funcPtr : int\n        Location to return the function pointer to the requested driver\n        function\n\n    See Also\n    --------\n    cuGetProcAddress\n    ";
static PyMethodDef __pyx_mdef_4cuda_6cudart_507cudaGetDriverEntryPoint = {"cudaGetDriverEntryPoint", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_507cudaGetDriverEntryPoint, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_506cudaGetDriverEntryPoint};
static PyObject *__pyx_pw_4cuda_6cudart_507cudaGetDriverEntryPoint(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, 19643, __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, 19643, __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, 19643, __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, 19643, __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, 19643, __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_506cudaGetDriverEntryPoint(__pyx_self, __pyx_v_symbol, __pyx_v_flags);

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

static PyObject *__pyx_pf_4cuda_6cudart_506cudaGetDriverEntryPoint(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;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __pyx_t_4cuda_7ccudart_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__595)
  __Pyx_RefNannySetupContext("cudaGetDriverEntryPoint", 0);
  __Pyx_TraceCall("cudaGetDriverEntryPoint", __pyx_f[0], 19643, 0, __PYX_ERR(0, 19643, __pyx_L1_error));

  /* "cuda/cudart.pyx":19704
 *     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":19705
 *     """
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 19705, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cudart.pyx":19706
 *     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, 19706, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19706, __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, 19706, __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, 19706, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19706, __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":19643
 * 
 * @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":19709
 * 
 * @cython.embedsignature(True)
 * def cudaGetExportTable(pExportTableId : cudaUUID_t):             # <<<<<<<<<<<<<<
 *     """"""
 *     cdef void_ptr ppExportTable = 0
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_509cudaGetExportTable(PyObject *__pyx_self, PyObject *__pyx_v_pExportTableId); /*proto*/
static char __pyx_doc_4cuda_6cudart_508cudaGetExportTable[] = "cudaGetExportTable(cudaUUID_t pExportTableId: cudaUUID_t)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_509cudaGetExportTable = {"cudaGetExportTable", (PyCFunction)__pyx_pw_4cuda_6cudart_509cudaGetExportTable, METH_O, __pyx_doc_4cuda_6cudart_508cudaGetExportTable};
static PyObject *__pyx_pw_4cuda_6cudart_509cudaGetExportTable(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, 19709, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_6cudart_508cudaGetExportTable(__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_508cudaGetExportTable(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_6cudart_cudaUUID_t *__pyx_v_pExportTableId) {
  __pyx_t_4cuda_6cudart_void_ptr __pyx_v_ppExportTable;
  __pyx_t_4cuda_7ccudart_cudaUUID_t *__pyx_v_cpExportTableId_ptr;
  __pyx_t_4cuda_7ccudart_cudaError_t __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  struct __pyx_t_4cuda_7ccudart_CUuuid_st *__pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  __pyx_t_4cuda_7ccudart_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__596)
  __Pyx_RefNannySetupContext("cudaGetExportTable", 0);
  __Pyx_TraceCall("cudaGetExportTable", __pyx_f[0], 19709, 0, __PYX_ERR(0, 19709, __pyx_L1_error));

  /* "cuda/cudart.pyx":19711
 * 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":19712
 *     """"""
 *     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, 19712, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 19712, __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":19713
 *     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 == ((__pyx_t_4cuda_7ccudart_cudaError_t)__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver) && PyErr_Occurred())) __PYX_ERR(0, 19713, __pyx_L1_error)
  __pyx_v_err = __pyx_t_4;

  /* "cuda/cudart.pyx":19714
 *     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, 19714, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 19714, __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, 19714, __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, 19714, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 19714, __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":19709
 * 
 * @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":19717
 * 
 * @cython.embedsignature(True)
 * def make_cudaPitchedPtr(d, size_t p, size_t xsz, size_t ysz):             # <<<<<<<<<<<<<<
 *     """"""
 *     cd = utils.HelperInputVoidPtr(d)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_511make_cudaPitchedPtr(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_510make_cudaPitchedPtr[] = "make_cudaPitchedPtr(d, size_t p, size_t xsz, size_t ysz)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_511make_cudaPitchedPtr = {"make_cudaPitchedPtr", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_511make_cudaPitchedPtr, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_510make_cudaPitchedPtr};
static PyObject *__pyx_pw_4cuda_6cudart_511make_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, 19717, __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, 19717, __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, 19717, __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, 19717, __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, 19717, __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, 19717, __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, 19717, __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, 19717, __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_510make_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_510make_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 __pyx_t_4cuda_7ccudart_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__597)
  __Pyx_RefNannySetupContext("make_cudaPitchedPtr", 0);
  __Pyx_TraceCall("make_cudaPitchedPtr", __pyx_f[0], 19717, 0, __PYX_ERR(0, 19717, __pyx_L1_error));

  /* "cuda/cudart.pyx":19719
 * def make_cudaPitchedPtr(d, size_t p, size_t xsz, size_t ysz):
 *     """"""
 *     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, 19719, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cd = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":19720
 *     """"""
 *     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, 19720, __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, 19720, __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":19722
 *     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":19723
 *     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, 19723, __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":19724
 *     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":19725
 *     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":19717
 * 
 * @cython.embedsignature(True)
 * def make_cudaPitchedPtr(d, size_t p, size_t xsz, size_t ysz):             # <<<<<<<<<<<<<<
 *     """"""
 *     cd = utils.HelperInputVoidPtr(d)
 */

  /* 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":19728
 * 
 * @cython.embedsignature(True)
 * def make_cudaPos(size_t x, size_t y, size_t z):             # <<<<<<<<<<<<<<
 *     """"""
 *     cdef ccudart.cudaPos err
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_513make_cudaPos(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_512make_cudaPos[] = "make_cudaPos(size_t x, size_t y, size_t z)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_513make_cudaPos = {"make_cudaPos", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_513make_cudaPos, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_512make_cudaPos};
static PyObject *__pyx_pw_4cuda_6cudart_513make_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, 19728, __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, 19728, __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, 19728, __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, 19728, __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, 19728, __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, 19728, __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, 19728, __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_512make_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_512make_cudaPos(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_x, size_t __pyx_v_y, size_t __pyx_v_z) {
  struct __pyx_t_4cuda_7ccudart_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__598)
  __Pyx_RefNannySetupContext("make_cudaPos", 0);
  __Pyx_TraceCall("make_cudaPos", __pyx_f[0], 19728, 0, __PYX_ERR(0, 19728, __pyx_L1_error));

  /* "cuda/cudart.pyx":19731
 *     """"""
 *     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":19732
 *     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, 19732, __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":19733
 *     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":19734
 *     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":19728
 * 
 * @cython.embedsignature(True)
 * def make_cudaPos(size_t x, size_t y, size_t z):             # <<<<<<<<<<<<<<
 *     """"""
 *     cdef ccudart.cudaPos err
 */

  /* 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":19737
 * 
 * @cython.embedsignature(True)
 * def make_cudaExtent(size_t w, size_t h, size_t d):             # <<<<<<<<<<<<<<
 *     """"""
 *     cdef ccudart.cudaExtent err
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_515make_cudaExtent(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4cuda_6cudart_514make_cudaExtent[] = "make_cudaExtent(size_t w, size_t h, size_t d)";
static PyMethodDef __pyx_mdef_4cuda_6cudart_515make_cudaExtent = {"make_cudaExtent", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4cuda_6cudart_515make_cudaExtent, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4cuda_6cudart_514make_cudaExtent};
static PyObject *__pyx_pw_4cuda_6cudart_515make_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, 19737, __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, 19737, __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, 19737, __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, 19737, __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, 19737, __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, 19737, __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, 19737, __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_514make_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_514make_cudaExtent(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_w, size_t __pyx_v_h, size_t __pyx_v_d) {
  struct __pyx_t_4cuda_7ccudart_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__599)
  __Pyx_RefNannySetupContext("make_cudaExtent", 0);
  __Pyx_TraceCall("make_cudaExtent", __pyx_f[0], 19737, 0, __PYX_ERR(0, 19737, __pyx_L1_error));

  /* "cuda/cudart.pyx":19740
 *     """"""
 *     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":19741
 *     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, 19741, __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":19742
 *     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":19743
 *     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":19737
 * 
 * @cython.embedsignature(True)
 * def make_cudaExtent(size_t w, size_t h, size_t d):             # <<<<<<<<<<<<<<
 *     """"""
 *     cdef ccudart.cudaExtent err
 */

  /* 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":19746
 * 
 * @cython.embedsignature(True)
 * def sizeof(objType):             # <<<<<<<<<<<<<<
 *     """ Returns the size of provided CUDA Python structure in bytes
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_6cudart_517sizeof(PyObject *__pyx_self, PyObject *__pyx_v_objType); /*proto*/
static char __pyx_doc_4cuda_6cudart_516sizeof[] = "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_517sizeof = {"sizeof", (PyCFunction)__pyx_pw_4cuda_6cudart_517sizeof, METH_O, __pyx_doc_4cuda_6cudart_516sizeof};
static PyObject *__pyx_pw_4cuda_6cudart_517sizeof(PyObject *__pyx_self, PyObject *__pyx_v_objType) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("sizeof (wrapper)", 0);
  __pyx_r = __pyx_pf_4cuda_6cudart_516sizeof(__pyx_self, ((PyObject *)__pyx_v_objType));

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

static PyObject *__pyx_pf_4cuda_6cudart_516sizeof(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__600)
  __Pyx_RefNannySetupContext("sizeof", 0);
  __Pyx_TraceCall("sizeof", __pyx_f[0], 19746, 0, __PYX_ERR(0, 19746, __pyx_L1_error));

  /* "cuda/cudart.pyx":19759
 *         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, 19759, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19759, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

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

    /* "cuda/cudart.pyx":19759
 *         The size of `objType` in bytes
 *     """
 *     if objType == dim3:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.dim3)
 *     if objType == cudaChannelFormatDesc:
 */
  }

  /* "cuda/cudart.pyx":19761
 *     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, 19761, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19761, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

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

    /* "cuda/cudart.pyx":19761
 *     if objType == dim3:
 *         return sizeof(ccudart.dim3)
 *     if objType == cudaChannelFormatDesc:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaChannelFormatDesc)
 *     if objType == cudaArraySparseProperties:
 */
  }

  /* "cuda/cudart.pyx":19763
 *     if objType == cudaChannelFormatDesc:
 *         return sizeof(ccudart.cudaChannelFormatDesc)
 *     if objType == cudaArraySparseProperties:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaArraySparseProperties)
 *     if objType == cudaPitchedPtr:
 */
  __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, 19763, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19763, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":19764
 *         return sizeof(ccudart.cudaChannelFormatDesc)
 *     if objType == cudaArraySparseProperties:
 *         return sizeof(ccudart.cudaArraySparseProperties)             # <<<<<<<<<<<<<<
 *     if objType == cudaPitchedPtr:
 *         return sizeof(ccudart.cudaPitchedPtr)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct __pyx_t_4cuda_7ccudart_cudaArraySparseProperties))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19764, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":19763
 *     if objType == cudaChannelFormatDesc:
 *         return sizeof(ccudart.cudaChannelFormatDesc)
 *     if objType == cudaArraySparseProperties:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaArraySparseProperties)
 *     if objType == cudaPitchedPtr:
 */
  }

  /* "cuda/cudart.pyx":19765
 *     if objType == cudaArraySparseProperties:
 *         return sizeof(ccudart.cudaArraySparseProperties)
 *     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, 19765, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19765, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":19766
 *         return sizeof(ccudart.cudaArraySparseProperties)
 *     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 __pyx_t_4cuda_7ccudart_cudaPitchedPtr))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19766, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":19765
 *     if objType == cudaArraySparseProperties:
 *         return sizeof(ccudart.cudaArraySparseProperties)
 *     if objType == cudaPitchedPtr:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaPitchedPtr)
 *     if objType == cudaExtent:
 */
  }

  /* "cuda/cudart.pyx":19767
 *     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, 19767, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19767, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

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

    /* "cuda/cudart.pyx":19767
 *     if objType == cudaPitchedPtr:
 *         return sizeof(ccudart.cudaPitchedPtr)
 *     if objType == cudaExtent:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaExtent)
 *     if objType == cudaPos:
 */
  }

  /* "cuda/cudart.pyx":19769
 *     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, 19769, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19769, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

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

    /* "cuda/cudart.pyx":19769
 *     if objType == cudaExtent:
 *         return sizeof(ccudart.cudaExtent)
 *     if objType == cudaPos:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaPos)
 *     if objType == cudaMemcpy3DParms:
 */
  }

  /* "cuda/cudart.pyx":19771
 *     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, 19771, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19771, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

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

    /* "cuda/cudart.pyx":19771
 *     if objType == cudaPos:
 *         return sizeof(ccudart.cudaPos)
 *     if objType == cudaMemcpy3DParms:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaMemcpy3DParms)
 *     if objType == cudaMemcpy3DPeerParms:
 */
  }

  /* "cuda/cudart.pyx":19773
 *     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, 19773, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19773, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

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

    /* "cuda/cudart.pyx":19773
 *     if objType == cudaMemcpy3DParms:
 *         return sizeof(ccudart.cudaMemcpy3DParms)
 *     if objType == cudaMemcpy3DPeerParms:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaMemcpy3DPeerParms)
 *     if objType == cudaMemsetParams:
 */
  }

  /* "cuda/cudart.pyx":19775
 *     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, 19775, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19775, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

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

    /* "cuda/cudart.pyx":19775
 *     if objType == cudaMemcpy3DPeerParms:
 *         return sizeof(ccudart.cudaMemcpy3DPeerParms)
 *     if objType == cudaMemsetParams:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaMemsetParams)
 *     if objType == cudaAccessPolicyWindow:
 */
  }

  /* "cuda/cudart.pyx":19777
 *     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, 19777, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19777, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

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

    /* "cuda/cudart.pyx":19777
 *     if objType == cudaMemsetParams:
 *         return sizeof(ccudart.cudaMemsetParams)
 *     if objType == cudaAccessPolicyWindow:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaAccessPolicyWindow)
 *     if objType == cudaHostNodeParams:
 */
  }

  /* "cuda/cudart.pyx":19779
 *     if objType == cudaAccessPolicyWindow:
 *         return sizeof(ccudart.cudaAccessPolicyWindow)
 *     if objType == cudaHostNodeParams:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaHostNodeParams)
 *     if objType == cudaStreamAttrValue:
 */
  __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, 19779, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19779, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":19780
 *         return sizeof(ccudart.cudaAccessPolicyWindow)
 *     if objType == cudaHostNodeParams:
 *         return sizeof(ccudart.cudaHostNodeParams)             # <<<<<<<<<<<<<<
 *     if objType == cudaStreamAttrValue:
 *         return sizeof(ccudart.cudaStreamAttrValue)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct __pyx_t_4cuda_7ccudart_cudaHostNodeParams))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19780, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":19779
 *     if objType == cudaAccessPolicyWindow:
 *         return sizeof(ccudart.cudaAccessPolicyWindow)
 *     if objType == cudaHostNodeParams:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaHostNodeParams)
 *     if objType == cudaStreamAttrValue:
 */
  }

  /* "cuda/cudart.pyx":19781
 *     if objType == cudaHostNodeParams:
 *         return sizeof(ccudart.cudaHostNodeParams)
 *     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, 19781, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19781, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":19782
 *         return sizeof(ccudart.cudaHostNodeParams)
 *     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(union __pyx_t_4cuda_7ccudart_cudaStreamAttrValue))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19782, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":19781
 *     if objType == cudaHostNodeParams:
 *         return sizeof(ccudart.cudaHostNodeParams)
 *     if objType == cudaStreamAttrValue:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaStreamAttrValue)
 *     if objType == cudaKernelNodeAttrValue:
 */
  }

  /* "cuda/cudart.pyx":19783
 *     if objType == cudaStreamAttrValue:
 *         return sizeof(ccudart.cudaStreamAttrValue)
 *     if objType == cudaKernelNodeAttrValue:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaKernelNodeAttrValue)
 *     if objType == cudaResourceDesc:
 */
  __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, 19783, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19783, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":19784
 *         return sizeof(ccudart.cudaStreamAttrValue)
 *     if objType == cudaKernelNodeAttrValue:
 *         return sizeof(ccudart.cudaKernelNodeAttrValue)             # <<<<<<<<<<<<<<
 *     if objType == cudaResourceDesc:
 *         return sizeof(ccudart.cudaResourceDesc)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(union __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrValue))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19784, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":19783
 *     if objType == cudaStreamAttrValue:
 *         return sizeof(ccudart.cudaStreamAttrValue)
 *     if objType == cudaKernelNodeAttrValue:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaKernelNodeAttrValue)
 *     if objType == cudaResourceDesc:
 */
  }

  /* "cuda/cudart.pyx":19785
 *     if objType == cudaKernelNodeAttrValue:
 *         return sizeof(ccudart.cudaKernelNodeAttrValue)
 *     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, 19785, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19785, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":19786
 *         return sizeof(ccudart.cudaKernelNodeAttrValue)
 *     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 __pyx_t_4cuda_7ccudart_cudaResourceDesc))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19786, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":19785
 *     if objType == cudaKernelNodeAttrValue:
 *         return sizeof(ccudart.cudaKernelNodeAttrValue)
 *     if objType == cudaResourceDesc:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaResourceDesc)
 *     if objType == cudaResourceViewDesc:
 */
  }

  /* "cuda/cudart.pyx":19787
 *     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, 19787, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19787, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

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

    /* "cuda/cudart.pyx":19787
 *     if objType == cudaResourceDesc:
 *         return sizeof(ccudart.cudaResourceDesc)
 *     if objType == cudaResourceViewDesc:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaResourceViewDesc)
 *     if objType == cudaPointerAttributes:
 */
  }

  /* "cuda/cudart.pyx":19789
 *     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, 19789, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19789, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

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

    /* "cuda/cudart.pyx":19789
 *     if objType == cudaResourceViewDesc:
 *         return sizeof(ccudart.cudaResourceViewDesc)
 *     if objType == cudaPointerAttributes:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaPointerAttributes)
 *     if objType == cudaFuncAttributes:
 */
  }

  /* "cuda/cudart.pyx":19791
 *     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, 19791, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19791, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

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

    /* "cuda/cudart.pyx":19791
 *     if objType == cudaPointerAttributes:
 *         return sizeof(ccudart.cudaPointerAttributes)
 *     if objType == cudaFuncAttributes:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaFuncAttributes)
 *     if objType == cudaMemLocation:
 */
  }

  /* "cuda/cudart.pyx":19793
 *     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, 19793, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19793, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

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

    /* "cuda/cudart.pyx":19793
 *     if objType == cudaFuncAttributes:
 *         return sizeof(ccudart.cudaFuncAttributes)
 *     if objType == cudaMemLocation:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaMemLocation)
 *     if objType == cudaMemAccessDesc:
 */
  }

  /* "cuda/cudart.pyx":19795
 *     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, 19795, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19795, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

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

    /* "cuda/cudart.pyx":19795
 *     if objType == cudaMemLocation:
 *         return sizeof(ccudart.cudaMemLocation)
 *     if objType == cudaMemAccessDesc:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaMemAccessDesc)
 *     if objType == cudaMemPoolProps:
 */
  }

  /* "cuda/cudart.pyx":19797
 *     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, 19797, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19797, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

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

    /* "cuda/cudart.pyx":19797
 *     if objType == cudaMemAccessDesc:
 *         return sizeof(ccudart.cudaMemAccessDesc)
 *     if objType == cudaMemPoolProps:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaMemPoolProps)
 *     if objType == cudaMemPoolPtrExportData:
 */
  }

  /* "cuda/cudart.pyx":19799
 *     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, 19799, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19799, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

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

    /* "cuda/cudart.pyx":19799
 *     if objType == cudaMemPoolProps:
 *         return sizeof(ccudart.cudaMemPoolProps)
 *     if objType == cudaMemPoolPtrExportData:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaMemPoolPtrExportData)
 *     if objType == cudaMemAllocNodeParams:
 */
  }

  /* "cuda/cudart.pyx":19801
 *     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, 19801, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19801, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

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

    /* "cuda/cudart.pyx":19801
 *     if objType == cudaMemPoolPtrExportData:
 *         return sizeof(ccudart.cudaMemPoolPtrExportData)
 *     if objType == cudaMemAllocNodeParams:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaMemAllocNodeParams)
 *     if objType == CUuuid_st:
 */
  }

  /* "cuda/cudart.pyx":19803
 *     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, 19803, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19803, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

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

    /* "cuda/cudart.pyx":19803
 *     if objType == cudaMemAllocNodeParams:
 *         return sizeof(ccudart.cudaMemAllocNodeParams)
 *     if objType == CUuuid_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.CUuuid_st)
 *     if objType == cudaDeviceProp:
 */
  }

  /* "cuda/cudart.pyx":19805
 *     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, 19805, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19805, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

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

    /* "cuda/cudart.pyx":19805
 *     if objType == CUuuid_st:
 *         return sizeof(ccudart.CUuuid_st)
 *     if objType == cudaDeviceProp:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaDeviceProp)
 *     if objType == cudaIpcEventHandle_st:
 */
  }

  /* "cuda/cudart.pyx":19807
 *     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, 19807, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19807, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

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

    /* "cuda/cudart.pyx":19807
 *     if objType == cudaDeviceProp:
 *         return sizeof(ccudart.cudaDeviceProp)
 *     if objType == cudaIpcEventHandle_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaIpcEventHandle_st)
 *     if objType == cudaIpcMemHandle_st:
 */
  }

  /* "cuda/cudart.pyx":19809
 *     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, 19809, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19809, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

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

    /* "cuda/cudart.pyx":19809
 *     if objType == cudaIpcEventHandle_st:
 *         return sizeof(ccudart.cudaIpcEventHandle_st)
 *     if objType == cudaIpcMemHandle_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaIpcMemHandle_st)
 *     if objType == cudaExternalMemoryHandleDesc:
 */
  }

  /* "cuda/cudart.pyx":19811
 *     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, 19811, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19811, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

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

    /* "cuda/cudart.pyx":19811
 *     if objType == cudaIpcMemHandle_st:
 *         return sizeof(ccudart.cudaIpcMemHandle_st)
 *     if objType == cudaExternalMemoryHandleDesc:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaExternalMemoryHandleDesc)
 *     if objType == cudaExternalMemoryBufferDesc:
 */
  }

  /* "cuda/cudart.pyx":19813
 *     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, 19813, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19813, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

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

    /* "cuda/cudart.pyx":19813
 *     if objType == cudaExternalMemoryHandleDesc:
 *         return sizeof(ccudart.cudaExternalMemoryHandleDesc)
 *     if objType == cudaExternalMemoryBufferDesc:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaExternalMemoryBufferDesc)
 *     if objType == cudaExternalMemoryMipmappedArrayDesc:
 */
  }

  /* "cuda/cudart.pyx":19815
 *     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, 19815, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19815, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

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

    /* "cuda/cudart.pyx":19815
 *     if objType == cudaExternalMemoryBufferDesc:
 *         return sizeof(ccudart.cudaExternalMemoryBufferDesc)
 *     if objType == cudaExternalMemoryMipmappedArrayDesc:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaExternalMemoryMipmappedArrayDesc)
 *     if objType == cudaExternalSemaphoreHandleDesc:
 */
  }

  /* "cuda/cudart.pyx":19817
 *     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, 19817, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19817, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

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

    /* "cuda/cudart.pyx":19817
 *     if objType == cudaExternalMemoryMipmappedArrayDesc:
 *         return sizeof(ccudart.cudaExternalMemoryMipmappedArrayDesc)
 *     if objType == cudaExternalSemaphoreHandleDesc:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaExternalSemaphoreHandleDesc)
 *     if objType == cudaExternalSemaphoreSignalParams:
 */
  }

  /* "cuda/cudart.pyx":19819
 *     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, 19819, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19819, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

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

    /* "cuda/cudart.pyx":19819
 *     if objType == cudaExternalSemaphoreHandleDesc:
 *         return sizeof(ccudart.cudaExternalSemaphoreHandleDesc)
 *     if objType == cudaExternalSemaphoreSignalParams:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaExternalSemaphoreSignalParams)
 *     if objType == cudaExternalSemaphoreWaitParams:
 */
  }

  /* "cuda/cudart.pyx":19821
 *     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, 19821, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19821, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

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

    /* "cuda/cudart.pyx":19821
 *     if objType == cudaExternalSemaphoreSignalParams:
 *         return sizeof(ccudart.cudaExternalSemaphoreSignalParams)
 *     if objType == cudaExternalSemaphoreWaitParams:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaExternalSemaphoreWaitParams)
 *     if objType == cudaKernelNodeParams:
 */
  }

  /* "cuda/cudart.pyx":19823
 *     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, 19823, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19823, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

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

    /* "cuda/cudart.pyx":19823
 *     if objType == cudaExternalSemaphoreWaitParams:
 *         return sizeof(ccudart.cudaExternalSemaphoreWaitParams)
 *     if objType == cudaKernelNodeParams:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaKernelNodeParams)
 *     if objType == cudaExternalSemaphoreSignalNodeParams:
 */
  }

  /* "cuda/cudart.pyx":19825
 *     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, 19825, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19825, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

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

    /* "cuda/cudart.pyx":19825
 *     if objType == cudaKernelNodeParams:
 *         return sizeof(ccudart.cudaKernelNodeParams)
 *     if objType == cudaExternalSemaphoreSignalNodeParams:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaExternalSemaphoreSignalNodeParams)
 *     if objType == cudaExternalSemaphoreWaitNodeParams:
 */
  }

  /* "cuda/cudart.pyx":19827
 *     if objType == cudaExternalSemaphoreSignalNodeParams:
 *         return sizeof(ccudart.cudaExternalSemaphoreSignalNodeParams)
 *     if objType == cudaExternalSemaphoreWaitNodeParams:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaExternalSemaphoreWaitNodeParams)
 *     if objType == cudaTextureDesc:
 */
  __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, 19827, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19827, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":19828
 *         return sizeof(ccudart.cudaExternalSemaphoreSignalNodeParams)
 *     if objType == cudaExternalSemaphoreWaitNodeParams:
 *         return sizeof(ccudart.cudaExternalSemaphoreWaitNodeParams)             # <<<<<<<<<<<<<<
 *     if objType == cudaTextureDesc:
 *         return sizeof(ccudart.cudaTextureDesc)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreWaitNodeParams))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19828, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":19827
 *     if objType == cudaExternalSemaphoreSignalNodeParams:
 *         return sizeof(ccudart.cudaExternalSemaphoreSignalNodeParams)
 *     if objType == cudaExternalSemaphoreWaitNodeParams:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaExternalSemaphoreWaitNodeParams)
 *     if objType == cudaTextureDesc:
 */
  }

  /* "cuda/cudart.pyx":19829
 *     if objType == cudaExternalSemaphoreWaitNodeParams:
 *         return sizeof(ccudart.cudaExternalSemaphoreWaitNodeParams)
 *     if objType == cudaTextureDesc:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaTextureDesc)
 *     if objType == cudaArray_t:
 */
  __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, 19829, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19829, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":19830
 *         return sizeof(ccudart.cudaExternalSemaphoreWaitNodeParams)
 *     if objType == cudaTextureDesc:
 *         return sizeof(ccudart.cudaTextureDesc)             # <<<<<<<<<<<<<<
 *     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_cudaTextureDesc))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19830, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":19829
 *     if objType == cudaExternalSemaphoreWaitNodeParams:
 *         return sizeof(ccudart.cudaExternalSemaphoreWaitNodeParams)
 *     if objType == cudaTextureDesc:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaTextureDesc)
 *     if objType == cudaArray_t:
 */
  }

  /* "cuda/cudart.pyx":19831
 *     if objType == cudaTextureDesc:
 *         return sizeof(ccudart.cudaTextureDesc)
 *     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, 19831, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19831, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":19832
 *         return sizeof(ccudart.cudaTextureDesc)
 *     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(__pyx_t_4cuda_7ccudart_cudaArray_t))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19832, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":19831
 *     if objType == cudaTextureDesc:
 *         return sizeof(ccudart.cudaTextureDesc)
 *     if objType == cudaArray_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaArray_t)
 *     if objType == cudaArray_const_t:
 */
  }

  /* "cuda/cudart.pyx":19833
 *     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, 19833, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19833, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

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

    /* "cuda/cudart.pyx":19833
 *     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":19835
 *     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, 19835, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19835, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

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

    /* "cuda/cudart.pyx":19835
 *     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":19837
 *     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, 19837, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19837, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

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

    /* "cuda/cudart.pyx":19837
 *     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":19839
 *     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, 19839, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19839, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

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

    /* "cuda/cudart.pyx":19839
 *     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":19841
 *     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, 19841, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19841, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

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

    /* "cuda/cudart.pyx":19841
 *     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":19843
 *     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, 19843, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19843, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

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

    /* "cuda/cudart.pyx":19843
 *     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":19845
 *     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, 19845, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19845, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

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

    /* "cuda/cudart.pyx":19845
 *     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":19847
 *     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, 19847, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19847, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

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

    /* "cuda/cudart.pyx":19847
 *     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":19849
 *     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, 19849, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19849, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

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

    /* "cuda/cudart.pyx":19849
 *     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":19851
 *     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, 19851, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19851, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

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

    /* "cuda/cudart.pyx":19851
 *     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":19853
 *     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, 19853, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19853, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

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

    /* "cuda/cudart.pyx":19853
 *     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":19855
 *     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, 19855, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19855, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

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

    /* "cuda/cudart.pyx":19855
 *     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":19857
 *     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, 19857, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19857, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

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

    /* "cuda/cudart.pyx":19857
 *     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":19859
 *     if objType == cudaMemPool_t:
 *         return sizeof(ccudart.cudaMemPool_t)
 *     if objType == cudaGraphExec_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaGraphExec_t)
 *     if objType == cudaHostFn_t:
 */
  __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, 19859, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19859, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":19860
 *         return sizeof(ccudart.cudaMemPool_t)
 *     if objType == cudaGraphExec_t:
 *         return sizeof(ccudart.cudaGraphExec_t)             # <<<<<<<<<<<<<<
 *     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_cudaGraphExec_t))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19860, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":19859
 *     if objType == cudaMemPool_t:
 *         return sizeof(ccudart.cudaMemPool_t)
 *     if objType == cudaGraphExec_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaGraphExec_t)
 *     if objType == cudaHostFn_t:
 */
  }

  /* "cuda/cudart.pyx":19861
 *     if objType == cudaGraphExec_t:
 *         return sizeof(ccudart.cudaGraphExec_t)
 *     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, 19861, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19861, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":19862
 *         return sizeof(ccudart.cudaGraphExec_t)
 *     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(__pyx_t_4cuda_7ccudart_cudaHostFn_t))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19862, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":19861
 *     if objType == cudaGraphExec_t:
 *         return sizeof(ccudart.cudaGraphExec_t)
 *     if objType == cudaHostFn_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaHostFn_t)
 *     if objType == cudaStreamCallback_t:
 */
  }

  /* "cuda/cudart.pyx":19863
 *     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, 19863, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19863, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

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

    /* "cuda/cudart.pyx":19863
 *     if objType == cudaHostFn_t:
 *         return sizeof(ccudart.cudaHostFn_t)
 *     if objType == cudaStreamCallback_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaStreamCallback_t)
 *     if objType == CUuuid:
 */
  }

  /* "cuda/cudart.pyx":19865
 *     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, 19865, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19865, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

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

    /* "cuda/cudart.pyx":19865
 *     if objType == cudaStreamCallback_t:
 *         return sizeof(ccudart.cudaStreamCallback_t)
 *     if objType == CUuuid:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.CUuuid)
 *     if objType == cudaUUID_t:
 */
  }

  /* "cuda/cudart.pyx":19867
 *     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, 19867, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19867, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

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

    /* "cuda/cudart.pyx":19867
 *     if objType == CUuuid:
 *         return sizeof(ccudart.CUuuid)
 *     if objType == cudaUUID_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaUUID_t)
 *     if objType == cudaIpcEventHandle_t:
 */
  }

  /* "cuda/cudart.pyx":19869
 *     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, 19869, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19869, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

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

    /* "cuda/cudart.pyx":19869
 *     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":19871
 *     if objType == cudaIpcEventHandle_t:
 *         return sizeof(ccudart.cudaIpcEventHandle_t)
 *     if objType == cudaIpcMemHandle_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaIpcMemHandle_t)
 *     if objType == cudaSurfaceObject_t:
 */
  __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, 19871, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19871, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":19872
 *         return sizeof(ccudart.cudaIpcEventHandle_t)
 *     if objType == cudaIpcMemHandle_t:
 *         return sizeof(ccudart.cudaIpcMemHandle_t)             # <<<<<<<<<<<<<<
 *     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_cudaIpcMemHandle_t))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19872, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":19871
 *     if objType == cudaIpcEventHandle_t:
 *         return sizeof(ccudart.cudaIpcEventHandle_t)
 *     if objType == cudaIpcMemHandle_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaIpcMemHandle_t)
 *     if objType == cudaSurfaceObject_t:
 */
  }

  /* "cuda/cudart.pyx":19873
 *     if objType == cudaIpcMemHandle_t:
 *         return sizeof(ccudart.cudaIpcMemHandle_t)
 *     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, 19873, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19873, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cudart.pyx":19874
 *         return sizeof(ccudart.cudaIpcMemHandle_t)
 *     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(__pyx_t_4cuda_7ccudart_cudaSurfaceObject_t))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19874, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cudart.pyx":19873
 *     if objType == cudaIpcMemHandle_t:
 *         return sizeof(ccudart.cudaIpcMemHandle_t)
 *     if objType == cudaSurfaceObject_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccudart.cudaSurfaceObject_t)
 *     if objType == cudaTextureObject_t:
 */
  }

  /* "cuda/cudart.pyx":19875
 *     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, 19875, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 19875, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

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

    /* "cuda/cudart.pyx":19875
 *     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":19877
 *     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, 19877, __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, 19877, __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, 19877, __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, 19877, __pyx_L1_error)

  /* "cuda/cudart.pyx":19746
 * 
 * @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____pyx_t_4cuda_7ccudart_cudaTextureAddressMode")
 * cdef inline list __Pyx_carray_to_py_enum____pyx_t_4cuda_7ccudart_cudaTextureAddressMode(base_type *v, Py_ssize_t length):             # <<<<<<<<<<<<<<
 *     cdef size_t i
 *     cdef object value
 */

static CYTHON_INLINE PyObject *__Pyx_carray_to_py_enum____pyx_t_4cuda_7ccudart_cudaTextureAddressMode(enum __pyx_t_4cuda_7ccudart_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____pyx_t_4cuda_7ccudart_cudaTextureAddressMode", 0);
  __Pyx_TraceCall("__Pyx_carray_to_py_enum____pyx_t_4cuda_7ccudart_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____pyx_t_4cuda_7ccudart_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____pyx_t_4cuda_7ccudart_cudaTextureAddressMode")
 * cdef inline list __Pyx_carray_to_py_enum____pyx_t_4cuda_7ccudart_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____pyx_t_4cuda_7ccudart_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____pyx_t_4cuda_7ccudart_cudaTextureAddressMode")
 * cdef inline tuple __Pyx_carray_to_tuple_enum____pyx_t_4cuda_7ccudart_cudaTextureAddressMode(base_type *v, Py_ssize_t length):             # <<<<<<<<<<<<<<
 *     cdef size_t i
 *     cdef object value
 */

static CYTHON_INLINE PyObject *__Pyx_carray_to_tuple_enum____pyx_t_4cuda_7ccudart_cudaTextureAddressMode(enum __pyx_t_4cuda_7ccudart_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____pyx_t_4cuda_7ccudart_cudaTextureAddressMode", 0);
  __Pyx_TraceCall("__Pyx_carray_to_tuple_enum____pyx_t_4cuda_7ccudart_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____pyx_t_4cuda_7ccudart_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____pyx_t_4cuda_7ccudart_cudaTextureAddressMode")
 * cdef inline tuple __Pyx_carray_to_tuple_enum____pyx_t_4cuda_7ccudart_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____pyx_t_4cuda_7ccudart_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____pyx_t_4cuda_7ccudart_cudaTextureAddressMode")
 * cdef int __Pyx_carray_from_py_enum____pyx_t_4cuda_7ccudart_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____pyx_t_4cuda_7ccudart_cudaTextureAddressMode(PyObject *__pyx_v_o, enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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____pyx_t_4cuda_7ccudart_cudaTextureAddressMode", 0);
  __Pyx_TraceCall("__Pyx_carray_from_py_enum____pyx_t_4cuda_7ccudart_cudaTextureAddressMode", __pyx_f[1], 77, 0, __PYX_ERR(1, 77, __pyx_L1_error));

  /* "carray.from_py":78
 * @cname("__Pyx_carray_from_py_enum____pyx_t_4cuda_7ccudart_cudaTextureAddressMode")
 * cdef int __Pyx_carray_from_py_enum____pyx_t_4cuda_7ccudart_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____pyx_t_4cuda_7ccudart_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____pyx_t_4cuda_7ccudart_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____pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaTextureAddressMode)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_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____pyx_t_4cuda_7ccudart_cudaTextureAddressMode")
 * cdef int __Pyx_carray_from_py_enum____pyx_t_4cuda_7ccudart_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____pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute>  __pyx_convert_vector_from_py_enum____pyx_t_4cuda_7ccudart_cudaMemRangeAttribute(PyObject *__pyx_v_o) {
  std::vector<enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute>  __pyx_v_v;
  PyObject *__pyx_v_item = NULL;
  std::vector<enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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____pyx_t_4cuda_7ccudart_cudaMemRangeAttribute", 0);
  __Pyx_TraceCall("__pyx_convert_vector_from_py_enum____pyx_t_4cuda_7ccudart_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____pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute)__Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaMemRangeAttribute(__pyx_v_item)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 48, __pyx_L1_error)
    __pyx_v_v.push_back(((enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute)__pyx_t_5));

    /* "vector.from_py":47
 * cdef vector[X] __pyx_convert_vector_from_py_enum____pyx_t_4cuda_7ccudart_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____pyx_t_4cuda_7ccudart_cudaMemRangeAttribute")
 * cdef vector[X] __pyx_convert_vector_from_py_enum____pyx_t_4cuda_7ccudart_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____pyx_t_4cuda_7ccudart_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
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_6cudart_11cudaArray_t_5__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_cudaArray_t[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_11cudaArray_t_13getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_11cudaArray_t_12getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_11cudaArray_t_15__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_11cudaArray_t_14__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_11cudaArray_t_17__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_11cudaArray_t_16__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_11__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_6cudart_11cudaArray_t_11__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_9__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_7__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\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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_6cudart_17cudaArray_const_t_5__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_cudaArray_const_t[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_17cudaArray_const_t_13getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_17cudaArray_const_t_12getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_17cudaArray_const_t_15__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_17cudaArray_const_t_14__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_17cudaArray_const_t_17__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_17cudaArray_const_t_16__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_11__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_6cudart_17cudaArray_const_t_11__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_9__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_7__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\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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_6cudart_20cudaMipmappedArray_t_5__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_cudaMipmappedArray_t[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_20cudaMipmappedArray_t_13getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_20cudaMipmappedArray_t_12getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_20cudaMipmappedArray_t_15__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_20cudaMipmappedArray_t_14__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_20cudaMipmappedArray_t_17__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_20cudaMipmappedArray_t_16__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_11__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_6cudart_20cudaMipmappedArray_t_11__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_9__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_7__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\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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_6cudart_26cudaMipmappedArray_const_t_5__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_cudaMipmappedArray_const_t[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_26cudaMipmappedArray_const_t_13getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_26cudaMipmappedArray_const_t_12getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_26cudaMipmappedArray_const_t_15__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_26cudaMipmappedArray_const_t_14__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_26cudaMipmappedArray_const_t_17__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_26cudaMipmappedArray_const_t_16__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_11__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_6cudart_26cudaMipmappedArray_const_t_11__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_9__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_7__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\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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_6cudart_22cudaGraphicsResource_t_5__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_cudaGraphicsResource_t[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_22cudaGraphicsResource_t_13getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_22cudaGraphicsResource_t_12getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_22cudaGraphicsResource_t_15__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_22cudaGraphicsResource_t_14__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_22cudaGraphicsResource_t_17__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_22cudaGraphicsResource_t_16__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_11__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_6cudart_22cudaGraphicsResource_t_11__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_9__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_7__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\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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_6cudart_20cudaExternalMemory_t_5__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_cudaExternalMemory_t[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_20cudaExternalMemory_t_13getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_20cudaExternalMemory_t_12getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_20cudaExternalMemory_t_15__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_20cudaExternalMemory_t_14__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_20cudaExternalMemory_t_17__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_20cudaExternalMemory_t_16__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_11__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_6cudart_20cudaExternalMemory_t_11__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_9__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_7__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\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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_6cudart_23cudaExternalSemaphore_t_5__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_cudaExternalSemaphore_t[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_23cudaExternalSemaphore_t_13getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_23cudaExternalSemaphore_t_12getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_23cudaExternalSemaphore_t_15__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_23cudaExternalSemaphore_t_14__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_23cudaExternalSemaphore_t_17__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_23cudaExternalSemaphore_t_16__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_11__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_6cudart_23cudaExternalSemaphore_t_11__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_9__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_7__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\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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_6cudart_12cudaHostFn_t_5__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_cudaHostFn_t[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_12cudaHostFn_t_13getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_12cudaHostFn_t_12getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_12cudaHostFn_t_15__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_12cudaHostFn_t_14__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_12cudaHostFn_t_17__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_12cudaHostFn_t_16__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_11__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_6cudart_12cudaHostFn_t_11__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_9__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_7__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\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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4cuda_6cudart_20cudaStreamCallback_t_5__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_cudaStreamCallback_t[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_20cudaStreamCallback_t_13getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_20cudaStreamCallback_t_12getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_20cudaStreamCallback_t_15__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_20cudaStreamCallback_t_14__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_20cudaStreamCallback_t_17__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_20cudaStreamCallback_t_16__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_11__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_6cudart_20cudaStreamCallback_t_11__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_9__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_7__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\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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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 : 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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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 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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaStreamAttrValue(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_6cudart_cudaStreamAttrValue *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_cudaStreamAttrValue *)o);
  p->_accessPolicyWindow = ((struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_6cudart_19cudaStreamAttrValue_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_cudaStreamAttrValue(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart_cudaStreamAttrValue *p = (struct __pyx_obj_4cuda_6cudart_cudaStreamAttrValue *)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_19cudaStreamAttrValue_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_accessPolicyWindow);
  (*Py_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_4cuda_6cudart_cudaStreamAttrValue(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart_cudaStreamAttrValue *p = (struct __pyx_obj_4cuda_6cudart_cudaStreamAttrValue *)o;
  if (p->_accessPolicyWindow) {
    e = (*v)(((PyObject *)p->_accessPolicyWindow), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_6cudart_cudaStreamAttrValue(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart_cudaStreamAttrValue *p = (struct __pyx_obj_4cuda_6cudart_cudaStreamAttrValue *)o;
  tmp = ((PyObject*)p->_accessPolicyWindow);
  p->_accessPolicyWindow = ((struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_6cudart_19cudaStreamAttrValue_accessPolicyWindow(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_19cudaStreamAttrValue_18accessPolicyWindow_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_19cudaStreamAttrValue_accessPolicyWindow(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_19cudaStreamAttrValue_18accessPolicyWindow_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_19cudaStreamAttrValue_syncPolicy(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_19cudaStreamAttrValue_10syncPolicy_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_19cudaStreamAttrValue_syncPolicy(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_19cudaStreamAttrValue_10syncPolicy_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart_cudaStreamAttrValue[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_19cudaStreamAttrValue_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_19cudaStreamAttrValue_6getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_19cudaStreamAttrValue_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_19cudaStreamAttrValue_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_19cudaStreamAttrValue_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_19cudaStreamAttrValue_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart_cudaStreamAttrValue[] = {
  {(char *)"accessPolicyWindow", __pyx_getprop_4cuda_6cudart_19cudaStreamAttrValue_accessPolicyWindow, __pyx_setprop_4cuda_6cudart_19cudaStreamAttrValue_accessPolicyWindow, (char *)0, 0},
  {(char *)"syncPolicy", __pyx_getprop_4cuda_6cudart_19cudaStreamAttrValue_syncPolicy, __pyx_setprop_4cuda_6cudart_19cudaStreamAttrValue_syncPolicy, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

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_cudaStreamAttrValue, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_19cudaStreamAttrValue_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  "cudaStreamAttrValue(void_ptr _ptr=0)\n\n\n    Attributes\n    ----------\n    accessPolicyWindow : cudaAccessPolicyWindow\n\n    syncPolicy : cudaSynchronizationPolicy\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ", /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart_cudaStreamAttrValue, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart_cudaStreamAttrValue, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_6cudart_cudaStreamAttrValue, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart_cudaStreamAttrValue, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_19cudaStreamAttrValue_3__init__, /*tp_init*/
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  0, /*tp_pypy_flags*/
  #endif
};

static PyObject *__pyx_tp_new_4cuda_6cudart_cudaKernelNodeAttrValue(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_6cudart_cudaKernelNodeAttrValue *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_cudaKernelNodeAttrValue *)o);
  p->_accessPolicyWindow = ((struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_6cudart_23cudaKernelNodeAttrValue_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_cudaKernelNodeAttrValue(PyObject *o) {
  struct __pyx_obj_4cuda_6cudart_cudaKernelNodeAttrValue *p = (struct __pyx_obj_4cuda_6cudart_cudaKernelNodeAttrValue *)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_23cudaKernelNodeAttrValue_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_accessPolicyWindow);
  (*Py_TYPE(o)->tp_free)(o);
}

static int __pyx_tp_traverse_4cuda_6cudart_cudaKernelNodeAttrValue(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_6cudart_cudaKernelNodeAttrValue *p = (struct __pyx_obj_4cuda_6cudart_cudaKernelNodeAttrValue *)o;
  if (p->_accessPolicyWindow) {
    e = (*v)(((PyObject *)p->_accessPolicyWindow), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_6cudart_cudaKernelNodeAttrValue(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_6cudart_cudaKernelNodeAttrValue *p = (struct __pyx_obj_4cuda_6cudart_cudaKernelNodeAttrValue *)o;
  tmp = ((PyObject*)p->_accessPolicyWindow);
  p->_accessPolicyWindow = ((struct __pyx_obj_4cuda_6cudart_cudaAccessPolicyWindow *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_6cudart_23cudaKernelNodeAttrValue_accessPolicyWindow(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_23cudaKernelNodeAttrValue_18accessPolicyWindow_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_23cudaKernelNodeAttrValue_accessPolicyWindow(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_23cudaKernelNodeAttrValue_18accessPolicyWindow_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_6cudart_23cudaKernelNodeAttrValue_cooperative(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_6cudart_23cudaKernelNodeAttrValue_11cooperative_1__get__(o);
}

static int __pyx_setprop_4cuda_6cudart_23cudaKernelNodeAttrValue_cooperative(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_6cudart_23cudaKernelNodeAttrValue_11cooperative_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyMethodDef __pyx_methods_4cuda_6cudart_cudaKernelNodeAttrValue[] = {
  {"getPtr", (PyCFunction)__pyx_pw_4cuda_6cudart_23cudaKernelNodeAttrValue_7getPtr, METH_NOARGS, __pyx_doc_4cuda_6cudart_23cudaKernelNodeAttrValue_6getPtr},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_23cudaKernelNodeAttrValue_11__reduce_cython__, METH_NOARGS, __pyx_doc_4cuda_6cudart_23cudaKernelNodeAttrValue_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4cuda_6cudart_23cudaKernelNodeAttrValue_13__setstate_cython__, METH_O, __pyx_doc_4cuda_6cudart_23cudaKernelNodeAttrValue_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_6cudart_cudaKernelNodeAttrValue[] = {
  {(char *)"accessPolicyWindow", __pyx_getprop_4cuda_6cudart_23cudaKernelNodeAttrValue_accessPolicyWindow, __pyx_setprop_4cuda_6cudart_23cudaKernelNodeAttrValue_accessPolicyWindow, (char *)0, 0},
  {(char *)"cooperative", __pyx_getprop_4cuda_6cudart_23cudaKernelNodeAttrValue_cooperative, __pyx_setprop_4cuda_6cudart_23cudaKernelNodeAttrValue_cooperative, (char *)0, 0},
  {0, 0, 0, 0, 0}
};

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_cudaKernelNodeAttrValue, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*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_23cudaKernelNodeAttrValue_9__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  "cudaKernelNodeAttrValue(void_ptr _ptr=0)\n\n\n    Attributes\n    ----------\n    accessPolicyWindow : cudaAccessPolicyWindow\n\n    cooperative : int\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ", /*tp_doc*/
  __pyx_tp_traverse_4cuda_6cudart_cudaKernelNodeAttrValue, /*tp_traverse*/
  __pyx_tp_clear_4cuda_6cudart_cudaKernelNodeAttrValue, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_6cudart_cudaKernelNodeAttrValue, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_6cudart_cudaKernelNodeAttrValue, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  __pyx_pw_4cuda_6cudart_23cudaKernelNodeAttrValue_3__init__, /*tp_init*/
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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 not\n        supported. in: array of memory access descriptors. Used to describe\n        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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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 : 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 : int\n        Maximum size of each dimension of a block\n    maxGridSize : 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        cudaHostAlloc/cudaHostGetD""evicePointer\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 : int\n        Maximum 2D texture dimensions\n    maxTexture2DMipmap : int\n        Maximum 2D mipmapped texture dimensions\n    maxTexture2DLinear : int\n        Maximum dimensions (width, height, pitch) for 2D textures bound to\n        pitched memory\n    maxTexture2DGather : int\n        Maximum 2D texture dimensions if texture gather operations have to\n        be performed\n    maxTexture3D : int\n        Maximum 3D texture dimensions\n    maxTexture3DAlt : int\n        Maximum alternate 3D texture dimensions\n    maxTextureCubemap : int\n        Maximum Cubemap texture dimensions\n    maxTexture1DLayered : int\n        Maximum 1D layered texture dimensions\n    maxTexture2DLayered : int\n        Maximum 2D layered texture dimensions\n    maxTextureCubemapLayered : int\n        Maximum Cubemap layered texture dimensions\n    maxSurface1D : int\n        Maximum 1D surface size\n    maxSurface2D : int\n        Maximum 2D surface dimensions\n    maxSurface3D : int\n        Maximum 3D surface dimensions\n    maxSurface1DLayered : int\n        Maximum 1D layered surface dimensions\n    maxSurface2DLayered : int\n        Maximum 2D layered surface dimensions\n    maxSurfaceCubemap : int\n        Maximum Cubemap surface dimensions\n    maxSurfaceCubemapLayered : 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 concurrently\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 coherent""ly 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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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 : 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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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 : 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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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 : 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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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 : 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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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 : 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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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\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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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\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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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\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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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\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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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\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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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\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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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\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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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\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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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\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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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\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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
  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_childGraph_is_not_insta, __pyx_k_Argument_childGraph_is_not_insta, sizeof(__pyx_k_Argument_childGraph_is_not_insta), 0, 1, 0, 0},
  {&__pyx_kp_u_Argument_clonedGraph_is_not_inst, __pyx_k_Argument_clonedGraph_is_not_inst, sizeof(__pyx_k_Argument_clonedGraph_is_not_inst), 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_dst_is_not_instance_of, __pyx_k_Argument_dst_is_not_instance_of, sizeof(__pyx_k_Argument_dst_is_not_instance_of), 0, 1, 0, 0},
  {&__pyx_kp_u_Argument_end_is_not_instance_of, __pyx_k_Argument_end_is_not_instance_of, sizeof(__pyx_k_Argument_end_is_not_instance_of), 0, 1, 0, 0},
  {&__pyx_kp_u_Argument_event_is_not_instance_o, __pyx_k_Argument_event_is_not_instance_o, sizeof(__pyx_k_Argument_event_is_not_instance_o), 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_graphExec_is_not_instan, __pyx_k_Argument_graphExec_is_not_instan, sizeof(__pyx_k_Argument_graphExec_is_not_instan), 0, 1, 0, 0},
  {&__pyx_kp_u_Argument_graph_is_not_instance_o, __pyx_k_Argument_graph_is_not_instance_o, sizeof(__pyx_k_Argument_graph_is_not_instance_o), 0, 1, 0, 0},
  {&__pyx_kp_u_Argument_hDst_is_not_instance_of, __pyx_k_Argument_hDst_is_not_instance_of, sizeof(__pyx_k_Argument_hDst_is_not_instance_of), 0, 1, 0, 0},
  {&__pyx_kp_u_Argument_hGraphExec_is_not_insta, __pyx_k_Argument_hGraphExec_is_not_insta, sizeof(__pyx_k_Argument_hGraphExec_is_not_insta), 0, 1, 0, 0},
  {&__pyx_kp_u_Argument_hGraph_is_not_instance, __pyx_k_Argument_hGraph_is_not_instance, sizeof(__pyx_k_Argument_hGraph_is_not_instance), 0, 1, 0, 0},
  {&__pyx_kp_u_Argument_hNode_is_not_instance_o, __pyx_k_Argument_hNode_is_not_instance_o, sizeof(__pyx_k_Argument_hNode_is_not_instance_o), 0, 1, 0, 0},
  {&__pyx_kp_u_Argument_hSrc_is_not_instance_of, __pyx_k_Argument_hSrc_is_not_instance_of, sizeof(__pyx_k_Argument_hSrc_is_not_instance_of), 0, 1, 0, 0},
  {&__pyx_kp_u_Argument_hStream_is_not_instance, __pyx_k_Argument_hStream_is_not_instance, sizeof(__pyx_k_Argument_hStream_is_not_instance), 0, 1, 0, 0},
  {&__pyx_kp_u_Argument_memPool_is_not_instance, __pyx_k_Argument_memPool_is_not_instance, sizeof(__pyx_k_Argument_memPool_is_not_instance), 0, 1, 0, 0},
  {&__pyx_kp_u_Argument_node_is_not_instance_of, __pyx_k_Argument_node_is_not_instance_of, sizeof(__pyx_k_Argument_node_is_not_instance_of), 0, 1, 0, 0},
  {&__pyx_kp_u_Argument_object_is_not_instance, __pyx_k_Argument_object_is_not_instance, sizeof(__pyx_k_Argument_object_is_not_instance), 0, 1, 0, 0},
  {&__pyx_kp_u_Argument_originalGraph_is_not_in, __pyx_k_Argument_originalGraph_is_not_in, sizeof(__pyx_k_Argument_originalGraph_is_not_in), 0, 1, 0, 0},
  {&__pyx_kp_u_Argument_originalNode_is_not_ins, __pyx_k_Argument_originalNode_is_not_ins, sizeof(__pyx_k_Argument_originalNode_is_not_ins), 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_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_src_is_not_instance_of, __pyx_k_Argument_src_is_not_instance_of, sizeof(__pyx_k_Argument_src_is_not_instance_of), 0, 1, 0, 0},
  {&__pyx_kp_u_Argument_start_is_not_instance_o, __pyx_k_Argument_start_is_not_instance_o, sizeof(__pyx_k_Argument_start_is_not_instance_o), 0, 1, 0, 0},
  {&__pyx_kp_u_Argument_stream_is_not_instance, __pyx_k_Argument_stream_is_not_instance, sizeof(__pyx_k_Argument_stream_is_not_instance), 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_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_n_s_CUDA_IPC_HANDLE_SIZE, __pyx_k_CUDA_IPC_HANDLE_SIZE, sizeof(__pyx_k_CUDA_IPC_HANDLE_SIZE), 0, 0, 1, 1},
  {&__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_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_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_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_n_s_Enum, __pyx_k_Enum, sizeof(__pyx_k_Enum), 0, 0, 1, 1},
  {&__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_u_Failed_to_allocate_length_x_size_2, __pyx_k_Failed_to_allocate_length_x_size_2, sizeof(__pyx_k_Failed_to_allocate_length_x_size_2), 0, 1, 0, 0},
  {&__pyx_n_s_IndexError, __pyx_k_IndexError, sizeof(__pyx_k_IndexError), 0, 0, 1, 1},
  {&__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_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_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__395, __pyx_k__395, sizeof(__pyx_k__395), 0, 1, 0, 0},
  {&__pyx_kp_u__48, __pyx_k__48, sizeof(__pyx_k__48), 0, 1, 0, 0},
  {&__pyx_kp_u__49, __pyx_k__49, sizeof(__pyx_k__49), 0, 1, 0, 0},
  {&__pyx_kp_u__65, __pyx_k__65, sizeof(__pyx_k__65), 0, 1, 0, 0},
  {&__pyx_n_u__66, __pyx_k__66, sizeof(__pyx_k__66), 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_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_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_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_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_cconfig, __pyx_k_cconfig, sizeof(__pyx_k_cconfig), 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_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_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_cerror, __pyx_k_cerror, sizeof(__pyx_k_cerror), 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_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_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_chandleType, __pyx_k_chandleType, sizeof(__pyx_k_chandleType), 0, 0, 1, 1},
  {&__pyx_n_s_childGraph, __pyx_k_childGraph, sizeof(__pyx_k_childGraph), 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_n_s_cmemHandleDesc_ptr, __pyx_k_cmemHandleDesc_ptr, sizeof(__pyx_k_cmemHandleDesc_ptr), 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_cmode, __pyx_k_cmode, sizeof(__pyx_k_cmode), 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_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_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_count, __pyx_k_count, sizeof(__pyx_k_count), 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_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_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_cresources_ptr, __pyx_k_cresources_ptr, sizeof(__pyx_k_cresources_ptr), 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_ctarget, __pyx_k_ctarget, sizeof(__pyx_k_ctarget), 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_cudaArrayGetInfo, __pyx_k_cudaArrayGetInfo, sizeof(__pyx_k_cudaArrayGetInfo), 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_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_u_cudaArray_const_t_2, __pyx_k_cudaArray_const_t_2, sizeof(__pyx_k_cudaArray_const_t_2), 0, 1, 0, 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_u_cudaArray_t_2, __pyx_k_cudaArray_t_2, sizeof(__pyx_k_cudaArray_t_2), 0, 1, 0, 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_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_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_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_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_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_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_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_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_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_u_cudaExternalMemory_t_2, __pyx_k_cudaExternalMemory_t_2, sizeof(__pyx_k_cudaExternalMemory_t_2), 0, 1, 0, 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_u_cudaExternalSemaphore_t_2, __pyx_k_cudaExternalSemaphore_t_2, sizeof(__pyx_k_cudaExternalSemaphore_t_2), 0, 1, 0, 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_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_cudaFuncAttributePreferredShared, __pyx_k_cudaFuncAttributePreferredShared, sizeof(__pyx_k_cudaFuncAttributePreferredShared), 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_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_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_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_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_cudaGraphNodeGetType, __pyx_k_cudaGraphNodeGetType, sizeof(__pyx_k_cudaGraphNodeGetType), 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_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_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_u_cudaGraphicsResource_t_2, __pyx_k_cudaGraphicsResource_t_2, sizeof(__pyx_k_cudaGraphicsResource_t_2), 0, 1, 0, 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_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_u_cudaHostFn_t_2, __pyx_k_cudaHostFn_t_2, sizeof(__pyx_k_cudaHostFn_t_2), 0, 1, 0, 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_u_cudaKernelNodeAttrValue, __pyx_k_cudaKernelNodeAttrValue, sizeof(__pyx_k_cudaKernelNodeAttrValue), 0, 1, 0, 1},
  {&__pyx_n_s_cudaKernelNodeAttrValue___reduce, __pyx_k_cudaKernelNodeAttrValue___reduce, sizeof(__pyx_k_cudaKernelNodeAttrValue___reduce), 0, 0, 1, 1},
  {&__pyx_n_s_cudaKernelNodeAttrValue___setsta, __pyx_k_cudaKernelNodeAttrValue___setsta, sizeof(__pyx_k_cudaKernelNodeAttrValue___setsta), 0, 0, 1, 1},
  {&__pyx_n_s_cudaKernelNodeAttrValue_getPtr, __pyx_k_cudaKernelNodeAttrValue_getPtr, sizeof(__pyx_k_cudaKernelNodeAttrValue_getPtr), 0, 0, 1, 1},
  {&__pyx_n_s_cudaKernelNodeAttributeAccessPol, __pyx_k_cudaKernelNodeAttributeAccessPol, sizeof(__pyx_k_cudaKernelNodeAttributeAccessPol), 0, 0, 1, 1},
  {&__pyx_n_s_cudaKernelNodeAttributeCooperati, __pyx_k_cudaKernelNodeAttributeCooperati, sizeof(__pyx_k_cudaKernelNodeAttributeCooperati), 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_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_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_u_cudaMipmappedArray_const_t_2, __pyx_k_cudaMipmappedArray_const_t_2, sizeof(__pyx_k_cudaMipmappedArray_const_t_2), 0, 1, 0, 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_u_cudaMipmappedArray_t_2, __pyx_k_cudaMipmappedArray_t_2, sizeof(__pyx_k_cudaMipmappedArray_t_2), 0, 1, 0, 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_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_7874, __pyx_k_cudaSetDevice_line_7874, sizeof(__pyx_k_cudaSetDevice_line_7874), 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_u_cudaStreamAttrValue, __pyx_k_cudaStreamAttrValue, sizeof(__pyx_k_cudaStreamAttrValue), 0, 1, 0, 1},
  {&__pyx_n_s_cudaStreamAttrValue___reduce_cyt, __pyx_k_cudaStreamAttrValue___reduce_cyt, sizeof(__pyx_k_cudaStreamAttrValue___reduce_cyt), 0, 0, 1, 1},
  {&__pyx_n_s_cudaStreamAttrValue___setstate_c, __pyx_k_cudaStreamAttrValue___setstate_c, sizeof(__pyx_k_cudaStreamAttrValue___setstate_c), 0, 0, 1, 1},
  {&__pyx_n_s_cudaStreamAttrValue_getPtr, __pyx_k_cudaStreamAttrValue_getPtr, sizeof(__pyx_k_cudaStreamAttrValue_getPtr), 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_u_cudaStreamCallback_t_2, __pyx_k_cudaStreamCallback_t_2, sizeof(__pyx_k_cudaStreamCallback_t_2), 0, 1, 0, 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_u_cudaSurfaceObject_t_2, __pyx_k_cudaSurfaceObject_t_2, sizeof(__pyx_k_cudaSurfaceObject_t_2), 0, 1, 0, 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_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_u_cudaTextureObject_t_2, __pyx_k_cudaTextureObject_t_2, sizeof(__pyx_k_cudaTextureObject_t_2), 0, 1, 0, 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_cudaThreadGetCacheConfig, __pyx_k_cudaThreadGetCacheConfig, sizeof(__pyx_k_cudaThreadGetCacheConfig), 0, 0, 1, 1},
  {&__pyx_n_s_cudaThreadGetLimit, __pyx_k_cudaThreadGetLimit, sizeof(__pyx_k_cudaThreadGetLimit), 0, 0, 1, 1},
  {&__pyx_n_s_cudaThreadSetCacheConfig, __pyx_k_cudaThreadSetCacheConfig, sizeof(__pyx_k_cudaThreadSetCacheConfig), 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_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_cvoidStarHelper_ptr, __pyx_k_cvoidStarHelper_ptr, sizeof(__pyx_k_cvoidStarHelper_ptr), 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_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_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_n_s_event, __pyx_k_event, sizeof(__pyx_k_event), 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_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_import, __pyx_k_import, sizeof(__pyx_k_import), 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_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_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_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_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_p, __pyx_k_p, sizeof(__pyx_k_p), 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_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_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_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_path, __pyx_k_path, sizeof(__pyx_k_path), 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_peerDevice, __pyx_k_peerDevice, sizeof(__pyx_k_peerDevice), 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_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_n_s_planeIdx, __pyx_k_planeIdx, sizeof(__pyx_k_planeIdx), 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_ppExportTable, __pyx_k_ppExportTable, sizeof(__pyx_k_ppExportTable), 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_priority, __pyx_k_priority, sizeof(__pyx_k_priority), 0, 0, 1, 1},
  {&__pyx_n_s_prop, __pyx_k_prop, sizeof(__pyx_k_prop), 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_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_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_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_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_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_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_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_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_MemoryError = __Pyx_GetBuiltinName(__pyx_n_s_MemoryError); if (!__pyx_builtin_MemoryError) __PYX_ERR(0, 767, __pyx_L1_error)
  __pyx_builtin_hex = __Pyx_GetBuiltinName(__pyx_n_s_hex); if (!__pyx_builtin_hex) __PYX_ERR(0, 778, __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, 3189, __pyx_L1_error)
  __pyx_builtin_enumerate = __Pyx_GetBuiltinName(__pyx_n_s_enumerate); if (!__pyx_builtin_enumerate) __PYX_ERR(0, 3190, __pyx_L1_error)
  __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) __PYX_ERR(0, 3313, __pyx_L1_error)
  __pyx_builtin_RuntimeError = __Pyx_GetBuiltinName(__pyx_n_s_RuntimeError); if (!__pyx_builtin_RuntimeError) __PYX_ERR(0, 9134, __pyx_L1_error)
  __pyx_builtin_zip = __Pyx_GetBuiltinName(__pyx_n_s_zip); if (!__pyx_builtin_zip) __PYX_ERR(0, 13896, __pyx_L1_error)
  __pyx_builtin_OverflowError = __Pyx_GetBuiltinName(__pyx_n_s_OverflowError); if (!__pyx_builtin_OverflowError) __PYX_ERR(1, 81, __pyx_L1_error)
  __pyx_builtin_IndexError = __Pyx_GetBuiltinName(__pyx_n_s_IndexError); if (!__pyx_builtin_IndexError) __PYX_ERR(1, 94, __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__51 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__51)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__51);
  __Pyx_GIVEREF(__pyx_tuple__51);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__53 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__53)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__53);
  __Pyx_GIVEREF(__pyx_tuple__53);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__56);
  __Pyx_GIVEREF(__pyx_tuple__56);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__58 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__58)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__58);
  __Pyx_GIVEREF(__pyx_tuple__58);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__61);
  __Pyx_GIVEREF(__pyx_tuple__61);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__63 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__63)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__63);
  __Pyx_GIVEREF(__pyx_tuple__63);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__68);
  __Pyx_GIVEREF(__pyx_tuple__68);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__70 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__70)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__70);
  __Pyx_GIVEREF(__pyx_tuple__70);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__73);
  __Pyx_GIVEREF(__pyx_tuple__73);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__75 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__75)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__75);
  __Pyx_GIVEREF(__pyx_tuple__75);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__78);
  __Pyx_GIVEREF(__pyx_tuple__78);

  /* "(tree fragment)":4
 *     raise TypeError("no 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__80 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__80)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__80);
  __Pyx_GIVEREF(__pyx_tuple__80);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no 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);

  /* "cuda/cudart.pyx":9122
 *     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]")             # <<<<<<<<<<<<<<
 *     if not isinstance(stream, (cudaStream_t, cuda.CUstream)):
 *         raise TypeError("Argument 'stream' is not instance of type (expected <class 'cudart.cudaStream_t, cuda.CUstream'>, found " + str(type(stream)))
 */
  __pyx_tuple__394 = PyTuple_Pack(1, __pyx_kp_u_Argument_dependencies_is_not_ins); if (unlikely(!__pyx_tuple__394)) __PYX_ERR(0, 9122, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__394);
  __Pyx_GIVEREF(__pyx_tuple__394);

  /* "cuda/cudart.pyx":10062
 *     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
 *     if not all(isinstance(_x, (cudaExternalSemaphore_t)) for _x in extSemArray):
 */
  __pyx_tuple__410 = PyTuple_Pack(1, __pyx_kp_u_Argument_paramsArray_is_not_inst); if (unlikely(!__pyx_tuple__410)) __PYX_ERR(0, 10062, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__410);
  __Pyx_GIVEREF(__pyx_tuple__410);

  /* "cuda/cudart.pyx":10065
 *     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
 *     if len(extSemArray) > 0:
 */
  __pyx_tuple__411 = PyTuple_Pack(1, __pyx_kp_u_Argument_extSemArray_is_not_inst); if (unlikely(!__pyx_tuple__411)) __PYX_ERR(0, 10065, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__411);
  __Pyx_GIVEREF(__pyx_tuple__411);

  /* "cuda/cudart.pyx":10181
 *     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
 *     if not all(isinstance(_x, (cudaExternalSemaphore_t)) for _x in extSemArray):
 */
  __pyx_tuple__413 = PyTuple_Pack(1, __pyx_kp_u_Argument_paramsArray_is_not_inst_2); if (unlikely(!__pyx_tuple__413)) __PYX_ERR(0, 10181, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__413);
  __Pyx_GIVEREF(__pyx_tuple__413);

  /* "cuda/cudart.pyx":13893
 *     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):
 *         raise TypeError("Argument 'dataSizes' is not instance of type (expected List[int]")
 */
  __pyx_tuple__473 = PyTuple_Pack(1, __pyx_kp_u_Argument_attributes_is_not_insta); if (unlikely(!__pyx_tuple__473)) __PYX_ERR(0, 13893, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__473);
  __Pyx_GIVEREF(__pyx_tuple__473);

  /* "cuda/cudart.pyx":13895
 *         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]")             # <<<<<<<<<<<<<<
 *     pylist = [utils.HelperCUmem_range_attribute(pyattributes, pydataSizes) for (pyattributes, pydataSizes) in zip(attributes, dataSizes)]
 *     cdef utils.InputVoidPtrPtrHelper voidStarHelper = utils.InputVoidPtrPtrHelper(pylist)
 */
  __pyx_tuple__474 = PyTuple_Pack(1, __pyx_kp_u_Argument_dataSizes_is_not_instan); if (unlikely(!__pyx_tuple__474)) __PYX_ERR(0, 13895, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__474);
  __Pyx_GIVEREF(__pyx_tuple__474);

  /* "cuda/cudart.pyx":14561
 *     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]")             # <<<<<<<<<<<<<<
 *     if not isinstance(memPool, (cudaMemPool_t, cuda.CUmemoryPool)):
 *         raise TypeError("Argument 'memPool' is not instance of type (expected <class 'cudart.cudaMemPool_t, cuda.CUmemoryPool'>, found " + str(type(memPool)))
 */
  __pyx_tuple__486 = PyTuple_Pack(1, __pyx_kp_u_Argument_descList_is_not_instanc); if (unlikely(!__pyx_tuple__486)) __PYX_ERR(0, 14561, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__486);
  __Pyx_GIVEREF(__pyx_tuple__486);

  /* "cuda/cudart.pyx":15994
 *     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]")             # <<<<<<<<<<<<<<
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 */
  __pyx_tuple__520 = PyTuple_Pack(1, __pyx_kp_u_Argument_pDependencies_is_not_in); if (unlikely(!__pyx_tuple__520)) __PYX_ERR(0, 15994, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__520);
  __Pyx_GIVEREF(__pyx_tuple__520);

  /* "cuda/cudart.pyx":18300
 *     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_
 *     if not all(isinstance(_x, (cudaGraphNode_t, cuda.CUgraphNode)) for _x in from_):
 */
  __pyx_tuple__568 = PyTuple_Pack(1, __pyx_kp_u_Argument_to_is_not_instance_of_t); if (unlikely(!__pyx_tuple__568)) __PYX_ERR(0, 18300, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__568);
  __Pyx_GIVEREF(__pyx_tuple__568);

  /* "cuda/cudart.pyx":18303
 *     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]")             # <<<<<<<<<<<<<<
 *     if not isinstance(graph, (cudaGraph_t, cuda.CUgraph)):
 *         raise TypeError("Argument 'graph' is not instance of type (expected <class 'cudart.cudaGraph_t, cuda.CUgraph'>, found " + str(type(graph)))
 */
  __pyx_tuple__569 = PyTuple_Pack(1, __pyx_kp_u_Argument_from__is_not_instance_o); if (unlikely(!__pyx_tuple__569)) __PYX_ERR(0, 18303, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__569);
  __Pyx_GIVEREF(__pyx_tuple__569);

  /* "cuda/cudart.pyx":783
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_tuple__601 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__601)) __PYX_ERR(0, 783, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__601);
  __Pyx_GIVEREF(__pyx_tuple__601);
  __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__601, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 783, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__2)) __PYX_ERR(0, 783, __pyx_L1_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__602 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__602)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__602);
  __Pyx_GIVEREF(__pyx_tuple__602);
  __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__602, __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__603 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__603)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__603);
  __Pyx_GIVEREF(__pyx_tuple__603);
  __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__603, __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":817
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_tuple__604 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__604)) __PYX_ERR(0, 817, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__604);
  __Pyx_GIVEREF(__pyx_tuple__604);
  __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__604, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 817, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__7)) __PYX_ERR(0, 817, __pyx_L1_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__605 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__605)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__605);
  __Pyx_GIVEREF(__pyx_tuple__605);
  __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__605, __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__606 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__606)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__606);
  __Pyx_GIVEREF(__pyx_tuple__606);
  __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__606, __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":851
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_tuple__607 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__607)) __PYX_ERR(0, 851, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__607);
  __Pyx_GIVEREF(__pyx_tuple__607);
  __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__607, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 851, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) __PYX_ERR(0, 851, __pyx_L1_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__608 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__608)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__608);
  __Pyx_GIVEREF(__pyx_tuple__608);
  __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__608, __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__609 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__609)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__609);
  __Pyx_GIVEREF(__pyx_tuple__609);
  __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__609, __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":885
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_tuple__610 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__610)) __PYX_ERR(0, 885, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__610);
  __Pyx_GIVEREF(__pyx_tuple__610);
  __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__610, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 885, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__17)) __PYX_ERR(0, 885, __pyx_L1_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__611 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__611)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__611);
  __Pyx_GIVEREF(__pyx_tuple__611);
  __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__611, __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__612 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__612)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__612);
  __Pyx_GIVEREF(__pyx_tuple__612);
  __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__612, __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":919
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_tuple__613 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__613)) __PYX_ERR(0, 919, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__613);
  __Pyx_GIVEREF(__pyx_tuple__613);
  __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__613, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 919, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) __PYX_ERR(0, 919, __pyx_L1_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__614 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__614)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__614);
  __Pyx_GIVEREF(__pyx_tuple__614);
  __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__614, __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__615 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__615)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__615);
  __Pyx_GIVEREF(__pyx_tuple__615);
  __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__615, __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":953
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_tuple__616 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__616)) __PYX_ERR(0, 953, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__616);
  __Pyx_GIVEREF(__pyx_tuple__616);
  __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__616, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 953, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__27)) __PYX_ERR(0, 953, __pyx_L1_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__617 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__617)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__617);
  __Pyx_GIVEREF(__pyx_tuple__617);
  __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__617, __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__618 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__618)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__618);
  __Pyx_GIVEREF(__pyx_tuple__618);
  __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__618, __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":987
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_tuple__619 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__619)) __PYX_ERR(0, 987, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__619);
  __Pyx_GIVEREF(__pyx_tuple__619);
  __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__619, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 987, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) __PYX_ERR(0, 987, __pyx_L1_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__620 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__620)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__620);
  __Pyx_GIVEREF(__pyx_tuple__620);
  __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__620, __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__621 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__621)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__621);
  __Pyx_GIVEREF(__pyx_tuple__621);
  __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__621, __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":1021
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_tuple__622 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__622)) __PYX_ERR(0, 1021, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__622);
  __Pyx_GIVEREF(__pyx_tuple__622);
  __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__622, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 1021, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__37)) __PYX_ERR(0, 1021, __pyx_L1_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__623 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__623)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__623);
  __Pyx_GIVEREF(__pyx_tuple__623);
  __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__623, __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__624 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__624)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__624);
  __Pyx_GIVEREF(__pyx_tuple__624);
  __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__624, __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":1055
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_tuple__625 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__625)) __PYX_ERR(0, 1055, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__625);
  __Pyx_GIVEREF(__pyx_tuple__625);
  __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__625, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 1055, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) __PYX_ERR(0, 1055, __pyx_L1_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__626 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__626)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__626);
  __Pyx_GIVEREF(__pyx_tuple__626);
  __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__626, __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__627 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__627)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__627);
  __Pyx_GIVEREF(__pyx_tuple__627);
  __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__627, __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":1091
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__628 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__628)) __PYX_ERR(0, 1091, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__628);
  __Pyx_GIVEREF(__pyx_tuple__628);
  __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__628, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 1091, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__47)) __PYX_ERR(0, 1091, __pyx_L1_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__629 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__629)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__629);
  __Pyx_GIVEREF(__pyx_tuple__629);
  __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__629, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) __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__630 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__630)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__630);
  __Pyx_GIVEREF(__pyx_tuple__630);
  __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__630, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":1163
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__631 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__631)) __PYX_ERR(0, 1163, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__631);
  __Pyx_GIVEREF(__pyx_tuple__631);
  __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__631, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 1163, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) __PYX_ERR(0, 1163, __pyx_L1_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__632 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__632)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__632);
  __Pyx_GIVEREF(__pyx_tuple__632);
  __pyx_codeobj__55 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__632, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__55)) __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__633 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__633)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__633);
  __Pyx_GIVEREF(__pyx_tuple__633);
  __pyx_codeobj__57 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__633, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__57)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":1235
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__634 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__634)) __PYX_ERR(0, 1235, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__634);
  __Pyx_GIVEREF(__pyx_tuple__634);
  __pyx_codeobj__59 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__634, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 1235, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__59)) __PYX_ERR(0, 1235, __pyx_L1_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__635 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__635)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__635);
  __Pyx_GIVEREF(__pyx_tuple__635);
  __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__635, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) __PYX_ERR(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__636 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__636)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__636);
  __Pyx_GIVEREF(__pyx_tuple__636);
  __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__636, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":1307
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__637 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__637)) __PYX_ERR(0, 1307, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__637);
  __Pyx_GIVEREF(__pyx_tuple__637);
  __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__637, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 1307, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) __PYX_ERR(0, 1307, __pyx_L1_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__638 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__638)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__638);
  __Pyx_GIVEREF(__pyx_tuple__638);
  __pyx_codeobj__67 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__638, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__67)) __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__639 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__639)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__639);
  __Pyx_GIVEREF(__pyx_tuple__639);
  __pyx_codeobj__69 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__639, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__69)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":1397
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__640 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__640)) __PYX_ERR(0, 1397, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__640);
  __Pyx_GIVEREF(__pyx_tuple__640);
  __pyx_codeobj__71 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__640, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 1397, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__71)) __PYX_ERR(0, 1397, __pyx_L1_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__641 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__641)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__641);
  __Pyx_GIVEREF(__pyx_tuple__641);
  __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__641, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) __PYX_ERR(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__642 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__642)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__642);
  __Pyx_GIVEREF(__pyx_tuple__642);
  __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__642, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":1474
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__643 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__643)) __PYX_ERR(0, 1474, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__643);
  __Pyx_GIVEREF(__pyx_tuple__643);
  __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__643, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 1474, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) __PYX_ERR(0, 1474, __pyx_L1_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__644 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__644)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__644);
  __Pyx_GIVEREF(__pyx_tuple__644);
  __pyx_codeobj__77 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__644, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__77)) __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__645 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__645)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__645);
  __Pyx_GIVEREF(__pyx_tuple__645);
  __pyx_codeobj__79 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__645, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__79)) __PYX_ERR(1, 3, __pyx_L1_error)

  /* "cuda/cudart.pyx":1542
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__646 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__646)) __PYX_ERR(0, 1542, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__646);
  __Pyx_GIVEREF(__pyx_tuple__646);
  __pyx_codeobj__81 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__646, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 1542, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__81)) __PYX_ERR(0, 1542, __pyx_L1_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__647 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__647)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__647);
  __Pyx_GIVEREF(__pyx_tuple__647);
  __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__647, __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__648 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__648)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__648);
  __Pyx_GIVEREF(__pyx_tuple__648);
  __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__648, __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":1626
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__649 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__649)) __PYX_ERR(0, 1626, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__649);
  __Pyx_GIVEREF(__pyx_tuple__649);
  __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__649, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 1626, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) __PYX_ERR(0, 1626, __pyx_L1_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__650 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__650)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__650);
  __Pyx_GIVEREF(__pyx_tuple__650);
  __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__650, __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__651 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__651)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__651);
  __Pyx_GIVEREF(__pyx_tuple__651);
  __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__651, __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":1772
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__652 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__652)) __PYX_ERR(0, 1772, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__652);
  __Pyx_GIVEREF(__pyx_tuple__652);
  __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__652, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 1772, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__91)) __PYX_ERR(0, 1772, __pyx_L1_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__653 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__653)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__653);
  __Pyx_GIVEREF(__pyx_tuple__653);
  __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__653, __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__654 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__654)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__654);
  __Pyx_GIVEREF(__pyx_tuple__654);
  __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__654, __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":1914
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__655 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__655)) __PYX_ERR(0, 1914, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__655);
  __Pyx_GIVEREF(__pyx_tuple__655);
  __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__655, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 1914, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) __PYX_ERR(0, 1914, __pyx_L1_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__656 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__656)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__656);
  __Pyx_GIVEREF(__pyx_tuple__656);
  __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__656, __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__657 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__657)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__657);
  __Pyx_GIVEREF(__pyx_tuple__657);
  __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__657, __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":2020
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__658 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__658)) __PYX_ERR(0, 2020, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__658);
  __Pyx_GIVEREF(__pyx_tuple__658);
  __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__658, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 2020, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__101)) __PYX_ERR(0, 2020, __pyx_L1_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__659 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__659)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__659);
  __Pyx_GIVEREF(__pyx_tuple__659);
  __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__659, __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__660 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__660)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__660);
  __Pyx_GIVEREF(__pyx_tuple__660);
  __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__660, __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":2102
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__661 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__661)) __PYX_ERR(0, 2102, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__661);
  __Pyx_GIVEREF(__pyx_tuple__661);
  __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__661, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 2102, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) __PYX_ERR(0, 2102, __pyx_L1_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__662 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__662)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__662);
  __Pyx_GIVEREF(__pyx_tuple__662);
  __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__662, __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__663 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__663)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__663);
  __Pyx_GIVEREF(__pyx_tuple__663);
  __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__663, __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":2159
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__664 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__664)) __PYX_ERR(0, 2159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__664);
  __Pyx_GIVEREF(__pyx_tuple__664);
  __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__664, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 2159, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__111)) __PYX_ERR(0, 2159, __pyx_L1_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__665 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__665)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__665);
  __Pyx_GIVEREF(__pyx_tuple__665);
  __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__665, __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__666 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__666)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__666);
  __Pyx_GIVEREF(__pyx_tuple__666);
  __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__666, __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":2220
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__667 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__667)) __PYX_ERR(0, 2220, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__667);
  __Pyx_GIVEREF(__pyx_tuple__667);
  __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__667, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 2220, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) __PYX_ERR(0, 2220, __pyx_L1_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__668 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__668)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__668);
  __Pyx_GIVEREF(__pyx_tuple__668);
  __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__668, __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__669 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__669)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__669);
  __Pyx_GIVEREF(__pyx_tuple__669);
  __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__669, __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":2268
 *     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__670 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__670)) __PYX_ERR(0, 2268, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__670);
  __Pyx_GIVEREF(__pyx_tuple__670);
  __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__670, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 2268, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__121)) __PYX_ERR(0, 2268, __pyx_L1_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__671 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__671)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__671);
  __Pyx_GIVEREF(__pyx_tuple__671);
  __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__671, __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__672 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__672)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__672);
  __Pyx_GIVEREF(__pyx_tuple__672);
  __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__672, __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":2304
 *     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__673 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__673)) __PYX_ERR(0, 2304, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__673);
  __Pyx_GIVEREF(__pyx_tuple__673);
  __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__673, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 2304, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) __PYX_ERR(0, 2304, __pyx_L1_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__674 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__674)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__674);
  __Pyx_GIVEREF(__pyx_tuple__674);
  __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__674, __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__675 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__675)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__675);
  __Pyx_GIVEREF(__pyx_tuple__675);
  __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__675, __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":2344
 *     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__676 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__676)) __PYX_ERR(0, 2344, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__676);
  __Pyx_GIVEREF(__pyx_tuple__676);
  __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__676, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 2344, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__131)) __PYX_ERR(0, 2344, __pyx_L1_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__677 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__677)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__677);
  __Pyx_GIVEREF(__pyx_tuple__677);
  __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__677, __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__678 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__678)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__678);
  __Pyx_GIVEREF(__pyx_tuple__678);
  __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__678, __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":2408
 *     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__679 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__679)) __PYX_ERR(0, 2408, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__679);
  __Pyx_GIVEREF(__pyx_tuple__679);
  __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__679, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 2408, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) __PYX_ERR(0, 2408, __pyx_L1_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__680 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__680)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__680);
  __Pyx_GIVEREF(__pyx_tuple__680);
  __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__680, __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__681 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__681)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__681);
  __Pyx_GIVEREF(__pyx_tuple__681);
  __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__681, __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":2489
 *         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__682 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__682)) __PYX_ERR(0, 2489, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__682);
  __Pyx_GIVEREF(__pyx_tuple__682);
  __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__682, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 2489, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__141)) __PYX_ERR(0, 2489, __pyx_L1_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__683 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__683)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__683);
  __Pyx_GIVEREF(__pyx_tuple__683);
  __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__683, __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__684 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__684)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__684);
  __Pyx_GIVEREF(__pyx_tuple__684);
  __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__684, __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":2579
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__685 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__685)) __PYX_ERR(0, 2579, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__685);
  __Pyx_GIVEREF(__pyx_tuple__685);
  __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__685, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 2579, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__146)) __PYX_ERR(0, 2579, __pyx_L1_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__686 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__686)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__686);
  __Pyx_GIVEREF(__pyx_tuple__686);
  __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__686, __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__687 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__687)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__687);
  __Pyx_GIVEREF(__pyx_tuple__687);
  __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__687, __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":2653
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__688 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__688)) __PYX_ERR(0, 2653, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__688);
  __Pyx_GIVEREF(__pyx_tuple__688);
  __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__688, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 2653, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__151)) __PYX_ERR(0, 2653, __pyx_L1_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__689 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__689)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__689);
  __Pyx_GIVEREF(__pyx_tuple__689);
  __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__689, __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__690 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__690)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__690);
  __Pyx_GIVEREF(__pyx_tuple__690);
  __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__690, __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":2774
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__691 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__691)) __PYX_ERR(0, 2774, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__691);
  __Pyx_GIVEREF(__pyx_tuple__691);
  __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__691, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 2774, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__156)) __PYX_ERR(0, 2774, __pyx_L1_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__692 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__692)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__692);
  __Pyx_GIVEREF(__pyx_tuple__692);
  __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__692, __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__693 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__693)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__693);
  __Pyx_GIVEREF(__pyx_tuple__693);
  __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__693, __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":2883
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__694 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__694)) __PYX_ERR(0, 2883, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__694);
  __Pyx_GIVEREF(__pyx_tuple__694);
  __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__694, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 2883, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__161)) __PYX_ERR(0, 2883, __pyx_L1_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__695 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__695)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__695);
  __Pyx_GIVEREF(__pyx_tuple__695);
  __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__695, __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__696 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__696)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__696);
  __Pyx_GIVEREF(__pyx_tuple__696);
  __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__696, __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":3006
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__697 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__697)) __PYX_ERR(0, 3006, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__697);
  __Pyx_GIVEREF(__pyx_tuple__697);
  __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__697, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 3006, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__166)) __PYX_ERR(0, 3006, __pyx_L1_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__698 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__698)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__698);
  __Pyx_GIVEREF(__pyx_tuple__698);
  __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__698, __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__699 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__699)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__699);
  __Pyx_GIVEREF(__pyx_tuple__699);
  __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__699, __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":3064
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__700 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__700)) __PYX_ERR(0, 3064, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__700);
  __Pyx_GIVEREF(__pyx_tuple__700);
  __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__700, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 3064, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__171)) __PYX_ERR(0, 3064, __pyx_L1_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__701 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__701)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__701);
  __Pyx_GIVEREF(__pyx_tuple__701);
  __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__701, __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__702 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__702)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__702);
  __Pyx_GIVEREF(__pyx_tuple__702);
  __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__702, __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":3137
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__703 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__703)) __PYX_ERR(0, 3137, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__703);
  __Pyx_GIVEREF(__pyx_tuple__703);
  __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__703, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 3137, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__176)) __PYX_ERR(0, 3137, __pyx_L1_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__704 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__704)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__704);
  __Pyx_GIVEREF(__pyx_tuple__704);
  __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__704, __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__705 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__705)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__705);
  __Pyx_GIVEREF(__pyx_tuple__705);
  __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__705, __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":3223
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__706 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__706)) __PYX_ERR(0, 3223, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__706);
  __Pyx_GIVEREF(__pyx_tuple__706);
  __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__706, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 3223, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__181)) __PYX_ERR(0, 3223, __pyx_L1_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__707 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__707)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__707);
  __Pyx_GIVEREF(__pyx_tuple__707);
  __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__707, __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__708 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__708)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__708);
  __Pyx_GIVEREF(__pyx_tuple__708);
  __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__708, __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":3286
 *         if self._accessDescs is not NULL:
 *             free(self._accessDescs)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__709 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__709)) __PYX_ERR(0, 3286, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__709);
  __Pyx_GIVEREF(__pyx_tuple__709);
  __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__709, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 3286, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__186)) __PYX_ERR(0, 3286, __pyx_L1_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__710 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__710)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__710);
  __Pyx_GIVEREF(__pyx_tuple__710);
  __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__710, __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__711 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__711)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__711);
  __Pyx_GIVEREF(__pyx_tuple__711);
  __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__711, __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":3382
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__712 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__712)) __PYX_ERR(0, 3382, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__712);
  __Pyx_GIVEREF(__pyx_tuple__712);
  __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__712, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 3382, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__191)) __PYX_ERR(0, 3382, __pyx_L1_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__713 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__713)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__713);
  __Pyx_GIVEREF(__pyx_tuple__713);
  __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__713, __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__714 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__714)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__714);
  __Pyx_GIVEREF(__pyx_tuple__714);
  __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__714, __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":3600
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__715 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__715)) __PYX_ERR(0, 3600, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__715);
  __Pyx_GIVEREF(__pyx_tuple__715);
  __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__715, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 3600, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__196)) __PYX_ERR(0, 3600, __pyx_L1_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__716 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__716)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__716);
  __Pyx_GIVEREF(__pyx_tuple__716);
  __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__716, __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__717 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__717)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__717);
  __Pyx_GIVEREF(__pyx_tuple__717);
  __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__717, __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":4288
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__718 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__718)) __PYX_ERR(0, 4288, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__718);
  __Pyx_GIVEREF(__pyx_tuple__718);
  __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__718, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 4288, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__201)) __PYX_ERR(0, 4288, __pyx_L1_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__719 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__719)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__719);
  __Pyx_GIVEREF(__pyx_tuple__719);
  __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__719, __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__720 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__720)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__720);
  __Pyx_GIVEREF(__pyx_tuple__720);
  __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__720, __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":4340
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__721 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__721)) __PYX_ERR(0, 4340, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__721);
  __Pyx_GIVEREF(__pyx_tuple__721);
  __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__721, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 4340, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__206)) __PYX_ERR(0, 4340, __pyx_L1_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__722 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__722)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__722);
  __Pyx_GIVEREF(__pyx_tuple__722);
  __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__722, __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__723 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__723)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__723);
  __Pyx_GIVEREF(__pyx_tuple__723);
  __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__723, __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":4382
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__724 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__724)) __PYX_ERR(0, 4382, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__724);
  __Pyx_GIVEREF(__pyx_tuple__724);
  __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__724, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 4382, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__211)) __PYX_ERR(0, 4382, __pyx_L1_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__725 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__725)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__725);
  __Pyx_GIVEREF(__pyx_tuple__725);
  __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__725, __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__726 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__726)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__726);
  __Pyx_GIVEREF(__pyx_tuple__726);
  __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__726, __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":4430
 *     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__727 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__727)) __PYX_ERR(0, 4430, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__727);
  __Pyx_GIVEREF(__pyx_tuple__727);
  __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__727, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 4430, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__216)) __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__728 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__728)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__728);
  __Pyx_GIVEREF(__pyx_tuple__728);
  __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__728, __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__729 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__729)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__729);
  __Pyx_GIVEREF(__pyx_tuple__729);
  __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__729, __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":4504
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__730 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__730)) __PYX_ERR(0, 4504, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__730);
  __Pyx_GIVEREF(__pyx_tuple__730);
  __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__730, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 4504, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__221)) __PYX_ERR(0, 4504, __pyx_L1_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__731 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__731)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__731);
  __Pyx_GIVEREF(__pyx_tuple__731);
  __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__731, __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__732 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__732)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__732);
  __Pyx_GIVEREF(__pyx_tuple__732);
  __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__732, __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":4584
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__733 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__733)) __PYX_ERR(0, 4584, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__733);
  __Pyx_GIVEREF(__pyx_tuple__733);
  __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__733, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 4584, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__226)) __PYX_ERR(0, 4584, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_tuple__734 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__734)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__734);
  __Pyx_GIVEREF(__pyx_tuple__734);
  __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__734, __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__735 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__735)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__735);
  __Pyx_GIVEREF(__pyx_tuple__735);
  __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__735, __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":4659
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__736 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__736)) __PYX_ERR(0, 4659, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__736);
  __Pyx_GIVEREF(__pyx_tuple__736);
  __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__736, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 4659, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__231)) __PYX_ERR(0, 4659, __pyx_L1_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__737 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__737)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__737);
  __Pyx_GIVEREF(__pyx_tuple__737);
  __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__737, __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__738 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__738)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__738);
  __Pyx_GIVEREF(__pyx_tuple__738);
  __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__738, __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":4737
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__739 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__739)) __PYX_ERR(0, 4737, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__739);
  __Pyx_GIVEREF(__pyx_tuple__739);
  __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__739, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 4737, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__236)) __PYX_ERR(0, 4737, __pyx_L1_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__740 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__740)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__740);
  __Pyx_GIVEREF(__pyx_tuple__740);
  __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__740, __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__741 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__741)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__741);
  __Pyx_GIVEREF(__pyx_tuple__741);
  __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__741, __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":4785
 *     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__742 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__742)) __PYX_ERR(0, 4785, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__742);
  __Pyx_GIVEREF(__pyx_tuple__742);
  __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__742, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 4785, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__241)) __PYX_ERR(0, 4785, __pyx_L1_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__743 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__743)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__743);
  __Pyx_GIVEREF(__pyx_tuple__743);
  __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__743, __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__744 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__744)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__744);
  __Pyx_GIVEREF(__pyx_tuple__744);
  __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__744, __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":4857
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__745 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__745)) __PYX_ERR(0, 4857, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__745);
  __Pyx_GIVEREF(__pyx_tuple__745);
  __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__745, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 4857, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__246)) __PYX_ERR(0, 4857, __pyx_L1_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__746 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__746)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__746);
  __Pyx_GIVEREF(__pyx_tuple__746);
  __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__746, __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__747 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__747)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__747);
  __Pyx_GIVEREF(__pyx_tuple__747);
  __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__747, __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":4913
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__748 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__748)) __PYX_ERR(0, 4913, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__748);
  __Pyx_GIVEREF(__pyx_tuple__748);
  __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__748, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 4913, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__251)) __PYX_ERR(0, 4913, __pyx_L1_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__749 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__749)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__749);
  __Pyx_GIVEREF(__pyx_tuple__749);
  __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__749, __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__750 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__750)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__750);
  __Pyx_GIVEREF(__pyx_tuple__750);
  __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__750, __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":4951
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__751 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__751)) __PYX_ERR(0, 4951, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__751);
  __Pyx_GIVEREF(__pyx_tuple__751);
  __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__751, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 4951, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__256)) __PYX_ERR(0, 4951, __pyx_L1_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__752 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__752)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__752);
  __Pyx_GIVEREF(__pyx_tuple__752);
  __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__752, __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__753 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__753)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__753);
  __Pyx_GIVEREF(__pyx_tuple__753);
  __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__753, __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":4995
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__754 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__754)) __PYX_ERR(0, 4995, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__754);
  __Pyx_GIVEREF(__pyx_tuple__754);
  __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__754, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 4995, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__261)) __PYX_ERR(0, 4995, __pyx_L1_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__755 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__755)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__755);
  __Pyx_GIVEREF(__pyx_tuple__755);
  __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__755, __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__756 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__756)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__756);
  __Pyx_GIVEREF(__pyx_tuple__756);
  __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__756, __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":5039
 *         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__757 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__757)) __PYX_ERR(0, 5039, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__757);
  __Pyx_GIVEREF(__pyx_tuple__757);
  __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__757, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 5039, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__266)) __PYX_ERR(0, 5039, __pyx_L1_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__758 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__758)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__758);
  __Pyx_GIVEREF(__pyx_tuple__758);
  __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__758, __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__759 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__759)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__759);
  __Pyx_GIVEREF(__pyx_tuple__759);
  __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__759, __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":5134
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__760 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__760)) __PYX_ERR(0, 5134, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__760);
  __Pyx_GIVEREF(__pyx_tuple__760);
  __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__760, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 5134, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__271)) __PYX_ERR(0, 5134, __pyx_L1_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__761 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__761)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__761);
  __Pyx_GIVEREF(__pyx_tuple__761);
  __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__761, __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__762 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__762)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__762);
  __Pyx_GIVEREF(__pyx_tuple__762);
  __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__762, __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":5190
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__763 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__763)) __PYX_ERR(0, 5190, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__763);
  __Pyx_GIVEREF(__pyx_tuple__763);
  __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__763, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 5190, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__276)) __PYX_ERR(0, 5190, __pyx_L1_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__764 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__764)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__764);
  __Pyx_GIVEREF(__pyx_tuple__764);
  __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__764, __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__765 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__765)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__765);
  __Pyx_GIVEREF(__pyx_tuple__765);
  __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__765, __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":5228
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__766 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__766)) __PYX_ERR(0, 5228, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__766);
  __Pyx_GIVEREF(__pyx_tuple__766);
  __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__766, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 5228, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__281)) __PYX_ERR(0, 5228, __pyx_L1_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__767 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__767)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__767);
  __Pyx_GIVEREF(__pyx_tuple__767);
  __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__767, __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__768 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__768)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__768);
  __Pyx_GIVEREF(__pyx_tuple__768);
  __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__768, __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":5274
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__769 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__769)) __PYX_ERR(0, 5274, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__769);
  __Pyx_GIVEREF(__pyx_tuple__769);
  __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__769, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 5274, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__286)) __PYX_ERR(0, 5274, __pyx_L1_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__770 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__770)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__770);
  __Pyx_GIVEREF(__pyx_tuple__770);
  __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__770, __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__771 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__771)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__771);
  __Pyx_GIVEREF(__pyx_tuple__771);
  __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__771, __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":5326
 *         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__772 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__772)) __PYX_ERR(0, 5326, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__772);
  __Pyx_GIVEREF(__pyx_tuple__772);
  __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__772, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 5326, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__291)) __PYX_ERR(0, 5326, __pyx_L1_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__773 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__773)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__773);
  __Pyx_GIVEREF(__pyx_tuple__773);
  __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__773, __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__774 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__774)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__774);
  __Pyx_GIVEREF(__pyx_tuple__774);
  __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__774, __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":5421
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__775 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__775)) __PYX_ERR(0, 5421, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__775);
  __Pyx_GIVEREF(__pyx_tuple__775);
  __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__775, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 5421, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__296)) __PYX_ERR(0, 5421, __pyx_L1_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__776 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__776)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__776);
  __Pyx_GIVEREF(__pyx_tuple__776);
  __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__776, __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__777 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__777)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__777);
  __Pyx_GIVEREF(__pyx_tuple__777);
  __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__777, __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":5500
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__778 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__778)) __PYX_ERR(0, 5500, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__778);
  __Pyx_GIVEREF(__pyx_tuple__778);
  __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__778, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 5500, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__301)) __PYX_ERR(0, 5500, __pyx_L1_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__779 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__779)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__779);
  __Pyx_GIVEREF(__pyx_tuple__779);
  __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__779, __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__780 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__780)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__780);
  __Pyx_GIVEREF(__pyx_tuple__780);
  __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__780, __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":5603
 *         if self._paramsArray is not NULL:
 *             free(self._paramsArray)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__781 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__781)) __PYX_ERR(0, 5603, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__781);
  __Pyx_GIVEREF(__pyx_tuple__781);
  __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__781, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 5603, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__306)) __PYX_ERR(0, 5603, __pyx_L1_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__782 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__782)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__782);
  __Pyx_GIVEREF(__pyx_tuple__782);
  __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__782, __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__783 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__783)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__783);
  __Pyx_GIVEREF(__pyx_tuple__783);
  __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__783, __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":5701
 *         if self._paramsArray is not NULL:
 *             free(self._paramsArray)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__784 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__784)) __PYX_ERR(0, 5701, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__784);
  __Pyx_GIVEREF(__pyx_tuple__784);
  __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__784, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 5701, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__311)) __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__785 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__785)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__785);
  __Pyx_GIVEREF(__pyx_tuple__785);
  __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__785, __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__786 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__786)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__786);
  __Pyx_GIVEREF(__pyx_tuple__786);
  __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__786, __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":5813
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_tuple__787 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__787)) __PYX_ERR(0, 5813, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__787);
  __Pyx_GIVEREF(__pyx_tuple__787);
  __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__787, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 5813, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__316)) __PYX_ERR(0, 5813, __pyx_L1_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__788 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__788)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__788);
  __Pyx_GIVEREF(__pyx_tuple__788);
  __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__788, __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__789 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__789)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__789);
  __Pyx_GIVEREF(__pyx_tuple__789);
  __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__789, __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":5946
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_tuple__790 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__790)) __PYX_ERR(0, 5946, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__790);
  __Pyx_GIVEREF(__pyx_tuple__790);
  __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__790, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 5946, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__321)) __PYX_ERR(0, 5946, __pyx_L1_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__791 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__791)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__791);
  __Pyx_GIVEREF(__pyx_tuple__791);
  __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__791, __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__792 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__792)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__792);
  __Pyx_GIVEREF(__pyx_tuple__792);
  __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__792, __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":5977
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_tuple__793 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__793)) __PYX_ERR(0, 5977, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__793);
  __Pyx_GIVEREF(__pyx_tuple__793);
  __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__793, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_getPtr, 5977, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__326)) __PYX_ERR(0, 5977, __pyx_L1_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__794 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__794)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__794);
  __Pyx_GIVEREF(__pyx_tuple__794);
  __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__794, __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__795 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__795)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__795);
  __Pyx_GIVEREF(__pyx_tuple__795);
  __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__795, __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":5981
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceReset():             # <<<<<<<<<<<<<<
 *     """ Destroy all allocations and reset all state on the current device in the current process.
 * 
 */
  __pyx_tuple__796 = PyTuple_Pack(1, __pyx_n_s_err); if (unlikely(!__pyx_tuple__796)) __PYX_ERR(0, 5981, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__796);
  __Pyx_GIVEREF(__pyx_tuple__796);
  __pyx_codeobj__331 = (PyObject*)__Pyx_PyCode_New(0, 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_cuda_cudart_pyx, __pyx_n_s_cudaDeviceReset, 5981, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__331)) __PYX_ERR(0, 5981, __pyx_L1_error)

  /* "cuda/cudart.pyx":6015
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceSynchronize():             # <<<<<<<<<<<<<<
 *     """ Wait for compute device to finish.
 * 
 */
  __pyx_tuple__797 = PyTuple_Pack(1, __pyx_n_s_err); if (unlikely(!__pyx_tuple__797)) __PYX_ERR(0, 6015, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__797);
  __Pyx_GIVEREF(__pyx_tuple__797);
  __pyx_codeobj__332 = (PyObject*)__Pyx_PyCode_New(0, 0, 1, 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_cuda_cudart_pyx, __pyx_n_s_cudaDeviceSynchronize, 6015, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__332)) __PYX_ERR(0, 6015, __pyx_L1_error)

  /* "cuda/cudart.pyx":6041
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceSetLimit(limit not None : cudaLimit, size_t value):             # <<<<<<<<<<<<<<
 *     """ Set resource limits.
 * 
 */
  __pyx_tuple__798 = PyTuple_Pack(4, __pyx_n_s_limit, __pyx_n_s_value, __pyx_n_s_climit, __pyx_n_s_err); if (unlikely(!__pyx_tuple__798)) __PYX_ERR(0, 6041, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__798);
  __Pyx_GIVEREF(__pyx_tuple__798);
  __pyx_codeobj__333 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 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_cudaDeviceSetLimit, 6041, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__333)) __PYX_ERR(0, 6041, __pyx_L1_error)

  /* "cuda/cudart.pyx":6130
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetLimit(limit not None : cudaLimit):             # <<<<<<<<<<<<<<
 *     """ Returns resource limits.
 * 
 */
  __pyx_tuple__799 = PyTuple_Pack(4, __pyx_n_s_limit, __pyx_n_s_pValue, __pyx_n_s_climit, __pyx_n_s_err); if (unlikely(!__pyx_tuple__799)) __PYX_ERR(0, 6130, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__799);
  __Pyx_GIVEREF(__pyx_tuple__799);
  __pyx_codeobj__334 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_cuda_cudart_pyx, __pyx_n_s_cudaDeviceGetLimit, 6130, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__334)) __PYX_ERR(0, 6130, __pyx_L1_error)

  /* "cuda/cudart.pyx":6171
 * 
 * @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__800 = 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__800)) __PYX_ERR(0, 6171, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__800);
  __Pyx_GIVEREF(__pyx_tuple__800);
  __pyx_codeobj__335 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 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_cuda_cudart_pyx, __pyx_n_s_cudaDeviceGetTexture1DLinearMaxW, 6171, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__335)) __PYX_ERR(0, 6171, __pyx_L1_error)

  /* "cuda/cudart.pyx":6199
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetCacheConfig():             # <<<<<<<<<<<<<<
 *     """ Returns the preferred cache configuration for the current device.
 * 
 */
  __pyx_tuple__801 = PyTuple_Pack(2, __pyx_n_s_pCacheConfig, __pyx_n_s_err); if (unlikely(!__pyx_tuple__801)) __PYX_ERR(0, 6199, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__801);
  __Pyx_GIVEREF(__pyx_tuple__801);
  __pyx_codeobj__336 = (PyObject*)__Pyx_PyCode_New(0, 0, 2, 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_cudaDeviceGetCacheConfig, 6199, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__336)) __PYX_ERR(0, 6199, __pyx_L1_error)

  /* "cuda/cudart.pyx":6237
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetStreamPriorityRange():             # <<<<<<<<<<<<<<
 *     """ Returns numerical values that correspond to the least and greatest stream priorities.
 * 
 */
  __pyx_tuple__802 = PyTuple_Pack(3, __pyx_n_s_leastPriority, __pyx_n_s_greatestPriority, __pyx_n_s_err); if (unlikely(!__pyx_tuple__802)) __PYX_ERR(0, 6237, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__802);
  __Pyx_GIVEREF(__pyx_tuple__802);
  __pyx_codeobj__337 = (PyObject*)__Pyx_PyCode_New(0, 0, 3, 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_cuda_cudart_pyx, __pyx_n_s_cudaDeviceGetStreamPriorityRange, 6237, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__337)) __PYX_ERR(0, 6237, __pyx_L1_error)

  /* "cuda/cudart.pyx":6279
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceSetCacheConfig(cacheConfig not None : cudaFuncCache):             # <<<<<<<<<<<<<<
 *     """ Sets the preferred cache configuration for the current device.
 * 
 */
  __pyx_tuple__803 = PyTuple_Pack(3, __pyx_n_s_cacheConfig, __pyx_n_s_ccacheConfig, __pyx_n_s_err); if (unlikely(!__pyx_tuple__803)) __PYX_ERR(0, 6279, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__803);
  __Pyx_GIVEREF(__pyx_tuple__803);
  __pyx_codeobj__338 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 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_cuda_cudart_pyx, __pyx_n_s_cudaDeviceSetCacheConfig, 6279, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__338)) __PYX_ERR(0, 6279, __pyx_L1_error)

  /* "cuda/cudart.pyx":6330
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetSharedMemConfig():             # <<<<<<<<<<<<<<
 *     """ Returns the shared memory configuration for the current device.
 * 
 */
  __pyx_tuple__804 = PyTuple_Pack(2, __pyx_n_s_pConfig, __pyx_n_s_err); if (unlikely(!__pyx_tuple__804)) __PYX_ERR(0, 6330, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__804);
  __Pyx_GIVEREF(__pyx_tuple__804);
  __pyx_codeobj__339 = (PyObject*)__Pyx_PyCode_New(0, 0, 2, 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_cudaDeviceGetSharedMemConfig, 6330, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__339)) __PYX_ERR(0, 6330, __pyx_L1_error)

  /* "cuda/cudart.pyx":6367
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceSetSharedMemConfig(config not None : cudaSharedMemConfig):             # <<<<<<<<<<<<<<
 *     """ Sets the shared memory configuration for the current device.
 * 
 */
  __pyx_tuple__805 = PyTuple_Pack(3, __pyx_n_s_config, __pyx_n_s_cconfig, __pyx_n_s_err); if (unlikely(!__pyx_tuple__805)) __PYX_ERR(0, 6367, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__805);
  __Pyx_GIVEREF(__pyx_tuple__805);
  __pyx_codeobj__340 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 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_cuda_cudart_pyx, __pyx_n_s_cudaDeviceSetSharedMemConfig, 6367, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__340)) __PYX_ERR(0, 6367, __pyx_L1_error)

  /* "cuda/cudart.pyx":6419
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetByPCIBusId(char* pciBusId):             # <<<<<<<<<<<<<<
 *     """ Returns a handle to a compute device.
 * 
 */
  __pyx_tuple__806 = PyTuple_Pack(4, __pyx_n_s_pciBusId, __pyx_n_s_pciBusId, __pyx_n_s_device_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__806)) __PYX_ERR(0, 6419, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__806);
  __Pyx_GIVEREF(__pyx_tuple__806);
  __pyx_codeobj__341 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_cuda_cudart_pyx, __pyx_n_s_cudaDeviceGetByPCIBusId, 6419, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__341)) __PYX_ERR(0, 6419, __pyx_L1_error)

  /* "cuda/cudart.pyx":6448
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetPCIBusId(int length, int device):             # <<<<<<<<<<<<<<
 *     """ Returns a PCI Bus Id string for the device.
 * 
 */
  __pyx_tuple__807 = PyTuple_Pack(4, __pyx_n_s_length, __pyx_n_s_device_2, __pyx_n_s_pciBusId, __pyx_n_s_err); if (unlikely(!__pyx_tuple__807)) __PYX_ERR(0, 6448, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__807);
  __Pyx_GIVEREF(__pyx_tuple__807);
  __pyx_codeobj__342 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 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_cudaDeviceGetPCIBusId, 6448, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__342)) __PYX_ERR(0, 6448, __pyx_L1_error)

  /* "cuda/cudart.pyx":6481
 * 
 * @cython.embedsignature(True)
 * def cudaIpcGetEventHandle(event):             # <<<<<<<<<<<<<<
 *     """ Gets an interprocess handle for a previously allocated event.
 * 
 */
  __pyx_tuple__808 = PyTuple_Pack(3, __pyx_n_s_event, __pyx_n_s_handle_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__808)) __PYX_ERR(0, 6481, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__808);
  __Pyx_GIVEREF(__pyx_tuple__808);
  __pyx_codeobj__343 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 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_cuda_cudart_pyx, __pyx_n_s_cudaIpcGetEventHandle, 6481, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__343)) __PYX_ERR(0, 6481, __pyx_L1_error)

  /* "cuda/cudart.pyx":6539
 * 
 * @cython.embedsignature(True)
 * def cudaIpcOpenEventHandle(handle not None : cudaIpcEventHandle_t):             # <<<<<<<<<<<<<<
 *     """ Opens an interprocess event handle for use in the current process.
 * 
 */
  __pyx_tuple__809 = PyTuple_Pack(3, __pyx_n_s_handle_2, __pyx_n_s_event, __pyx_n_s_err); if (unlikely(!__pyx_tuple__809)) __PYX_ERR(0, 6539, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__809);
  __Pyx_GIVEREF(__pyx_tuple__809);
  __pyx_codeobj__344 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 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_cuda_cudart_pyx, __pyx_n_s_cudaIpcOpenEventHandle, 6539, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__344)) __PYX_ERR(0, 6539, __pyx_L1_error)

  /* "cuda/cudart.pyx":6588
 * 
 * @cython.embedsignature(True)
 * def cudaIpcGetMemHandle(devPtr):             # <<<<<<<<<<<<<<
 *     """ Gets an interprocess memory handle for an existing device memory allocation.
 * 
 */
  __pyx_tuple__810 = 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__810)) __PYX_ERR(0, 6588, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__810);
  __Pyx_GIVEREF(__pyx_tuple__810);
  __pyx_codeobj__345 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 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_cudaIpcGetMemHandle, 6588, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__345)) __PYX_ERR(0, 6588, __pyx_L1_error)

  /* "cuda/cudart.pyx":6637
 * 
 * @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__811 = 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__811)) __PYX_ERR(0, 6637, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__811);
  __Pyx_GIVEREF(__pyx_tuple__811);
  __pyx_codeobj__346 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 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_cuda_cudart_pyx, __pyx_n_s_cudaIpcOpenMemHandle, 6637, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__346)) __PYX_ERR(0, 6637, __pyx_L1_error)

  /* "cuda/cudart.pyx":6713
 * 
 * @cython.embedsignature(True)
 * def cudaIpcCloseMemHandle(devPtr):             # <<<<<<<<<<<<<<
 *     """ Attempts to close memory mapped with cudaIpcOpenMemHandle.
 * 
 */
  __pyx_tuple__812 = 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__812)) __PYX_ERR(0, 6713, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__812);
  __Pyx_GIVEREF(__pyx_tuple__812);
  __pyx_codeobj__347 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_cuda_cudart_pyx, __pyx_n_s_cudaIpcCloseMemHandle, 6713, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__347)) __PYX_ERR(0, 6713, __pyx_L1_error)

  /* "cuda/cudart.pyx":6759
 * 
 * @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__813 = 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__813)) __PYX_ERR(0, 6759, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__813);
  __Pyx_GIVEREF(__pyx_tuple__813);
  __pyx_codeobj__348 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 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_cudaDeviceFlushGPUDirectRDMAWrit, 6759, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__348)) __PYX_ERR(0, 6759, __pyx_L1_error)

  /* "cuda/cudart.pyx":6801
 * 
 * @cython.embedsignature(True)
 * def cudaThreadExit():             # <<<<<<<<<<<<<<
 *     """ Exit and clean up from CUDA launches.
 * 
 */
  __pyx_tuple__814 = PyTuple_Pack(1, __pyx_n_s_err); if (unlikely(!__pyx_tuple__814)) __PYX_ERR(0, 6801, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__814);
  __Pyx_GIVEREF(__pyx_tuple__814);
  __pyx_codeobj__349 = (PyObject*)__Pyx_PyCode_New(0, 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_cuda_cudart_pyx, __pyx_n_s_cudaThreadExit, 6801, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__349)) __PYX_ERR(0, 6801, __pyx_L1_error)

  /* "cuda/cudart.pyx":6834
 * 
 * @cython.embedsignature(True)
 * def cudaThreadSynchronize():             # <<<<<<<<<<<<<<
 *     """ Wait for compute device to finish.
 * 
 */
  __pyx_tuple__815 = PyTuple_Pack(1, __pyx_n_s_err); if (unlikely(!__pyx_tuple__815)) __PYX_ERR(0, 6834, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__815);
  __Pyx_GIVEREF(__pyx_tuple__815);
  __pyx_codeobj__350 = (PyObject*)__Pyx_PyCode_New(0, 0, 1, 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_cuda_cudart_pyx, __pyx_n_s_cudaThreadSynchronize, 6834, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__350)) __PYX_ERR(0, 6834, __pyx_L1_error)

  /* "cuda/cudart.pyx":6864
 * 
 * @cython.embedsignature(True)
 * def cudaThreadSetLimit(limit not None : cudaLimit, size_t value):             # <<<<<<<<<<<<<<
 *     """ Set resource limits.
 * 
 */
  __pyx_tuple__816 = PyTuple_Pack(4, __pyx_n_s_limit, __pyx_n_s_value, __pyx_n_s_climit, __pyx_n_s_err); if (unlikely(!__pyx_tuple__816)) __PYX_ERR(0, 6864, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__816);
  __Pyx_GIVEREF(__pyx_tuple__816);
  __pyx_codeobj__351 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 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_cudaThreadSetLimit, 6864, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__351)) __PYX_ERR(0, 6864, __pyx_L1_error)

  /* "cuda/cudart.pyx":6919
 * 
 * @cython.embedsignature(True)
 * def cudaThreadGetLimit(limit not None : cudaLimit):             # <<<<<<<<<<<<<<
 *     """ Returns resource limits.
 * 
 */
  __pyx_tuple__817 = PyTuple_Pack(4, __pyx_n_s_limit, __pyx_n_s_pValue, __pyx_n_s_climit, __pyx_n_s_err); if (unlikely(!__pyx_tuple__817)) __PYX_ERR(0, 6919, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__817);
  __Pyx_GIVEREF(__pyx_tuple__817);
  __pyx_codeobj__352 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_cuda_cudart_pyx, __pyx_n_s_cudaThreadGetLimit, 6919, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__352)) __PYX_ERR(0, 6919, __pyx_L1_error)

  /* "cuda/cudart.pyx":6958
 * 
 * @cython.embedsignature(True)
 * def cudaThreadGetCacheConfig():             # <<<<<<<<<<<<<<
 *     """ Returns the preferred cache configuration for the current device.
 * 
 */
  __pyx_tuple__818 = PyTuple_Pack(2, __pyx_n_s_pCacheConfig, __pyx_n_s_err); if (unlikely(!__pyx_tuple__818)) __PYX_ERR(0, 6958, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__818);
  __Pyx_GIVEREF(__pyx_tuple__818);
  __pyx_codeobj__353 = (PyObject*)__Pyx_PyCode_New(0, 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_cuda_cudart_pyx, __pyx_n_s_cudaThreadGetCacheConfig, 6958, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__353)) __PYX_ERR(0, 6958, __pyx_L1_error)

  /* "cuda/cudart.pyx":6999
 * 
 * @cython.embedsignature(True)
 * def cudaThreadSetCacheConfig(cacheConfig not None : cudaFuncCache):             # <<<<<<<<<<<<<<
 *     """ Sets the preferred cache configuration for the current device.
 * 
 */
  __pyx_tuple__819 = PyTuple_Pack(3, __pyx_n_s_cacheConfig, __pyx_n_s_ccacheConfig, __pyx_n_s_err); if (unlikely(!__pyx_tuple__819)) __PYX_ERR(0, 6999, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__819);
  __Pyx_GIVEREF(__pyx_tuple__819);
  __pyx_codeobj__354 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 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_cudaThreadSetCacheConfig, 6999, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__354)) __PYX_ERR(0, 6999, __pyx_L1_error)

  /* "cuda/cudart.pyx":7053
 * 
 * @cython.embedsignature(True)
 * def cudaGetLastError():             # <<<<<<<<<<<<<<
 *     """ Returns the last error from a runtime call.
 * 
 */
  __pyx_tuple__820 = PyTuple_Pack(1, __pyx_n_s_err); if (unlikely(!__pyx_tuple__820)) __PYX_ERR(0, 7053, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__820);
  __Pyx_GIVEREF(__pyx_tuple__820);
  __pyx_codeobj__355 = (PyObject*)__Pyx_PyCode_New(0, 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_cuda_cudart_pyx, __pyx_n_s_cudaGetLastError, 7053, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__355)) __PYX_ERR(0, 7053, __pyx_L1_error)

  /* "cuda/cudart.pyx":7108
 * 
 * @cython.embedsignature(True)
 * def cudaPeekAtLastError():             # <<<<<<<<<<<<<<
 *     """ Returns the last error from a runtime call.
 * 
 */
  __pyx_tuple__821 = PyTuple_Pack(1, __pyx_n_s_err); if (unlikely(!__pyx_tuple__821)) __PYX_ERR(0, 7108, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__821);
  __Pyx_GIVEREF(__pyx_tuple__821);
  __pyx_codeobj__356 = (PyObject*)__Pyx_PyCode_New(0, 0, 1, 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_cuda_cudart_pyx, __pyx_n_s_cudaPeekAtLastError, 7108, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__356)) __PYX_ERR(0, 7108, __pyx_L1_error)

  /* "cuda/cudart.pyx":7164
 * 
 * @cython.embedsignature(True)
 * def cudaGetErrorName(error not None : cudaError_t):             # <<<<<<<<<<<<<<
 *     """ Returns the string representation of an error code enum name.
 * 
 */
  __pyx_tuple__822 = PyTuple_Pack(3, __pyx_n_s_error, __pyx_n_s_cerror, __pyx_n_s_err); if (unlikely(!__pyx_tuple__822)) __PYX_ERR(0, 7164, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__822);
  __Pyx_GIVEREF(__pyx_tuple__822);
  __pyx_codeobj__357 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 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_cudaGetErrorName, 7164, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__357)) __PYX_ERR(0, 7164, __pyx_L1_error)

  /* "cuda/cudart.pyx":7196
 * 
 * @cython.embedsignature(True)
 * def cudaGetErrorString(error not None : cudaError_t):             # <<<<<<<<<<<<<<
 *     """ Returns the description string for an error code.
 * 
 */
  __pyx_tuple__823 = PyTuple_Pack(3, __pyx_n_s_error, __pyx_n_s_cerror, __pyx_n_s_err); if (unlikely(!__pyx_tuple__823)) __PYX_ERR(0, 7196, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__823);
  __Pyx_GIVEREF(__pyx_tuple__823);
  __pyx_codeobj__358 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 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_cuda_cudart_pyx, __pyx_n_s_cudaGetErrorString, 7196, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__358)) __PYX_ERR(0, 7196, __pyx_L1_error)

  /* "cuda/cudart.pyx":7227
 * 
 * @cython.embedsignature(True)
 * def cudaGetDeviceCount():             # <<<<<<<<<<<<<<
 *     """ Returns the number of compute-capable devices.
 * 
 */
  __pyx_tuple__824 = PyTuple_Pack(2, __pyx_n_s_count, __pyx_n_s_err); if (unlikely(!__pyx_tuple__824)) __PYX_ERR(0, 7227, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__824);
  __Pyx_GIVEREF(__pyx_tuple__824);
  __pyx_codeobj__359 = (PyObject*)__Pyx_PyCode_New(0, 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_cuda_cudart_pyx, __pyx_n_s_cudaGetDeviceCount, 7227, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__359)) __PYX_ERR(0, 7227, __pyx_L1_error)

  /* "cuda/cudart.pyx":7254
 * 
 * @cython.embedsignature(True)
 * def cudaGetDeviceProperties(int device):             # <<<<<<<<<<<<<<
 *     """ Returns information about the compute-device.
 * 
 */
  __pyx_tuple__825 = 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__825)) __PYX_ERR(0, 7254, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__825);
  __Pyx_GIVEREF(__pyx_tuple__825);
  __pyx_codeobj__360 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_cudaGetDeviceProperties, 7254, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__360)) __PYX_ERR(0, 7254, __pyx_L1_error)

  /* "cuda/cudart.pyx":7437
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetAttribute(attr not None : cudaDeviceAttr, int device):             # <<<<<<<<<<<<<<
 *     """ Returns information about the device.
 * 
 */
  __pyx_tuple__826 = 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__826)) __PYX_ERR(0, 7437, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__826);
  __Pyx_GIVEREF(__pyx_tuple__826);
  __pyx_codeobj__361 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 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_cuda_cudart_pyx, __pyx_n_s_cudaDeviceGetAttribute, 7437, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__361)) __PYX_ERR(0, 7437, __pyx_L1_error)

  /* "cuda/cudart.pyx":7641
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetDefaultMemPool(int device):             # <<<<<<<<<<<<<<
 *     """ Returns the default mempool of a device.
 * 
 */
  __pyx_tuple__827 = 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__827)) __PYX_ERR(0, 7641, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__827);
  __Pyx_GIVEREF(__pyx_tuple__827);
  __pyx_codeobj__362 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_cuda_cudart_pyx, __pyx_n_s_cudaDeviceGetDefaultMemPool, 7641, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__362)) __PYX_ERR(0, 7641, __pyx_L1_error)

  /* "cuda/cudart.pyx":7673
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceSetMemPool(int device, memPool):             # <<<<<<<<<<<<<<
 *     """ Sets the current memory pool of a device.
 * 
 */
  __pyx_tuple__828 = PyTuple_Pack(3, __pyx_n_s_device_2, __pyx_n_s_memPool, __pyx_n_s_err); if (unlikely(!__pyx_tuple__828)) __PYX_ERR(0, 7673, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__828);
  __Pyx_GIVEREF(__pyx_tuple__828);
  __pyx_codeobj__363 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 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_cudaDeviceSetMemPool, 7673, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__363)) __PYX_ERR(0, 7673, __pyx_L1_error)

  /* "cuda/cudart.pyx":7711
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetMemPool(int device):             # <<<<<<<<<<<<<<
 *     """ Gets the current mempool for a device.
 * 
 */
  __pyx_tuple__829 = 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__829)) __PYX_ERR(0, 7711, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__829);
  __Pyx_GIVEREF(__pyx_tuple__829);
  __pyx_codeobj__364 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_cuda_cudart_pyx, __pyx_n_s_cudaDeviceGetMemPool, 7711, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__364)) __PYX_ERR(0, 7711, __pyx_L1_error)

  /* "cuda/cudart.pyx":7741
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetNvSciSyncAttributes(int device, int flags):             # <<<<<<<<<<<<<<
 *     """ Return NvSciSync attributes that this device can support.
 * 
 */
  __pyx_tuple__830 = 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__830)) __PYX_ERR(0, 7741, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__830);
  __Pyx_GIVEREF(__pyx_tuple__830);
  __pyx_codeobj__365 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 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_cuda_cudart_pyx, __pyx_n_s_cudaDeviceGetNvSciSyncAttributes, 7741, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__365)) __PYX_ERR(0, 7741, __pyx_L1_error)

  /* "cuda/cudart.pyx":7794
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetP2PAttribute(attr not None : cudaDeviceP2PAttr, int srcDevice, int dstDevice):             # <<<<<<<<<<<<<<
 *     """ Queries attributes of the link between two devices.
 * 
 */
  __pyx_tuple__831 = 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__831)) __PYX_ERR(0, 7794, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__831);
  __Pyx_GIVEREF(__pyx_tuple__831);
  __pyx_codeobj__366 = (PyObject*)__Pyx_PyCode_New(3, 0, 6, 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_cudaDeviceGetP2PAttribute, 7794, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__366)) __PYX_ERR(0, 7794, __pyx_L1_error)

  /* "cuda/cudart.pyx":7842
 * 
 * @cython.embedsignature(True)
 * def cudaChooseDevice(prop : cudaDeviceProp):             # <<<<<<<<<<<<<<
 *     """ Select compute-device which best matches criteria.
 * 
 */
  __pyx_tuple__832 = 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__832)) __PYX_ERR(0, 7842, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__832);
  __Pyx_GIVEREF(__pyx_tuple__832);
  __pyx_codeobj__367 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_cuda_cudart_pyx, __pyx_n_s_cudaChooseDevice, 7842, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__367)) __PYX_ERR(0, 7842, __pyx_L1_error)

  /* "cuda/cudart.pyx":7874
 * 
 * @cython.embedsignature(True)
 * def cudaSetDevice(int device):             # <<<<<<<<<<<<<<
 *     """ Set device to be used for GPU executions.
 * 
 */
  __pyx_tuple__833 = PyTuple_Pack(3, __pyx_n_s_device_2, __pyx_n_s_device_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__833)) __PYX_ERR(0, 7874, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__833);
  __Pyx_GIVEREF(__pyx_tuple__833);
  __pyx_codeobj__368 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 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_cuda_cudart_pyx, __pyx_n_s_cudaSetDevice, 7874, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__368)) __PYX_ERR(0, 7874, __pyx_L1_error)

  /* "cuda/cudart.pyx":7924
 * 
 * @cython.embedsignature(True)
 * def cudaGetDevice():             # <<<<<<<<<<<<<<
 *     """ Returns which device is currently being used.
 * 
 */
  __pyx_tuple__834 = PyTuple_Pack(2, __pyx_n_s_device_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__834)) __PYX_ERR(0, 7924, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__834);
  __Pyx_GIVEREF(__pyx_tuple__834);
  __pyx_codeobj__369 = (PyObject*)__Pyx_PyCode_New(0, 0, 2, 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_cudaGetDevice, 7924, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__369)) __PYX_ERR(0, 7924, __pyx_L1_error)

  /* "cuda/cudart.pyx":7951
 * 
 * @cython.embedsignature(True)
 * def cudaSetDeviceFlags(unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Sets flags to be used for device executions.
 * 
 */
  __pyx_tuple__835 = PyTuple_Pack(3, __pyx_n_s_flags_2, __pyx_n_s_flags_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__835)) __PYX_ERR(0, 7951, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__835);
  __Pyx_GIVEREF(__pyx_tuple__835);
  __pyx_codeobj__370 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 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_cuda_cudart_pyx, __pyx_n_s_cudaSetDeviceFlags, 7951, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__370)) __PYX_ERR(0, 7951, __pyx_L1_error)

  /* "cuda/cudart.pyx":8026
 * 
 * @cython.embedsignature(True)
 * def cudaGetDeviceFlags():             # <<<<<<<<<<<<<<
 *     """ Gets the flags for the current device.
 * 
 */
  __pyx_tuple__836 = PyTuple_Pack(2, __pyx_n_s_flags_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__836)) __PYX_ERR(0, 8026, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__836);
  __Pyx_GIVEREF(__pyx_tuple__836);
  __pyx_codeobj__371 = (PyObject*)__Pyx_PyCode_New(0, 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_cuda_cudart_pyx, __pyx_n_s_cudaGetDeviceFlags, 8026, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__371)) __PYX_ERR(0, 8026, __pyx_L1_error)

  /* "cuda/cudart.pyx":8075
 * 
 * @cython.embedsignature(True)
 * def cudaStreamCreate():             # <<<<<<<<<<<<<<
 *     """ Create an asynchronous stream.
 * 
 */
  __pyx_tuple__837 = PyTuple_Pack(2, __pyx_n_s_pStream, __pyx_n_s_err); if (unlikely(!__pyx_tuple__837)) __PYX_ERR(0, 8075, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__837);
  __Pyx_GIVEREF(__pyx_tuple__837);
  __pyx_codeobj__372 = (PyObject*)__Pyx_PyCode_New(0, 0, 2, 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_cudaStreamCreate, 8075, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__372)) __PYX_ERR(0, 8075, __pyx_L1_error)

  /* "cuda/cudart.pyx":8106
 * 
 * @cython.embedsignature(True)
 * def cudaStreamCreateWithFlags(unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Create an asynchronous stream.
 * 
 */
  __pyx_tuple__838 = 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__838)) __PYX_ERR(0, 8106, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__838);
  __Pyx_GIVEREF(__pyx_tuple__838);
  __pyx_codeobj__373 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_cuda_cudart_pyx, __pyx_n_s_cudaStreamCreateWithFlags, 8106, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__373)) __PYX_ERR(0, 8106, __pyx_L1_error)

  /* "cuda/cudart.pyx":8146
 * 
 * @cython.embedsignature(True)
 * def cudaStreamCreateWithPriority(unsigned int flags, int priority):             # <<<<<<<<<<<<<<
 *     """ Create an asynchronous stream with the specified priority.
 * 
 */
  __pyx_tuple__839 = PyTuple_Pack(4, __pyx_n_s_flags_2, __pyx_n_s_priority, __pyx_n_s_pStream, __pyx_n_s_err); if (unlikely(!__pyx_tuple__839)) __PYX_ERR(0, 8146, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__839);
  __Pyx_GIVEREF(__pyx_tuple__839);
  __pyx_codeobj__374 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 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_cuda_cudart_pyx, __pyx_n_s_cudaStreamCreateWithPriority, 8146, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__374)) __PYX_ERR(0, 8146, __pyx_L1_error)

  /* "cuda/cudart.pyx":8203
 * 
 * @cython.embedsignature(True)
 * def cudaStreamGetPriority(hStream):             # <<<<<<<<<<<<<<
 *     """ Query the priority of a stream.
 * 
 */
  __pyx_tuple__840 = PyTuple_Pack(3, __pyx_n_s_hStream, __pyx_n_s_priority, __pyx_n_s_err); if (unlikely(!__pyx_tuple__840)) __PYX_ERR(0, 8203, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__840);
  __Pyx_GIVEREF(__pyx_tuple__840);
  __pyx_codeobj__375 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 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_cudaStreamGetPriority, 8203, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__375)) __PYX_ERR(0, 8203, __pyx_L1_error)

  /* "cuda/cudart.pyx":8242
 * 
 * @cython.embedsignature(True)
 * def cudaStreamGetFlags(hStream):             # <<<<<<<<<<<<<<
 *     """ Query the flags of a stream.
 * 
 */
  __pyx_tuple__841 = PyTuple_Pack(3, __pyx_n_s_hStream, __pyx_n_s_flags_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__841)) __PYX_ERR(0, 8242, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__841);
  __Pyx_GIVEREF(__pyx_tuple__841);
  __pyx_codeobj__376 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 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_cuda_cudart_pyx, __pyx_n_s_cudaStreamGetFlags, 8242, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__376)) __PYX_ERR(0, 8242, __pyx_L1_error)

  /* "cuda/cudart.pyx":8277
 * 
 * @cython.embedsignature(True)
 * def cudaCtxResetPersistingL2Cache():             # <<<<<<<<<<<<<<
 *     """ Resets all persisting lines in cache to normal status.
 * 
 */
  __pyx_tuple__842 = PyTuple_Pack(1, __pyx_n_s_err); if (unlikely(!__pyx_tuple__842)) __PYX_ERR(0, 8277, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__842);
  __Pyx_GIVEREF(__pyx_tuple__842);
  __pyx_codeobj__377 = (PyObject*)__Pyx_PyCode_New(0, 0, 1, 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_cuda_cudart_pyx, __pyx_n_s_cudaCtxResetPersistingL2Cache, 8277, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__377)) __PYX_ERR(0, 8277, __pyx_L1_error)

  /* "cuda/cudart.pyx":8298
 * 
 * @cython.embedsignature(True)
 * def cudaStreamCopyAttributes(dst, src):             # <<<<<<<<<<<<<<
 *     """ Copies attributes from source stream to destination stream.
 * 
 */
  __pyx_tuple__843 = PyTuple_Pack(3, __pyx_n_s_dst_2, __pyx_n_s_src, __pyx_n_s_err); if (unlikely(!__pyx_tuple__843)) __PYX_ERR(0, 8298, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__843);
  __Pyx_GIVEREF(__pyx_tuple__843);
  __pyx_codeobj__378 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 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_cudaStreamCopyAttributes, 8298, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__378)) __PYX_ERR(0, 8298, __pyx_L1_error)

  /* "cuda/cudart.pyx":8331
 * 
 * @cython.embedsignature(True)
 * def cudaStreamGetAttribute(hStream, attr not None : cudaStreamAttrID):             # <<<<<<<<<<<<<<
 *     """ Queries stream attribute.
 * 
 */
  __pyx_tuple__844 = PyTuple_Pack(5, __pyx_n_s_hStream, __pyx_n_s_attr, __pyx_n_s_cattr, __pyx_n_s_value_out, __pyx_n_s_err); if (unlikely(!__pyx_tuple__844)) __PYX_ERR(0, 8331, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__844);
  __Pyx_GIVEREF(__pyx_tuple__844);
  __pyx_codeobj__379 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 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_cuda_cudart_pyx, __pyx_n_s_cudaStreamGetAttribute, 8331, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__379)) __PYX_ERR(0, 8331, __pyx_L1_error)

  /* "cuda/cudart.pyx":8365
 * 
 * @cython.embedsignature(True)
 * def cudaStreamSetAttribute(hStream, attr not None : cudaStreamAttrID, value : cudaStreamAttrValue):             # <<<<<<<<<<<<<<
 *     """ Sets stream attribute.
 * 
 */
  __pyx_tuple__845 = PyTuple_Pack(6, __pyx_n_s_hStream, __pyx_n_s_attr, __pyx_n_s_value, __pyx_n_s_cattr, __pyx_n_s_cvalue_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__845)) __PYX_ERR(0, 8365, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__845);
  __Pyx_GIVEREF(__pyx_tuple__845);
  __pyx_codeobj__380 = (PyObject*)__Pyx_PyCode_New(3, 0, 6, 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_cuda_cudart_pyx, __pyx_n_s_cudaStreamSetAttribute, 8365, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__380)) __PYX_ERR(0, 8365, __pyx_L1_error)

  /* "cuda/cudart.pyx":8402
 * 
 * @cython.embedsignature(True)
 * def cudaStreamDestroy(stream):             # <<<<<<<<<<<<<<
 *     """ Destroys and cleans up an asynchronous stream.
 * 
 */
  __pyx_tuple__846 = PyTuple_Pack(2, __pyx_n_s_stream, __pyx_n_s_err); if (unlikely(!__pyx_tuple__846)) __PYX_ERR(0, 8402, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__846);
  __Pyx_GIVEREF(__pyx_tuple__846);
  __pyx_codeobj__381 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 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_cudaStreamDestroy, 8402, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__381)) __PYX_ERR(0, 8402, __pyx_L1_error)

  /* "cuda/cudart.pyx":8442
 * 
 * @cython.embedsignature(True)
 * def cudaStreamWaitEvent(stream, event, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Make a compute stream wait on an event.
 * 
 */
  __pyx_tuple__847 = PyTuple_Pack(4, __pyx_n_s_stream, __pyx_n_s_event, __pyx_n_s_flags_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__847)) __PYX_ERR(0, 8442, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__847);
  __Pyx_GIVEREF(__pyx_tuple__847);
  __pyx_codeobj__382 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 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_cuda_cudart_pyx, __pyx_n_s_cudaStreamWaitEvent, 8442, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__382)) __PYX_ERR(0, 8442, __pyx_L1_error)

  /* "cuda/cudart.pyx":8491
 * 
 * @cython.embedsignature(True)
 * def cudaStreamAddCallback(stream, callback not None : cudaStreamCallback_t, userData, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Add a callback to a compute stream.
 * 
 */
  __pyx_tuple__848 = PyTuple_Pack(7, __pyx_n_s_stream, __pyx_n_s_callback, __pyx_n_s_userData_2, __pyx_n_s_flags_2, __pyx_n_s_cuserData, __pyx_n_s_cuserData_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__848)) __PYX_ERR(0, 8491, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__848);
  __Pyx_GIVEREF(__pyx_tuple__848);
  __pyx_codeobj__383 = (PyObject*)__Pyx_PyCode_New(4, 0, 7, 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_cuda_cudart_pyx, __pyx_n_s_cudaStreamAddCallback, 8491, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__383)) __PYX_ERR(0, 8491, __pyx_L1_error)

  /* "cuda/cudart.pyx":8571
 * 
 * @cython.embedsignature(True)
 * def cudaStreamSynchronize(stream):             # <<<<<<<<<<<<<<
 *     """ Waits for stream tasks to complete.
 * 
 */
  __pyx_tuple__849 = PyTuple_Pack(2, __pyx_n_s_stream, __pyx_n_s_err); if (unlikely(!__pyx_tuple__849)) __PYX_ERR(0, 8571, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__849);
  __Pyx_GIVEREF(__pyx_tuple__849);
  __pyx_codeobj__384 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 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_cudaStreamSynchronize, 8571, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__384)) __PYX_ERR(0, 8571, __pyx_L1_error)

  /* "cuda/cudart.pyx":8608
 * 
 * @cython.embedsignature(True)
 * def cudaStreamQuery(stream):             # <<<<<<<<<<<<<<
 *     """ Queries an asynchronous stream for completion status.
 * 
 */
  __pyx_tuple__850 = PyTuple_Pack(2, __pyx_n_s_stream, __pyx_n_s_err); if (unlikely(!__pyx_tuple__850)) __PYX_ERR(0, 8608, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__850);
  __Pyx_GIVEREF(__pyx_tuple__850);
  __pyx_codeobj__385 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 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_cuda_cudart_pyx, __pyx_n_s_cudaStreamQuery, 8608, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__385)) __PYX_ERR(0, 8608, __pyx_L1_error)

  /* "cuda/cudart.pyx":8647
 * 
 * @cython.embedsignature(True)
 * def cudaStreamAttachMemAsync(stream, devPtr, size_t length, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Attach memory to a stream asynchronously.
 * 
 */
  __pyx_tuple__851 = PyTuple_Pack(7, __pyx_n_s_stream, __pyx_n_s_devPtr_2, __pyx_n_s_length, __pyx_n_s_flags_2, __pyx_n_s_cdevPtr, __pyx_n_s_cdevPtr_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__851)) __PYX_ERR(0, 8647, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__851);
  __Pyx_GIVEREF(__pyx_tuple__851);
  __pyx_codeobj__386 = (PyObject*)__Pyx_PyCode_New(4, 0, 7, 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_cuda_cudart_pyx, __pyx_n_s_cudaStreamAttachMemAsync, 8647, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__386)) __PYX_ERR(0, 8647, __pyx_L1_error)

  /* "cuda/cudart.pyx":8754
 * 
 * @cython.embedsignature(True)
 * def cudaStreamBeginCapture(stream, mode not None : cudaStreamCaptureMode):             # <<<<<<<<<<<<<<
 *     """ Begins graph capture on a stream.
 * 
 */
  __pyx_tuple__852 = PyTuple_Pack(4, __pyx_n_s_stream, __pyx_n_s_mode, __pyx_n_s_cmode, __pyx_n_s_err); if (unlikely(!__pyx_tuple__852)) __PYX_ERR(0, 8754, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__852);
  __Pyx_GIVEREF(__pyx_tuple__852);
  __pyx_codeobj__387 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 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_cudaStreamBeginCapture, 8754, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__387)) __PYX_ERR(0, 8754, __pyx_L1_error)

  /* "cuda/cudart.pyx":8806
 * 
 * @cython.embedsignature(True)
 * def cudaThreadExchangeStreamCaptureMode(mode not None : cudaStreamCaptureMode):             # <<<<<<<<<<<<<<
 *     """ Swaps the stream capture interaction mode for a thread.
 * 
 */
  __pyx_tuple__853 = PyTuple_Pack(3, __pyx_n_s_mode, __pyx_n_s_cmode, __pyx_n_s_err); if (unlikely(!__pyx_tuple__853)) __PYX_ERR(0, 8806, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__853);
  __Pyx_GIVEREF(__pyx_tuple__853);
  __pyx_codeobj__388 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 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_cuda_cudart_pyx, __pyx_n_s_cudaThreadExchangeStreamCaptureM, 8806, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__388)) __PYX_ERR(0, 8806, __pyx_L1_error)

  /* "cuda/cudart.pyx":8868
 * 
 * @cython.embedsignature(True)
 * def cudaStreamEndCapture(stream):             # <<<<<<<<<<<<<<
 *     """ Ends capture on a stream, returning the captured graph.
 * 
 */
  __pyx_tuple__854 = PyTuple_Pack(3, __pyx_n_s_stream, __pyx_n_s_pGraph, __pyx_n_s_err); if (unlikely(!__pyx_tuple__854)) __PYX_ERR(0, 8868, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__854);
  __Pyx_GIVEREF(__pyx_tuple__854);
  __pyx_codeobj__389 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 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_cuda_cudart_pyx, __pyx_n_s_cudaStreamEndCapture, 8868, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__389)) __PYX_ERR(0, 8868, __pyx_L1_error)

  /* "cuda/cudart.pyx":8907
 * 
 * @cython.embedsignature(True)
 * def cudaStreamIsCapturing(stream):             # <<<<<<<<<<<<<<
 *     """ Returns a stream's capture status.
 * 
 */
  __pyx_tuple__855 = PyTuple_Pack(3, __pyx_n_s_stream, __pyx_n_s_pCaptureStatus, __pyx_n_s_err); if (unlikely(!__pyx_tuple__855)) __PYX_ERR(0, 8907, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__855);
  __Pyx_GIVEREF(__pyx_tuple__855);
  __pyx_codeobj__390 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 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_cudaStreamIsCapturing, 8907, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__390)) __PYX_ERR(0, 8907, __pyx_L1_error)

  /* "cuda/cudart.pyx":8956
 * 
 * @cython.embedsignature(True)
 * def cudaStreamGetCaptureInfo(stream):             # <<<<<<<<<<<<<<
 *     """ Query capture status of a stream.
 * 
 */
  __pyx_tuple__856 = PyTuple_Pack(4, __pyx_n_s_stream, __pyx_n_s_pCaptureStatus, __pyx_n_s_pId, __pyx_n_s_err); if (unlikely(!__pyx_tuple__856)) __PYX_ERR(0, 8956, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__856);
  __Pyx_GIVEREF(__pyx_tuple__856);
  __pyx_codeobj__391 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_cuda_cudart_pyx, __pyx_n_s_cudaStreamGetCaptureInfo, 8956, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__391)) __PYX_ERR(0, 8956, __pyx_L1_error)

  /* "cuda/cudart.pyx":9003
 * 
 * @cython.embedsignature(True)
 * def cudaStreamGetCaptureInfo_v2(stream):             # <<<<<<<<<<<<<<
 *     """ Query a stream's capture state (11.3+)
 * 
 */
  __pyx_tuple__857 = PyTuple_Pack(9, __pyx_n_s_stream, __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__857)) __PYX_ERR(0, 9003, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__857);
  __Pyx_GIVEREF(__pyx_tuple__857);
  __pyx_codeobj__392 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 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_cuda_cudart_pyx, __pyx_n_s_cudaStreamGetCaptureInfo_v2, 9003, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__392)) __PYX_ERR(0, 9003, __pyx_L1_error)

  /* "cuda/cudart.pyx":9083
 * 
 * @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__858 = PyTuple_Pack(9, __pyx_n_s_stream, __pyx_n_s_dependencies, __pyx_n_s_numDependencies, __pyx_n_s_flags_2, __pyx_n_s_cdependencies, __pyx_n_s_idx, __pyx_n_s_err, __pyx_n_s_genexpr, __pyx_n_s_genexpr); if (unlikely(!__pyx_tuple__858)) __PYX_ERR(0, 9083, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__858);
  __Pyx_GIVEREF(__pyx_tuple__858);
  __pyx_codeobj__393 = (PyObject*)__Pyx_PyCode_New(4, 0, 9, 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_cudaStreamUpdateCaptureDependenc_3, 9083, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__393)) __PYX_ERR(0, 9083, __pyx_L1_error)

  /* "cuda/cudart.pyx":9141
 * 
 * @cython.embedsignature(True)
 * def cudaEventCreate():             # <<<<<<<<<<<<<<
 *     """ Creates an event object.
 * 
 */
  __pyx_tuple__859 = PyTuple_Pack(2, __pyx_n_s_event, __pyx_n_s_err); if (unlikely(!__pyx_tuple__859)) __PYX_ERR(0, 9141, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__859);
  __Pyx_GIVEREF(__pyx_tuple__859);
  __pyx_codeobj__396 = (PyObject*)__Pyx_PyCode_New(0, 0, 2, 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_cuda_cudart_pyx, __pyx_n_s_cudaEventCreate, 9141, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__396)) __PYX_ERR(0, 9141, __pyx_L1_error)

  /* "cuda/cudart.pyx":9172
 * 
 * @cython.embedsignature(True)
 * def cudaEventCreateWithFlags(unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Creates an event object with the specified flags.
 * 
 */
  __pyx_tuple__860 = PyTuple_Pack(4, __pyx_n_s_flags_2, __pyx_n_s_flags_2, __pyx_n_s_event, __pyx_n_s_err); if (unlikely(!__pyx_tuple__860)) __PYX_ERR(0, 9172, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__860);
  __Pyx_GIVEREF(__pyx_tuple__860);
  __pyx_codeobj__397 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_cuda_cudart_pyx, __pyx_n_s_cudaEventCreateWithFlags, 9172, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__397)) __PYX_ERR(0, 9172, __pyx_L1_error)

  /* "cuda/cudart.pyx":9218
 * 
 * @cython.embedsignature(True)
 * def cudaEventRecord(event, stream):             # <<<<<<<<<<<<<<
 *     """ Records an event.
 * 
 */
  __pyx_tuple__861 = PyTuple_Pack(3, __pyx_n_s_event, __pyx_n_s_stream, __pyx_n_s_err); if (unlikely(!__pyx_tuple__861)) __PYX_ERR(0, 9218, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__861);
  __Pyx_GIVEREF(__pyx_tuple__861);
  __pyx_codeobj__398 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 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_cudaEventRecord, 9218, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__398)) __PYX_ERR(0, 9218, __pyx_L1_error)

  /* "cuda/cudart.pyx":9273
 * 
 * @cython.embedsignature(True)
 * def cudaEventRecordWithFlags(event, stream, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Records an event.
 * 
 */
  __pyx_tuple__862 = PyTuple_Pack(4, __pyx_n_s_event, __pyx_n_s_stream, __pyx_n_s_flags_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__862)) __PYX_ERR(0, 9273, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__862);
  __Pyx_GIVEREF(__pyx_tuple__862);
  __pyx_codeobj__399 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 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_cuda_cudart_pyx, __pyx_n_s_cudaEventRecordWithFlags, 9273, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__399)) __PYX_ERR(0, 9273, __pyx_L1_error)

  /* "cuda/cudart.pyx":9334
 * 
 * @cython.embedsignature(True)
 * def cudaEventQuery(event):             # <<<<<<<<<<<<<<
 *     """ Queries an event's status.
 * 
 */
  __pyx_tuple__863 = PyTuple_Pack(2, __pyx_n_s_event, __pyx_n_s_err); if (unlikely(!__pyx_tuple__863)) __PYX_ERR(0, 9334, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__863);
  __Pyx_GIVEREF(__pyx_tuple__863);
  __pyx_codeobj__400 = (PyObject*)__Pyx_PyCode_New(1, 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_cuda_cudart_pyx, __pyx_n_s_cudaEventQuery, 9334, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__400)) __PYX_ERR(0, 9334, __pyx_L1_error)

  /* "cuda/cudart.pyx":9378
 * 
 * @cython.embedsignature(True)
 * def cudaEventSynchronize(event):             # <<<<<<<<<<<<<<
 *     """ Waits for an event to complete.
 * 
 */
  __pyx_tuple__864 = PyTuple_Pack(2, __pyx_n_s_event, __pyx_n_s_err); if (unlikely(!__pyx_tuple__864)) __PYX_ERR(0, 9378, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__864);
  __Pyx_GIVEREF(__pyx_tuple__864);
  __pyx_codeobj__401 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 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_cudaEventSynchronize, 9378, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__401)) __PYX_ERR(0, 9378, __pyx_L1_error)

  /* "cuda/cudart.pyx":9421
 * 
 * @cython.embedsignature(True)
 * def cudaEventDestroy(event):             # <<<<<<<<<<<<<<
 *     """ Destroys an event object.
 * 
 */
  __pyx_tuple__865 = PyTuple_Pack(2, __pyx_n_s_event, __pyx_n_s_err); if (unlikely(!__pyx_tuple__865)) __PYX_ERR(0, 9421, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__865);
  __Pyx_GIVEREF(__pyx_tuple__865);
  __pyx_codeobj__402 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 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_cuda_cudart_pyx, __pyx_n_s_cudaEventDestroy, 9421, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__402)) __PYX_ERR(0, 9421, __pyx_L1_error)

  /* "cuda/cudart.pyx":9462
 * 
 * @cython.embedsignature(True)
 * def cudaEventElapsedTime(start, end):             # <<<<<<<<<<<<<<
 *     """ Computes the elapsed time between events.
 * 
 */
  __pyx_tuple__866 = PyTuple_Pack(4, __pyx_n_s_start, __pyx_n_s_end, __pyx_n_s_ms, __pyx_n_s_err); if (unlikely(!__pyx_tuple__866)) __PYX_ERR(0, 9462, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__866);
  __Pyx_GIVEREF(__pyx_tuple__866);
  __pyx_codeobj__403 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 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_cuda_cudart_pyx, __pyx_n_s_cudaEventElapsedTime, 9462, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__403)) __PYX_ERR(0, 9462, __pyx_L1_error)

  /* "cuda/cudart.pyx":9521
 * 
 * @cython.embedsignature(True)
 * def cudaImportExternalMemory(memHandleDesc : cudaExternalMemoryHandleDesc):             # <<<<<<<<<<<<<<
 *     """ Imports an external memory object.
 * 
 */
  __pyx_tuple__867 = 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__867)) __PYX_ERR(0, 9521, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__867);
  __Pyx_GIVEREF(__pyx_tuple__867);
  __pyx_codeobj__404 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_cudaImportExternalMemory, 9521, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__404)) __PYX_ERR(0, 9521, __pyx_L1_error)

  /* "cuda/cudart.pyx":9677
 * 
 * @cython.embedsignature(True)
 * def cudaExternalMemoryGetMappedBuffer(extMem not None : cudaExternalMemory_t, bufferDesc : cudaExternalMemoryBufferDesc):             # <<<<<<<<<<<<<<
 *     """ Maps a buffer onto an imported memory object.
 * 
 */
  __pyx_tuple__868 = PyTuple_Pack(5, __pyx_n_s_extMem, __pyx_n_s_bufferDesc, __pyx_n_s_devPtr_2, __pyx_n_s_cbufferDesc_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__868)) __PYX_ERR(0, 9677, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__868);
  __Pyx_GIVEREF(__pyx_tuple__868);
  __pyx_codeobj__405 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 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_cuda_cudart_pyx, __pyx_n_s_cudaExternalMemoryGetMappedBuffe, 9677, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__405)) __PYX_ERR(0, 9677, __pyx_L1_error)

  /* "cuda/cudart.pyx":9736
 * 
 * @cython.embedsignature(True)
 * def cudaExternalMemoryGetMappedMipmappedArray(extMem not None : cudaExternalMemory_t, mipmapDesc : cudaExternalMemoryMipmappedArrayDesc):             # <<<<<<<<<<<<<<
 *     """ Maps a CUDA mipmapped array onto an external memory object.
 * 
 */
  __pyx_tuple__869 = PyTuple_Pack(5, __pyx_n_s_extMem, __pyx_n_s_mipmapDesc, __pyx_n_s_mipmap_2, __pyx_n_s_cmipmapDesc_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__869)) __PYX_ERR(0, 9736, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__869);
  __Pyx_GIVEREF(__pyx_tuple__869);
  __pyx_codeobj__406 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 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_cuda_cudart_pyx, __pyx_n_s_cudaExternalMemoryGetMappedMipma, 9736, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__406)) __PYX_ERR(0, 9736, __pyx_L1_error)

  /* "cuda/cudart.pyx":9801
 * 
 * @cython.embedsignature(True)
 * def cudaDestroyExternalMemory(extMem not None : cudaExternalMemory_t):             # <<<<<<<<<<<<<<
 *     """ Destroys an external memory object.
 * 
 */
  __pyx_tuple__870 = PyTuple_Pack(2, __pyx_n_s_extMem, __pyx_n_s_err); if (unlikely(!__pyx_tuple__870)) __PYX_ERR(0, 9801, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__870);
  __Pyx_GIVEREF(__pyx_tuple__870);
  __pyx_codeobj__407 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 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_cudaDestroyExternalMemory, 9801, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__407)) __PYX_ERR(0, 9801, __pyx_L1_error)

  /* "cuda/cudart.pyx":9832
 * 
 * @cython.embedsignature(True)
 * def cudaImportExternalSemaphore(semHandleDesc : cudaExternalSemaphoreHandleDesc):             # <<<<<<<<<<<<<<
 *     """ Imports an external semaphore.
 * 
 */
  __pyx_tuple__871 = 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__871)) __PYX_ERR(0, 9832, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__871);
  __Pyx_GIVEREF(__pyx_tuple__871);
  __pyx_codeobj__408 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_cuda_cudart_pyx, __pyx_n_s_cudaImportExternalSemaphore, 9832, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__408)) __PYX_ERR(0, 9832, __pyx_L1_error)

  /* "cuda/cudart.pyx":9981
 * 
 * @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__872 = PyTuple_Pack(11, __pyx_n_s_extSemArray_2, __pyx_n_s_paramsArray_2, __pyx_n_s_numExtSems_2, __pyx_n_s_stream, __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__872)) __PYX_ERR(0, 9981, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__872);
  __Pyx_GIVEREF(__pyx_tuple__872);
  __pyx_codeobj__409 = (PyObject*)__Pyx_PyCode_New(4, 0, 11, 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_cuda_cudart_pyx, __pyx_n_s_cudaSignalExternalSemaphoresAsyn_2, 9981, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__409)) __PYX_ERR(0, 9981, __pyx_L1_error)

  /* "cuda/cudart.pyx":10093
 * 
 * @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__873 = PyTuple_Pack(11, __pyx_n_s_extSemArray_2, __pyx_n_s_paramsArray_2, __pyx_n_s_numExtSems_2, __pyx_n_s_stream, __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__873)) __PYX_ERR(0, 10093, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__873);
  __Pyx_GIVEREF(__pyx_tuple__873);
  __pyx_codeobj__412 = (PyObject*)__Pyx_PyCode_New(4, 0, 11, 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_cudaWaitExternalSemaphoresAsync_2, 10093, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__412)) __PYX_ERR(0, 10093, __pyx_L1_error)

  /* "cuda/cudart.pyx":10212
 * 
 * @cython.embedsignature(True)
 * def cudaDestroyExternalSemaphore(extSem not None : cudaExternalSemaphore_t):             # <<<<<<<<<<<<<<
 *     """ Destroys an external semaphore.
 * 
 */
  __pyx_tuple__874 = PyTuple_Pack(2, __pyx_n_s_extSem, __pyx_n_s_err); if (unlikely(!__pyx_tuple__874)) __PYX_ERR(0, 10212, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__874);
  __Pyx_GIVEREF(__pyx_tuple__874);
  __pyx_codeobj__414 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 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_cuda_cudart_pyx, __pyx_n_s_cudaDestroyExternalSemaphore, 10212, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__414)) __PYX_ERR(0, 10212, __pyx_L1_error)

  /* "cuda/cudart.pyx":10242
 * 
 * @cython.embedsignature(True)
 * def cudaFuncSetCacheConfig(func, cacheConfig not None : cudaFuncCache):             # <<<<<<<<<<<<<<
 *     """ Sets the preferred cache configuration for a device function.
 * 
 */
  __pyx_tuple__875 = 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__875)) __PYX_ERR(0, 10242, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__875);
  __Pyx_GIVEREF(__pyx_tuple__875);
  __pyx_codeobj__415 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 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_cuda_cudart_pyx, __pyx_n_s_cudaFuncSetCacheConfig, 10242, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__415)) __PYX_ERR(0, 10242, __pyx_L1_error)

  /* "cuda/cudart.pyx":10301
 * 
 * @cython.embedsignature(True)
 * def cudaFuncSetSharedMemConfig(func, config not None : cudaSharedMemConfig):             # <<<<<<<<<<<<<<
 *     """ Sets the shared memory configuration for a device function.
 * 
 */
  __pyx_tuple__876 = 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__876)) __PYX_ERR(0, 10301, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__876);
  __Pyx_GIVEREF(__pyx_tuple__876);
  __pyx_codeobj__416 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 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_cudaFuncSetSharedMemConfig, 10301, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__416)) __PYX_ERR(0, 10301, __pyx_L1_error)

  /* "cuda/cudart.pyx":10368
 * 
 * @cython.embedsignature(True)
 * def cudaFuncGetAttributes(func):             # <<<<<<<<<<<<<<
 *     """ Find out attributes for a given function.
 * 
 */
  __pyx_tuple__877 = 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__877)) __PYX_ERR(0, 10368, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__877);
  __Pyx_GIVEREF(__pyx_tuple__877);
  __pyx_codeobj__417 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 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_cuda_cudart_pyx, __pyx_n_s_cudaFuncGetAttributes, 10368, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__417)) __PYX_ERR(0, 10368, __pyx_L1_error)

  /* "cuda/cudart.pyx":10409
 * 
 * @cython.embedsignature(True)
 * def cudaFuncSetAttribute(func, attr not None : cudaFuncAttribute, int value):             # <<<<<<<<<<<<<<
 *     """ Set attributes for a given function.
 * 
 */
  __pyx_tuple__878 = 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__878)) __PYX_ERR(0, 10409, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__878);
  __Pyx_GIVEREF(__pyx_tuple__878);
  __pyx_codeobj__418 = (PyObject*)__Pyx_PyCode_New(3, 0, 7, 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_cuda_cudart_pyx, __pyx_n_s_cudaFuncSetAttribute, 10409, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__418)) __PYX_ERR(0, 10409, __pyx_L1_error)

  /* "cuda/cudart.pyx":10460
 * 
 * @cython.embedsignature(True)
 * def cudaSetDoubleForDevice(double d):             # <<<<<<<<<<<<<<
 *     """ Converts a double argument to be executed on a device.
 * 
 */
  __pyx_tuple__879 = PyTuple_Pack(3, __pyx_n_s_d, __pyx_n_s_d, __pyx_n_s_err); if (unlikely(!__pyx_tuple__879)) __PYX_ERR(0, 10460, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__879);
  __Pyx_GIVEREF(__pyx_tuple__879);
  __pyx_codeobj__419 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 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_cudaSetDoubleForDevice, 10460, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__419)) __PYX_ERR(0, 10460, __pyx_L1_error)

  /* "cuda/cudart.pyx":10489
 * 
 * @cython.embedsignature(True)
 * def cudaSetDoubleForHost(double d):             # <<<<<<<<<<<<<<
 *     """ Converts a double argument after execution on a device.
 * 
 */
  __pyx_tuple__880 = PyTuple_Pack(3, __pyx_n_s_d, __pyx_n_s_d, __pyx_n_s_err); if (unlikely(!__pyx_tuple__880)) __PYX_ERR(0, 10489, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__880);
  __Pyx_GIVEREF(__pyx_tuple__880);
  __pyx_codeobj__420 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 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_cuda_cudart_pyx, __pyx_n_s_cudaSetDoubleForHost, 10489, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__420)) __PYX_ERR(0, 10489, __pyx_L1_error)

  /* "cuda/cudart.pyx":10520
 * 
 * @cython.embedsignature(True)
 * def cudaLaunchHostFunc(stream, fn not None : cudaHostFn_t, userData):             # <<<<<<<<<<<<<<
 *     """ Enqueues a host function call in a stream.
 * 
 */
  __pyx_tuple__881 = PyTuple_Pack(6, __pyx_n_s_stream, __pyx_n_s_fn_2, __pyx_n_s_userData_2, __pyx_n_s_cuserData, __pyx_n_s_cuserData_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__881)) __PYX_ERR(0, 10520, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__881);
  __Pyx_GIVEREF(__pyx_tuple__881);
  __pyx_codeobj__421 = (PyObject*)__Pyx_PyCode_New(3, 0, 6, 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_cuda_cudart_pyx, __pyx_n_s_cudaLaunchHostFunc, 10520, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__421)) __PYX_ERR(0, 10520, __pyx_L1_error)

  /* "cuda/cudart.pyx":10596
 * 
 * @cython.embedsignature(True)
 * def cudaOccupancyMaxActiveBlocksPerMultiprocessor(func, int blockSize, size_t dynamicSMemSize):             # <<<<<<<<<<<<<<
 *     """ Returns occupancy for a device function.
 * 
 */
  __pyx_tuple__882 = 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__882)) __PYX_ERR(0, 10596, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__882);
  __Pyx_GIVEREF(__pyx_tuple__882);
  __pyx_codeobj__422 = (PyObject*)__Pyx_PyCode_New(3, 0, 7, 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_cudaOccupancyMaxActiveBlocksPerM, 10596, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__422)) __PYX_ERR(0, 10596, __pyx_L1_error)

  /* "cuda/cudart.pyx":10639
 * 
 * @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__883 = 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__883)) __PYX_ERR(0, 10639, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__883);
  __Pyx_GIVEREF(__pyx_tuple__883);
  __pyx_codeobj__423 = (PyObject*)__Pyx_PyCode_New(3, 0, 7, 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_cuda_cudart_pyx, __pyx_n_s_cudaOccupancyAvailableDynamicSMe, 10639, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__423)) __PYX_ERR(0, 10639, __pyx_L1_error)

  /* "cuda/cudart.pyx":10681
 * 
 * @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__884 = 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__884)) __PYX_ERR(0, 10681, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__884);
  __Pyx_GIVEREF(__pyx_tuple__884);
  __pyx_codeobj__424 = (PyObject*)__Pyx_PyCode_New(4, 0, 8, 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_cuda_cudart_pyx, __pyx_n_s_cudaOccupancyMaxActiveBlocksPerM_2, 10681, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__424)) __PYX_ERR(0, 10681, __pyx_L1_error)

  /* "cuda/cudart.pyx":10740
 * 
 * @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__885 = 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__885)) __PYX_ERR(0, 10740, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__885);
  __Pyx_GIVEREF(__pyx_tuple__885);
  __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__885, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_cudaMallocManaged, 10740, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__425)) __PYX_ERR(0, 10740, __pyx_L1_error)

  /* "cuda/cudart.pyx":10873
 * 
 * @cython.embedsignature(True)
 * def cudaMalloc(size_t size):             # <<<<<<<<<<<<<<
 *     """ Allocate memory on the device.
 * 
 */
  __pyx_tuple__886 = 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__886)) __PYX_ERR(0, 10873, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__886);
  __Pyx_GIVEREF(__pyx_tuple__886);
  __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__886, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_cudaMalloc, 10873, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__426)) __PYX_ERR(0, 10873, __pyx_L1_error)

  /* "cuda/cudart.pyx":10917
 * 
 * @cython.embedsignature(True)
 * def cudaMallocHost(size_t size):             # <<<<<<<<<<<<<<
 *     """ Allocates page-locked memory on the host.
 * 
 */
  __pyx_tuple__887 = 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__887)) __PYX_ERR(0, 10917, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__887);
  __Pyx_GIVEREF(__pyx_tuple__887);
  __pyx_codeobj__427 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_cuda_cudart_pyx, __pyx_n_s_cudaMallocHost, 10917, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__427)) __PYX_ERR(0, 10917, __pyx_L1_error)

  /* "cuda/cudart.pyx":10965
 * 
 * @cython.embedsignature(True)
 * def cudaMallocPitch(size_t width, size_t height):             # <<<<<<<<<<<<<<
 *     """ Allocates pitched memory on the device.
 * 
 */
  __pyx_tuple__888 = 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__888)) __PYX_ERR(0, 10965, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__888);
  __Pyx_GIVEREF(__pyx_tuple__888);
  __pyx_codeobj__428 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 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_cudaMallocPitch, 10965, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__428)) __PYX_ERR(0, 10965, __pyx_L1_error)

  /* "cuda/cudart.pyx":11024
 * 
 * @cython.embedsignature(True)
 * def cudaMallocArray(desc : cudaChannelFormatDesc, size_t width, size_t height, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Allocate an array on the device.
 * 
 */
  __pyx_tuple__889 = 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__889)) __PYX_ERR(0, 11024, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__889);
  __Pyx_GIVEREF(__pyx_tuple__889);
  __pyx_codeobj__429 = (PyObject*)__Pyx_PyCode_New(4, 0, 7, 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_cuda_cudart_pyx, __pyx_n_s_cudaMallocArray, 11024, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__429)) __PYX_ERR(0, 11024, __pyx_L1_error)

  /* "cuda/cudart.pyx":11089
 * 
 * @cython.embedsignature(True)
 * def cudaFree(devPtr):             # <<<<<<<<<<<<<<
 *     """ Frees memory on the device.
 * 
 */
  __pyx_tuple__890 = 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__890)) __PYX_ERR(0, 11089, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__890);
  __Pyx_GIVEREF(__pyx_tuple__890);
  __pyx_codeobj__430 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_cuda_cudart_pyx, __pyx_n_s_cudaFree, 11089, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__430)) __PYX_ERR(0, 11089, __pyx_L1_error)

  /* "cuda/cudart.pyx":11134
 * 
 * @cython.embedsignature(True)
 * def cudaFreeHost(ptr):             # <<<<<<<<<<<<<<
 *     """ Frees page-locked memory.
 * 
 */
  __pyx_tuple__891 = 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__891)) __PYX_ERR(0, 11134, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__891);
  __Pyx_GIVEREF(__pyx_tuple__891);
  __pyx_codeobj__431 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_cudaFreeHost, 11134, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__431)) __PYX_ERR(0, 11134, __pyx_L1_error)

  /* "cuda/cudart.pyx":11173
 * 
 * @cython.embedsignature(True)
 * def cudaFreeArray(array not None : cudaArray_t):             # <<<<<<<<<<<<<<
 *     """ Frees an array on the device.
 * 
 */
  __pyx_tuple__892 = PyTuple_Pack(2, __pyx_n_s_array_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__892)) __PYX_ERR(0, 11173, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__892);
  __Pyx_GIVEREF(__pyx_tuple__892);
  __pyx_codeobj__432 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 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_cuda_cudart_pyx, __pyx_n_s_cudaFreeArray, 11173, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__432)) __PYX_ERR(0, 11173, __pyx_L1_error)

  /* "cuda/cudart.pyx":11209
 * 
 * @cython.embedsignature(True)
 * def cudaFreeMipmappedArray(mipmappedArray not None : cudaMipmappedArray_t):             # <<<<<<<<<<<<<<
 *     """ Frees a mipmapped array on the device.
 * 
 */
  __pyx_tuple__893 = PyTuple_Pack(2, __pyx_n_s_mipmappedArray, __pyx_n_s_err); if (unlikely(!__pyx_tuple__893)) __PYX_ERR(0, 11209, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__893);
  __Pyx_GIVEREF(__pyx_tuple__893);
  __pyx_codeobj__433 = (PyObject*)__Pyx_PyCode_New(1, 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_cuda_cudart_pyx, __pyx_n_s_cudaFreeMipmappedArray, 11209, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__433)) __PYX_ERR(0, 11209, __pyx_L1_error)

  /* "cuda/cudart.pyx":11244
 * 
 * @cython.embedsignature(True)
 * def cudaHostAlloc(size_t size, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Allocates page-locked memory on the host.
 * 
 */
  __pyx_tuple__894 = 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__894)) __PYX_ERR(0, 11244, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__894);
  __Pyx_GIVEREF(__pyx_tuple__894);
  __pyx_codeobj__434 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 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_cudaHostAlloc, 11244, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__434)) __PYX_ERR(0, 11244, __pyx_L1_error)

  /* "cuda/cudart.pyx":11320
 * 
 * @cython.embedsignature(True)
 * def cudaHostRegister(ptr, size_t size, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Registers an existing host memory range for use by CUDA.
 * 
 */
  __pyx_tuple__895 = 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__895)) __PYX_ERR(0, 11320, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__895);
  __Pyx_GIVEREF(__pyx_tuple__895);
  __pyx_codeobj__435 = (PyObject*)__Pyx_PyCode_New(3, 0, 6, 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_cuda_cudart_pyx, __pyx_n_s_cudaHostRegister, 11320, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__435)) __PYX_ERR(0, 11320, __pyx_L1_error)

  /* "cuda/cudart.pyx":11429
 * 
 * @cython.embedsignature(True)
 * def cudaHostUnregister(ptr):             # <<<<<<<<<<<<<<
 *     """ Unregisters a memory range that was registered with cudaHostRegister.
 * 
 */
  __pyx_tuple__896 = 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__896)) __PYX_ERR(0, 11429, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__896);
  __Pyx_GIVEREF(__pyx_tuple__896);
  __pyx_codeobj__436 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_cuda_cudart_pyx, __pyx_n_s_cudaHostUnregister, 11429, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__436)) __PYX_ERR(0, 11429, __pyx_L1_error)

  /* "cuda/cudart.pyx":11463
 * 
 * @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__897 = 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__897)) __PYX_ERR(0, 11463, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__897);
  __Pyx_GIVEREF(__pyx_tuple__897);
  __pyx_codeobj__437 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 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_cudaHostGetDevicePointer, 11463, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__437)) __PYX_ERR(0, 11463, __pyx_L1_error)

  /* "cuda/cudart.pyx":11522
 * 
 * @cython.embedsignature(True)
 * def cudaHostGetFlags(pHost):             # <<<<<<<<<<<<<<
 *     """ Passes back flags used to allocate pinned host memory allocated by cudaHostAlloc.
 * 
 */
  __pyx_tuple__898 = 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__898)) __PYX_ERR(0, 11522, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__898);
  __Pyx_GIVEREF(__pyx_tuple__898);
  __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__898, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_cudaHostGetFlags, 11522, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__438)) __PYX_ERR(0, 11522, __pyx_L1_error)

  /* "cuda/cudart.pyx":11553
 * 
 * @cython.embedsignature(True)
 * def cudaMalloc3D(extent not None : cudaExtent):             # <<<<<<<<<<<<<<
 *     """ Allocates logical 1D, 2D, or 3D memory objects on the device.
 * 
 */
  __pyx_tuple__899 = PyTuple_Pack(3, __pyx_n_s_extent_2, __pyx_n_s_pitchedDevPtr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__899)) __PYX_ERR(0, 11553, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__899);
  __Pyx_GIVEREF(__pyx_tuple__899);
  __pyx_codeobj__439 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 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_cuda_cudart_pyx, __pyx_n_s_cudaMalloc3D, 11553, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__439)) __PYX_ERR(0, 11553, __pyx_L1_error)

  /* "cuda/cudart.pyx":11609
 * 
 * @cython.embedsignature(True)
 * def cudaMalloc3DArray(desc : cudaChannelFormatDesc, extent not None : cudaExtent, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Allocate an array on the device.
 * 
 */
  __pyx_tuple__900 = 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__900)) __PYX_ERR(0, 11609, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__900);
  __Pyx_GIVEREF(__pyx_tuple__900);
  __pyx_codeobj__440 = (PyObject*)__Pyx_PyCode_New(3, 0, 6, 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_cudaMalloc3DArray, 11609, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__440)) __PYX_ERR(0, 11609, __pyx_L1_error)

  /* "cuda/cudart.pyx":11727
 * 
 * @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__901 = 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__901)) __PYX_ERR(0, 11727, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__901);
  __Pyx_GIVEREF(__pyx_tuple__901);
  __pyx_codeobj__441 = (PyObject*)__Pyx_PyCode_New(4, 0, 7, 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_cuda_cudart_pyx, __pyx_n_s_cudaMallocMipmappedArray, 11727, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__441)) __PYX_ERR(0, 11727, __pyx_L1_error)

  /* "cuda/cudart.pyx":11848
 * 
 * @cython.embedsignature(True)
 * def cudaGetMipmappedArrayLevel(mipmappedArray not None : cudaMipmappedArray_const_t, unsigned int level):             # <<<<<<<<<<<<<<
 *     """ Gets a mipmap level of a CUDA mipmapped array.
 * 
 */
  __pyx_tuple__902 = PyTuple_Pack(4, __pyx_n_s_mipmappedArray, __pyx_n_s_level, __pyx_n_s_levelArray, __pyx_n_s_err); if (unlikely(!__pyx_tuple__902)) __PYX_ERR(0, 11848, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__902);
  __Pyx_GIVEREF(__pyx_tuple__902);
  __pyx_codeobj__442 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 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_cuda_cudart_pyx, __pyx_n_s_cudaGetMipmappedArrayLevel, 11848, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__442)) __PYX_ERR(0, 11848, __pyx_L1_error)

  /* "cuda/cudart.pyx":11894
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy3D(p : cudaMemcpy3DParms):             # <<<<<<<<<<<<<<
 *     """ Copies data between 3D objects.
 * 
 */
  __pyx_tuple__903 = PyTuple_Pack(3, __pyx_n_s_p, __pyx_n_s_cp_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__903)) __PYX_ERR(0, 11894, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__903);
  __Pyx_GIVEREF(__pyx_tuple__903);
  __pyx_codeobj__443 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 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_cudaMemcpy3D, 11894, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__443)) __PYX_ERR(0, 11894, __pyx_L1_error)

  /* "cuda/cudart.pyx":12000
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy3DPeer(p : cudaMemcpy3DPeerParms):             # <<<<<<<<<<<<<<
 *     """ Copies memory between devices.
 * 
 */
  __pyx_tuple__904 = PyTuple_Pack(3, __pyx_n_s_p, __pyx_n_s_cp_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__904)) __PYX_ERR(0, 12000, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__904);
  __Pyx_GIVEREF(__pyx_tuple__904);
  __pyx_codeobj__444 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 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_cuda_cudart_pyx, __pyx_n_s_cudaMemcpy3DPeer, 12000, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__444)) __PYX_ERR(0, 12000, __pyx_L1_error)

  /* "cuda/cudart.pyx":12042
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy3DAsync(p : cudaMemcpy3DParms, stream):             # <<<<<<<<<<<<<<
 *     """ Copies data between 3D objects.
 * 
 */
  __pyx_tuple__905 = PyTuple_Pack(4, __pyx_n_s_p, __pyx_n_s_stream, __pyx_n_s_cp_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__905)) __PYX_ERR(0, 12042, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__905);
  __Pyx_GIVEREF(__pyx_tuple__905);
  __pyx_codeobj__445 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 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_cuda_cudart_pyx, __pyx_n_s_cudaMemcpy3DAsync, 12042, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__445)) __PYX_ERR(0, 12042, __pyx_L1_error)

  /* "cuda/cudart.pyx":12162
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy3DPeerAsync(p : cudaMemcpy3DPeerParms, stream):             # <<<<<<<<<<<<<<
 *     """ Copies memory between devices asynchronously.
 * 
 */
  __pyx_tuple__906 = PyTuple_Pack(4, __pyx_n_s_p, __pyx_n_s_stream, __pyx_n_s_cp_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__906)) __PYX_ERR(0, 12162, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__906);
  __Pyx_GIVEREF(__pyx_tuple__906);
  __pyx_codeobj__446 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 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_cudaMemcpy3DPeerAsync, 12162, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__446)) __PYX_ERR(0, 12162, __pyx_L1_error)

  /* "cuda/cudart.pyx":12201
 * 
 * @cython.embedsignature(True)
 * def cudaMemGetInfo():             # <<<<<<<<<<<<<<
 *     """ Gets free and total device memory.
 * 
 */
  __pyx_tuple__907 = PyTuple_Pack(3, __pyx_n_s_free, __pyx_n_s_total, __pyx_n_s_err); if (unlikely(!__pyx_tuple__907)) __PYX_ERR(0, 12201, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__907);
  __Pyx_GIVEREF(__pyx_tuple__907);
  __pyx_codeobj__447 = (PyObject*)__Pyx_PyCode_New(0, 0, 3, 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_cuda_cudart_pyx, __pyx_n_s_cudaMemGetInfo, 12201, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__447)) __PYX_ERR(0, 12201, __pyx_L1_error)

  /* "cuda/cudart.pyx":12230
 * 
 * @cython.embedsignature(True)
 * def cudaArrayGetInfo(array not None : cudaArray_t):             # <<<<<<<<<<<<<<
 *     """ Gets info about the specified cudaArray.
 * 
 */
  __pyx_tuple__908 = PyTuple_Pack(5, __pyx_n_s_array_2, __pyx_n_s_desc_2, __pyx_n_s_extent_2, __pyx_n_s_flags_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__908)) __PYX_ERR(0, 12230, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__908);
  __Pyx_GIVEREF(__pyx_tuple__908);
  __pyx_codeobj__448 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 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_cuda_cudart_pyx, __pyx_n_s_cudaArrayGetInfo, 12230, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__448)) __PYX_ERR(0, 12230, __pyx_L1_error)

  /* "cuda/cudart.pyx":12267
 * 
 * @cython.embedsignature(True)
 * def cudaArrayGetPlane(hArray not None : cudaArray_t, unsigned int planeIdx):             # <<<<<<<<<<<<<<
 *     """ Gets a CUDA array plane from a CUDA array.
 * 
 */
  __pyx_tuple__909 = PyTuple_Pack(4, __pyx_n_s_hArray, __pyx_n_s_planeIdx, __pyx_n_s_pPlaneArray, __pyx_n_s_err); if (unlikely(!__pyx_tuple__909)) __PYX_ERR(0, 12267, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__909);
  __Pyx_GIVEREF(__pyx_tuple__909);
  __pyx_codeobj__449 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 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_cudaArrayGetPlane, 12267, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__449)) __PYX_ERR(0, 12267, __pyx_L1_error)

  /* "cuda/cudart.pyx":12309
 * 
 * @cython.embedsignature(True)
 * def cudaArrayGetSparseProperties(array not None : cudaArray_t):             # <<<<<<<<<<<<<<
 *     """ Returns the layout properties of a sparse CUDA array.
 * 
 */
  __pyx_tuple__910 = PyTuple_Pack(3, __pyx_n_s_array_2, __pyx_n_s_sparseProperties, __pyx_n_s_err); if (unlikely(!__pyx_tuple__910)) __PYX_ERR(0, 12309, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__910);
  __Pyx_GIVEREF(__pyx_tuple__910);
  __pyx_codeobj__450 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 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_cuda_cudart_pyx, __pyx_n_s_cudaArrayGetSparseProperties, 12309, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__450)) __PYX_ERR(0, 12309, __pyx_L1_error)

  /* "cuda/cudart.pyx":12351
 * 
 * @cython.embedsignature(True)
 * def cudaMipmappedArrayGetSparseProperties(mipmap not None : cudaMipmappedArray_t):             # <<<<<<<<<<<<<<
 *     """ Returns the layout properties of a sparse CUDA mipmapped array.
 * 
 */
  __pyx_tuple__911 = PyTuple_Pack(3, __pyx_n_s_mipmap_2, __pyx_n_s_sparseProperties, __pyx_n_s_err); if (unlikely(!__pyx_tuple__911)) __PYX_ERR(0, 12351, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__911);
  __Pyx_GIVEREF(__pyx_tuple__911);
  __pyx_codeobj__451 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 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_cuda_cudart_pyx, __pyx_n_s_cudaMipmappedArrayGetSparsePrope, 12351, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__451)) __PYX_ERR(0, 12351, __pyx_L1_error)

  /* "cuda/cudart.pyx":12394
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy(dst, src, size_t count, kind not None : cudaMemcpyKind):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */
  __pyx_tuple__912 = 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__912)) __PYX_ERR(0, 12394, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__912);
  __Pyx_GIVEREF(__pyx_tuple__912);
  __pyx_codeobj__452 = (PyObject*)__Pyx_PyCode_New(4, 0, 10, 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_cudaMemcpy, 12394, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__452)) __PYX_ERR(0, 12394, __pyx_L1_error)

  /* "cuda/cudart.pyx":12457
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpyPeer(dst, int dstDevice, src, int srcDevice, size_t count):             # <<<<<<<<<<<<<<
 *     """ Copies memory between two devices.
 * 
 */
  __pyx_tuple__913 = 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__913)) __PYX_ERR(0, 12457, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__913);
  __Pyx_GIVEREF(__pyx_tuple__913);
  __pyx_codeobj__453 = (PyObject*)__Pyx_PyCode_New(5, 0, 10, 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_cuda_cudart_pyx, __pyx_n_s_cudaMemcpyPeer, 12457, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__453)) __PYX_ERR(0, 12457, __pyx_L1_error)

  /* "cuda/cudart.pyx":12510
 * 
 * @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__914 = 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__914)) __PYX_ERR(0, 12510, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__914);
  __Pyx_GIVEREF(__pyx_tuple__914);
  __pyx_codeobj__454 = (PyObject*)__Pyx_PyCode_New(7, 0, 13, 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_cuda_cudart_pyx, __pyx_n_s_cudaMemcpy2D, 12510, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__454)) __PYX_ERR(0, 12510, __pyx_L1_error)

  /* "cuda/cudart.pyx":12583
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy2DToArray(dst not None : cudaArray_t, 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__915 = PyTuple_Pack(12, __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_csrc, __pyx_n_s_csrc_ptr, __pyx_n_s_ckind, __pyx_n_s_err); if (unlikely(!__pyx_tuple__915)) __PYX_ERR(0, 12583, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__915);
  __Pyx_GIVEREF(__pyx_tuple__915);
  __pyx_codeobj__455 = (PyObject*)__Pyx_PyCode_New(8, 0, 12, 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_cudaMemcpy2DToArray, 12583, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__455)) __PYX_ERR(0, 12583, __pyx_L1_error)

  /* "cuda/cudart.pyx":12655
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy2DFromArray(dst, size_t dpitch, src not None : cudaArray_const_t, size_t wOffset, size_t hOffset, size_t width, size_t height, kind not None : cudaMemcpyKind):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */
  __pyx_tuple__916 = PyTuple_Pack(12, __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_cdst, __pyx_n_s_cdst_ptr, __pyx_n_s_ckind, __pyx_n_s_err); if (unlikely(!__pyx_tuple__916)) __PYX_ERR(0, 12655, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__916);
  __Pyx_GIVEREF(__pyx_tuple__916);
  __pyx_codeobj__456 = (PyObject*)__Pyx_PyCode_New(8, 0, 12, 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_cuda_cudart_pyx, __pyx_n_s_cudaMemcpy2DFromArray, 12655, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__456)) __PYX_ERR(0, 12655, __pyx_L1_error)

  /* "cuda/cudart.pyx":12727
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy2DArrayToArray(dst not None : cudaArray_t, size_t wOffsetDst, size_t hOffsetDst, src not None : cudaArray_const_t, size_t wOffsetSrc, size_t hOffsetSrc, size_t width, size_t height, kind not None : cudaMemcpyKind):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */
  __pyx_tuple__917 = PyTuple_Pack(11, __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_ckind, __pyx_n_s_err); if (unlikely(!__pyx_tuple__917)) __PYX_ERR(0, 12727, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__917);
  __Pyx_GIVEREF(__pyx_tuple__917);
  __pyx_codeobj__457 = (PyObject*)__Pyx_PyCode_New(9, 0, 11, 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_cuda_cudart_pyx, __pyx_n_s_cudaMemcpy2DArrayToArray, 12727, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__457)) __PYX_ERR(0, 12727, __pyx_L1_error)

  /* "cuda/cudart.pyx":12796
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpyAsync(dst, src, size_t count, kind not None : cudaMemcpyKind, stream):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */
  __pyx_tuple__918 = PyTuple_Pack(11, __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_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__918)) __PYX_ERR(0, 12796, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__918);
  __Pyx_GIVEREF(__pyx_tuple__918);
  __pyx_codeobj__458 = (PyObject*)__Pyx_PyCode_New(5, 0, 11, 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_cudaMemcpyAsync, 12796, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__458)) __PYX_ERR(0, 12796, __pyx_L1_error)

  /* "cuda/cudart.pyx":12875
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpyPeerAsync(dst, int dstDevice, src, int srcDevice, size_t count, stream):             # <<<<<<<<<<<<<<
 *     """ Copies memory between two devices asynchronously.
 * 
 */
  __pyx_tuple__919 = PyTuple_Pack(11, __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_cdst, __pyx_n_s_cdst_ptr, __pyx_n_s_csrc, __pyx_n_s_csrc_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__919)) __PYX_ERR(0, 12875, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__919);
  __Pyx_GIVEREF(__pyx_tuple__919);
  __pyx_codeobj__459 = (PyObject*)__Pyx_PyCode_New(6, 0, 11, 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_cuda_cudart_pyx, __pyx_n_s_cudaMemcpyPeerAsync, 12875, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__459)) __PYX_ERR(0, 12875, __pyx_L1_error)

  /* "cuda/cudart.pyx":12930
 * 
 * @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__920 = PyTuple_Pack(14, __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_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__920)) __PYX_ERR(0, 12930, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__920);
  __Pyx_GIVEREF(__pyx_tuple__920);
  __pyx_codeobj__460 = (PyObject*)__Pyx_PyCode_New(8, 0, 14, 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_cuda_cudart_pyx, __pyx_n_s_cudaMemcpy2DAsync, 12930, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__460)) __PYX_ERR(0, 12930, __pyx_L1_error)

  /* "cuda/cudart.pyx":13017
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy2DToArrayAsync(dst not None : cudaArray_t, 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__921 = PyTuple_Pack(13, __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_csrc, __pyx_n_s_csrc_ptr, __pyx_n_s_ckind, __pyx_n_s_err); if (unlikely(!__pyx_tuple__921)) __PYX_ERR(0, 13017, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__921);
  __Pyx_GIVEREF(__pyx_tuple__921);
  __pyx_codeobj__461 = (PyObject*)__Pyx_PyCode_New(9, 0, 13, 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_cudaMemcpy2DToArrayAsync, 13017, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__461)) __PYX_ERR(0, 13017, __pyx_L1_error)

  /* "cuda/cudart.pyx":13095
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy2DFromArrayAsync(dst, size_t dpitch, src not None : cudaArray_const_t, 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__922 = PyTuple_Pack(13, __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_cdst, __pyx_n_s_cdst_ptr, __pyx_n_s_ckind, __pyx_n_s_err); if (unlikely(!__pyx_tuple__922)) __PYX_ERR(0, 13095, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__922);
  __Pyx_GIVEREF(__pyx_tuple__922);
  __pyx_codeobj__462 = (PyObject*)__Pyx_PyCode_New(9, 0, 13, 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_cuda_cudart_pyx, __pyx_n_s_cudaMemcpy2DFromArrayAsync, 13095, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__462)) __PYX_ERR(0, 13095, __pyx_L1_error)

  /* "cuda/cudart.pyx":13174
 * 
 * @cython.embedsignature(True)
 * def cudaMemset(devPtr, int value, size_t count):             # <<<<<<<<<<<<<<
 *     """ Initializes or sets device memory to a value.
 * 
 */
  __pyx_tuple__923 = 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__923)) __PYX_ERR(0, 13174, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__923);
  __Pyx_GIVEREF(__pyx_tuple__923);
  __pyx_codeobj__463 = (PyObject*)__Pyx_PyCode_New(3, 0, 6, 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_cuda_cudart_pyx, __pyx_n_s_cudaMemset, 13174, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__463)) __PYX_ERR(0, 13174, __pyx_L1_error)

  /* "cuda/cudart.pyx":13213
 * 
 * @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__924 = 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__924)) __PYX_ERR(0, 13213, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__924);
  __Pyx_GIVEREF(__pyx_tuple__924);
  __pyx_codeobj__464 = (PyObject*)__Pyx_PyCode_New(5, 0, 8, 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_cudaMemset2D, 13213, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__464)) __PYX_ERR(0, 13213, __pyx_L1_error)

  /* "cuda/cudart.pyx":13263
 * 
 * @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__925 = PyTuple_Pack(4, __pyx_n_s_pitchedDevPtr, __pyx_n_s_value, __pyx_n_s_extent_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__925)) __PYX_ERR(0, 13263, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__925);
  __Pyx_GIVEREF(__pyx_tuple__925);
  __pyx_codeobj__465 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 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_cuda_cudart_pyx, __pyx_n_s_cudaMemset3D, 13263, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__465)) __PYX_ERR(0, 13263, __pyx_L1_error)

  /* "cuda/cudart.pyx":13323
 * 
 * @cython.embedsignature(True)
 * def cudaMemsetAsync(devPtr, int value, size_t count, stream):             # <<<<<<<<<<<<<<
 *     """ Initializes or sets device memory to a value.
 * 
 */
  __pyx_tuple__926 = PyTuple_Pack(7, __pyx_n_s_devPtr_2, __pyx_n_s_value, __pyx_n_s_count, __pyx_n_s_stream, __pyx_n_s_cdevPtr, __pyx_n_s_cdevPtr_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__926)) __PYX_ERR(0, 13323, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__926);
  __Pyx_GIVEREF(__pyx_tuple__926);
  __pyx_codeobj__466 = (PyObject*)__Pyx_PyCode_New(4, 0, 7, 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_cuda_cudart_pyx, __pyx_n_s_cudaMemsetAsync, 13323, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__466)) __PYX_ERR(0, 13323, __pyx_L1_error)

  /* "cuda/cudart.pyx":13377
 * 
 * @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__927 = PyTuple_Pack(9, __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_cdevPtr, __pyx_n_s_cdevPtr_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__927)) __PYX_ERR(0, 13377, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__927);
  __Pyx_GIVEREF(__pyx_tuple__927);
  __pyx_codeobj__467 = (PyObject*)__Pyx_PyCode_New(6, 0, 9, 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_cudaMemset2DAsync, 13377, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__467)) __PYX_ERR(0, 13377, __pyx_L1_error)

  /* "cuda/cudart.pyx":13437
 * 
 * @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__928 = PyTuple_Pack(5, __pyx_n_s_pitchedDevPtr, __pyx_n_s_value, __pyx_n_s_extent_2, __pyx_n_s_stream, __pyx_n_s_err); if (unlikely(!__pyx_tuple__928)) __PYX_ERR(0, 13437, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__928);
  __Pyx_GIVEREF(__pyx_tuple__928);
  __pyx_codeobj__468 = (PyObject*)__Pyx_PyCode_New(4, 0, 5, 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_cuda_cudart_pyx, __pyx_n_s_cudaMemset3DAsync, 13437, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__468)) __PYX_ERR(0, 13437, __pyx_L1_error)

  /* "cuda/cudart.pyx":13507
 * 
 * @cython.embedsignature(True)
 * def cudaMemPrefetchAsync(devPtr, size_t count, int dstDevice, stream):             # <<<<<<<<<<<<<<
 *     """ Prefetches memory to the specified destination device.
 * 
 */
  __pyx_tuple__929 = PyTuple_Pack(7, __pyx_n_s_devPtr_2, __pyx_n_s_count, __pyx_n_s_dstDevice_2, __pyx_n_s_stream, __pyx_n_s_cdevPtr, __pyx_n_s_cdevPtr_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__929)) __PYX_ERR(0, 13507, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__929);
  __Pyx_GIVEREF(__pyx_tuple__929);
  __pyx_codeobj__469 = (PyObject*)__Pyx_PyCode_New(4, 0, 7, 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_cuda_cudart_pyx, __pyx_n_s_cudaMemPrefetchAsync, 13507, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__469)) __PYX_ERR(0, 13507, __pyx_L1_error)

  /* "cuda/cudart.pyx":13600
 * 
 * @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__930 = 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__930)) __PYX_ERR(0, 13600, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__930);
  __Pyx_GIVEREF(__pyx_tuple__930);
  __pyx_codeobj__470 = (PyObject*)__Pyx_PyCode_New(4, 0, 8, 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_cudaMemAdvise, 13600, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__470)) __PYX_ERR(0, 13600, __pyx_L1_error)

  /* "cuda/cudart.pyx":13758
 * 
 * @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__931 = 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__931)) __PYX_ERR(0, 13758, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__931);
  __Pyx_GIVEREF(__pyx_tuple__931);
  __pyx_codeobj__471 = (PyObject*)__Pyx_PyCode_New(4, 0, 10, 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_cuda_cudart_pyx, __pyx_n_s_cudaMemRangeGetAttribute, 13758, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__471)) __PYX_ERR(0, 13758, __pyx_L1_error)

  /* "cuda/cudart.pyx":13843
 * 
 * @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__932 = 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__932)) __PYX_ERR(0, 13843, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__932);
  __Pyx_GIVEREF(__pyx_tuple__932);
  __pyx_codeobj__472 = (PyObject*)__Pyx_PyCode_New(5, 0, 20, 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_cuda_cudart_pyx, __pyx_n_s_cudaMemRangeGetAttributes, 13843, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__472)) __PYX_ERR(0, 13843, __pyx_L1_error)

  /* "cuda/cudart.pyx":13909
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpyToArray(dst not None : cudaArray_t, size_t wOffset, size_t hOffset, src, size_t count, kind not None : cudaMemcpyKind):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */
  __pyx_tuple__933 = PyTuple_Pack(10, __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_csrc, __pyx_n_s_csrc_ptr, __pyx_n_s_ckind, __pyx_n_s_err); if (unlikely(!__pyx_tuple__933)) __PYX_ERR(0, 13909, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__933);
  __Pyx_GIVEREF(__pyx_tuple__933);
  __pyx_codeobj__475 = (PyObject*)__Pyx_PyCode_New(6, 0, 10, 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_cudaMemcpyToArray, 13909, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__475)) __PYX_ERR(0, 13909, __pyx_L1_error)

  /* "cuda/cudart.pyx":13977
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpyFromArray(dst, src not None : cudaArray_const_t, size_t wOffset, size_t hOffset, size_t count, kind not None : cudaMemcpyKind):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */
  __pyx_tuple__934 = PyTuple_Pack(10, __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_cdst, __pyx_n_s_cdst_ptr, __pyx_n_s_ckind, __pyx_n_s_err); if (unlikely(!__pyx_tuple__934)) __PYX_ERR(0, 13977, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__934);
  __Pyx_GIVEREF(__pyx_tuple__934);
  __pyx_codeobj__476 = (PyObject*)__Pyx_PyCode_New(6, 0, 10, 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_cuda_cudart_pyx, __pyx_n_s_cudaMemcpyFromArray, 13977, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__476)) __PYX_ERR(0, 13977, __pyx_L1_error)

  /* "cuda/cudart.pyx":14045
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpyArrayToArray(dst not None : cudaArray_t, size_t wOffsetDst, size_t hOffsetDst, src not None : cudaArray_const_t, size_t wOffsetSrc, size_t hOffsetSrc, size_t count, kind not None : cudaMemcpyKind):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */
  __pyx_tuple__935 = PyTuple_Pack(10, __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_ckind, __pyx_n_s_err); if (unlikely(!__pyx_tuple__935)) __PYX_ERR(0, 14045, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__935);
  __Pyx_GIVEREF(__pyx_tuple__935);
  __pyx_codeobj__477 = (PyObject*)__Pyx_PyCode_New(8, 0, 10, 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_cuda_cudart_pyx, __pyx_n_s_cudaMemcpyArrayToArray, 14045, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__477)) __PYX_ERR(0, 14045, __pyx_L1_error)

  /* "cuda/cudart.pyx":14115
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpyToArrayAsync(dst not None : cudaArray_t, size_t wOffset, size_t hOffset, src, size_t count, kind not None : cudaMemcpyKind, stream):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */
  __pyx_tuple__936 = PyTuple_Pack(11, __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_csrc, __pyx_n_s_csrc_ptr, __pyx_n_s_ckind, __pyx_n_s_err); if (unlikely(!__pyx_tuple__936)) __PYX_ERR(0, 14115, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__936);
  __Pyx_GIVEREF(__pyx_tuple__936);
  __pyx_codeobj__478 = (PyObject*)__Pyx_PyCode_New(7, 0, 11, 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_cudaMemcpyToArrayAsync, 14115, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__478)) __PYX_ERR(0, 14115, __pyx_L1_error)

  /* "cuda/cudart.pyx":14194
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpyFromArrayAsync(dst, src not None : cudaArray_const_t, size_t wOffset, size_t hOffset, size_t count, kind not None : cudaMemcpyKind, stream):             # <<<<<<<<<<<<<<
 *     """ Copies data between host and device.
 * 
 */
  __pyx_tuple__937 = PyTuple_Pack(11, __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_cdst, __pyx_n_s_cdst_ptr, __pyx_n_s_ckind, __pyx_n_s_err); if (unlikely(!__pyx_tuple__937)) __PYX_ERR(0, 14194, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__937);
  __Pyx_GIVEREF(__pyx_tuple__937);
  __pyx_codeobj__479 = (PyObject*)__Pyx_PyCode_New(7, 0, 11, 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_cuda_cudart_pyx, __pyx_n_s_cudaMemcpyFromArrayAsync, 14194, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__479)) __PYX_ERR(0, 14194, __pyx_L1_error)

  /* "cuda/cudart.pyx":14273
 * 
 * @cython.embedsignature(True)
 * def cudaMallocAsync(size_t size, hStream):             # <<<<<<<<<<<<<<
 *     """ Allocates memory with stream ordered semantics.
 * 
 */
  __pyx_tuple__938 = PyTuple_Pack(4, __pyx_n_s_size_2, __pyx_n_s_hStream, __pyx_n_s_devPtr_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__938)) __PYX_ERR(0, 14273, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__938);
  __Pyx_GIVEREF(__pyx_tuple__938);
  __pyx_codeobj__480 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 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_cuda_cudart_pyx, __pyx_n_s_cudaMallocAsync, 14273, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__480)) __PYX_ERR(0, 14273, __pyx_L1_error)

  /* "cuda/cudart.pyx":14326
 * 
 * @cython.embedsignature(True)
 * def cudaFreeAsync(devPtr, hStream):             # <<<<<<<<<<<<<<
 *     """ Frees memory with stream ordered semantics.
 * 
 */
  __pyx_tuple__939 = PyTuple_Pack(5, __pyx_n_s_devPtr_2, __pyx_n_s_hStream, __pyx_n_s_cdevPtr, __pyx_n_s_cdevPtr_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__939)) __PYX_ERR(0, 14326, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__939);
  __Pyx_GIVEREF(__pyx_tuple__939);
  __pyx_codeobj__481 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 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_cudaFreeAsync, 14326, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__481)) __PYX_ERR(0, 14326, __pyx_L1_error)

  /* "cuda/cudart.pyx":14369
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolTrimTo(memPool, size_t minBytesToKeep):             # <<<<<<<<<<<<<<
 *     """ Tries to release memory back to the OS.
 * 
 */
  __pyx_tuple__940 = PyTuple_Pack(3, __pyx_n_s_memPool, __pyx_n_s_minBytesToKeep, __pyx_n_s_err); if (unlikely(!__pyx_tuple__940)) __PYX_ERR(0, 14369, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__940);
  __Pyx_GIVEREF(__pyx_tuple__940);
  __pyx_codeobj__482 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 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_cuda_cudart_pyx, __pyx_n_s_cudaMemPoolTrimTo, 14369, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__482)) __PYX_ERR(0, 14369, __pyx_L1_error)

  /* "cuda/cudart.pyx":14417
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolSetAttribute(memPool, attr not None : cudaMemPoolAttr, value):             # <<<<<<<<<<<<<<
 *     """ Sets attributes of a memory pool.
 * 
 */
  __pyx_tuple__941 = PyTuple_Pack(7, __pyx_n_s_memPool, __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__941)) __PYX_ERR(0, 14417, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__941);
  __Pyx_GIVEREF(__pyx_tuple__941);
  __pyx_codeobj__483 = (PyObject*)__Pyx_PyCode_New(3, 0, 7, 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_cuda_cudart_pyx, __pyx_n_s_cudaMemPoolSetAttribute, 14417, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__483)) __PYX_ERR(0, 14417, __pyx_L1_error)

  /* "cuda/cudart.pyx":14475
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolGetAttribute(memPool, attr not None : cudaMemPoolAttr):             # <<<<<<<<<<<<<<
 *     """ Gets attributes of a memory pool.
 * 
 */
  __pyx_tuple__942 = PyTuple_Pack(6, __pyx_n_s_memPool, __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__942)) __PYX_ERR(0, 14475, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__942);
  __Pyx_GIVEREF(__pyx_tuple__942);
  __pyx_codeobj__484 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 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_cudaMemPoolGetAttribute, 14475, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__484)) __PYX_ERR(0, 14475, __pyx_L1_error)

  /* "cuda/cudart.pyx":14531
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolSetAccess(memPool, descList : List[cudaMemAccessDesc], size_t count):             # <<<<<<<<<<<<<<
 *     """ Controls visibility of pools between devices.
 * 
 */
  __pyx_tuple__943 = PyTuple_Pack(8, __pyx_n_s_memPool, __pyx_n_s_descList, __pyx_n_s_count, __pyx_n_s_cdescList, __pyx_n_s_idx, __pyx_n_s_err, __pyx_n_s_genexpr, __pyx_n_s_genexpr); if (unlikely(!__pyx_tuple__943)) __PYX_ERR(0, 14531, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__943);
  __Pyx_GIVEREF(__pyx_tuple__943);
  __pyx_codeobj__485 = (PyObject*)__Pyx_PyCode_New(3, 0, 8, 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_cuda_cudart_pyx, __pyx_n_s_cudaMemPoolSetAccess, 14531, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__485)) __PYX_ERR(0, 14531, __pyx_L1_error)

  /* "cuda/cudart.pyx":14579
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolGetAccess(memPool, location : cudaMemLocation):             # <<<<<<<<<<<<<<
 *     """ Returns the accessibility of a pool from a device.
 * 
 */
  __pyx_tuple__944 = PyTuple_Pack(5, __pyx_n_s_memPool, __pyx_n_s_location_2, __pyx_n_s_flags_2, __pyx_n_s_clocation_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__944)) __PYX_ERR(0, 14579, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__944);
  __Pyx_GIVEREF(__pyx_tuple__944);
  __pyx_codeobj__487 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 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_cuda_cudart_pyx, __pyx_n_s_cudaMemPoolGetAccess, 14579, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__487)) __PYX_ERR(0, 14579, __pyx_L1_error)

  /* "cuda/cudart.pyx":14612
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolCreate(poolProps : cudaMemPoolProps):             # <<<<<<<<<<<<<<
 *     """ Creates a memory pool.
 * 
 */
  __pyx_tuple__945 = 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__945)) __PYX_ERR(0, 14612, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__945);
  __Pyx_GIVEREF(__pyx_tuple__945);
  __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__945, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_cudaMemPoolCreate, 14612, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__488)) __PYX_ERR(0, 14612, __pyx_L1_error)

  /* "cuda/cudart.pyx":14651
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolDestroy(memPool):             # <<<<<<<<<<<<<<
 *     """ Destroys the specified memory pool.
 * 
 */
  __pyx_tuple__946 = PyTuple_Pack(2, __pyx_n_s_memPool, __pyx_n_s_err); if (unlikely(!__pyx_tuple__946)) __PYX_ERR(0, 14651, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__946);
  __Pyx_GIVEREF(__pyx_tuple__946);
  __pyx_codeobj__489 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 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_cuda_cudart_pyx, __pyx_n_s_cudaMemPoolDestroy, 14651, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__489)) __PYX_ERR(0, 14651, __pyx_L1_error)

  /* "cuda/cudart.pyx":14691
 * 
 * @cython.embedsignature(True)
 * def cudaMallocFromPoolAsync(size_t size, memPool, stream):             # <<<<<<<<<<<<<<
 *     """ Allocates memory from a specified pool with stream ordered semantics.
 * 
 */
  __pyx_tuple__947 = PyTuple_Pack(5, __pyx_n_s_size_2, __pyx_n_s_memPool, __pyx_n_s_stream, __pyx_n_s_ptr_3, __pyx_n_s_err); if (unlikely(!__pyx_tuple__947)) __PYX_ERR(0, 14691, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__947);
  __Pyx_GIVEREF(__pyx_tuple__947);
  __pyx_codeobj__490 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 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_cuda_cudart_pyx, __pyx_n_s_cudaMallocFromPoolAsync, 14691, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__490)) __PYX_ERR(0, 14691, __pyx_L1_error)

  /* "cuda/cudart.pyx":14742
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolExportToShareableHandle(memPool, handleType not None : cudaMemAllocationHandleType, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Exports a memory pool to the requested handle type.
 * 
 */
  __pyx_tuple__948 = PyTuple_Pack(7, __pyx_n_s_memPool, __pyx_n_s_handleType, __pyx_n_s_flags_2, __pyx_n_s_shareableHandle, __pyx_n_s_cshareableHandle_ptr, __pyx_n_s_chandleType, __pyx_n_s_err); if (unlikely(!__pyx_tuple__948)) __PYX_ERR(0, 14742, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__948);
  __Pyx_GIVEREF(__pyx_tuple__948);
  __pyx_codeobj__491 = (PyObject*)__Pyx_PyCode_New(3, 0, 7, 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_cudaMemPoolExportToShareableHand, 14742, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__491)) __PYX_ERR(0, 14742, __pyx_L1_error)

  /* "cuda/cudart.pyx":14792
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolImportFromShareableHandle(shareableHandle, handleType not None : cudaMemAllocationHandleType, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ imports a memory pool from a shared handle.
 * 
 */
  __pyx_tuple__949 = 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__949)) __PYX_ERR(0, 14792, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__949);
  __Pyx_GIVEREF(__pyx_tuple__949);
  __pyx_codeobj__492 = (PyObject*)__Pyx_PyCode_New(3, 0, 8, 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_cuda_cudart_pyx, __pyx_n_s_cudaMemPoolImportFromShareableHa, 14792, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__492)) __PYX_ERR(0, 14792, __pyx_L1_error)

  /* "cuda/cudart.pyx":14836
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolExportPointer(ptr):             # <<<<<<<<<<<<<<
 *     """ Export data to share a memory pool allocation between processes.
 * 
 */
  __pyx_tuple__950 = 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__950)) __PYX_ERR(0, 14836, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__950);
  __Pyx_GIVEREF(__pyx_tuple__950);
  __pyx_codeobj__493 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 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_cuda_cudart_pyx, __pyx_n_s_cudaMemPoolExportPointer, 14836, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__493)) __PYX_ERR(0, 14836, __pyx_L1_error)

  /* "cuda/cudart.pyx":14872
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolImportPointer(memPool, exportData : cudaMemPoolPtrExportData):             # <<<<<<<<<<<<<<
 *     """ Import a memory pool allocation from another process.
 * 
 */
  __pyx_tuple__951 = PyTuple_Pack(5, __pyx_n_s_memPool, __pyx_n_s_exportData, __pyx_n_s_ptr_3, __pyx_n_s_cexportData_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__951)) __PYX_ERR(0, 14872, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__951);
  __Pyx_GIVEREF(__pyx_tuple__951);
  __pyx_codeobj__494 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 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_cudaMemPoolImportPointer, 14872, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__494)) __PYX_ERR(0, 14872, __pyx_L1_error)

  /* "cuda/cudart.pyx":14920
 * 
 * @cython.embedsignature(True)
 * def cudaPointerGetAttributes(ptr):             # <<<<<<<<<<<<<<
 *     """ Returns attributes about a specified pointer.
 * 
 */
  __pyx_tuple__952 = 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__952)) __PYX_ERR(0, 14920, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__952);
  __Pyx_GIVEREF(__pyx_tuple__952);
  __pyx_codeobj__495 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 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_cuda_cudart_pyx, __pyx_n_s_cudaPointerGetAttributes, 14920, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__495)) __PYX_ERR(0, 14920, __pyx_L1_error)

  /* "cuda/cudart.pyx":14979
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceCanAccessPeer(int device, int peerDevice):             # <<<<<<<<<<<<<<
 *     """ Queries if a device may directly access a peer device's memory.
 * 
 */
  __pyx_tuple__953 = PyTuple_Pack(4, __pyx_n_s_device_2, __pyx_n_s_peerDevice, __pyx_n_s_canAccessPeer, __pyx_n_s_err); if (unlikely(!__pyx_tuple__953)) __PYX_ERR(0, 14979, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__953);
  __Pyx_GIVEREF(__pyx_tuple__953);
  __pyx_codeobj__496 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 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_cuda_cudart_pyx, __pyx_n_s_cudaDeviceCanAccessPeer, 14979, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__496)) __PYX_ERR(0, 14979, __pyx_L1_error)

  /* "cuda/cudart.pyx":15015
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceEnablePeerAccess(int peerDevice, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Enables direct access to memory allocations on a peer device.
 * 
 */
  __pyx_tuple__954 = PyTuple_Pack(3, __pyx_n_s_peerDevice, __pyx_n_s_flags_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__954)) __PYX_ERR(0, 15015, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__954);
  __Pyx_GIVEREF(__pyx_tuple__954);
  __pyx_codeobj__497 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 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_cudaDeviceEnablePeerAccess, 15015, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__497)) __PYX_ERR(0, 15015, __pyx_L1_error)

  /* "cuda/cudart.pyx":15067
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceDisablePeerAccess(int peerDevice):             # <<<<<<<<<<<<<<
 *     """ Disables direct access to memory allocations on a peer device.
 * 
 */
  __pyx_tuple__955 = PyTuple_Pack(3, __pyx_n_s_peerDevice, __pyx_n_s_peerDevice, __pyx_n_s_err); if (unlikely(!__pyx_tuple__955)) __PYX_ERR(0, 15067, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__955);
  __Pyx_GIVEREF(__pyx_tuple__955);
  __pyx_codeobj__498 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 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_cuda_cudart_pyx, __pyx_n_s_cudaDeviceDisablePeerAccess, 15067, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__498)) __PYX_ERR(0, 15067, __pyx_L1_error)

  /* "cuda/cudart.pyx":15097
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsUnregisterResource(resource not None : cudaGraphicsResource_t):             # <<<<<<<<<<<<<<
 *     """ Unregisters a graphics resource for access by CUDA.
 * 
 */
  __pyx_tuple__956 = PyTuple_Pack(2, __pyx_n_s_resource, __pyx_n_s_err); if (unlikely(!__pyx_tuple__956)) __PYX_ERR(0, 15097, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__956);
  __Pyx_GIVEREF(__pyx_tuple__956);
  __pyx_codeobj__499 = (PyObject*)__Pyx_PyCode_New(1, 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_cuda_cudart_pyx, __pyx_n_s_cudaGraphicsUnregisterResource, 15097, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__499)) __PYX_ERR(0, 15097, __pyx_L1_error)

  /* "cuda/cudart.pyx":15128
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsResourceSetMapFlags(resource not None : cudaGraphicsResource_t, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Set usage flags for mapping a graphics resource.
 * 
 */
  __pyx_tuple__957 = PyTuple_Pack(3, __pyx_n_s_resource, __pyx_n_s_flags_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__957)) __PYX_ERR(0, 15128, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__957);
  __Pyx_GIVEREF(__pyx_tuple__957);
  __pyx_codeobj__500 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 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_cudaGraphicsResourceSetMapFlags, 15128, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__500)) __PYX_ERR(0, 15128, __pyx_L1_error)

  /* "cuda/cudart.pyx":15173
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsMapResources(int count, resources : cudaGraphicsResource_t, stream):             # <<<<<<<<<<<<<<
 *     """ Map graphics resources for access by CUDA.
 * 
 */
  __pyx_tuple__958 = PyTuple_Pack(5, __pyx_n_s_count, __pyx_n_s_resources, __pyx_n_s_stream, __pyx_n_s_cresources_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__958)) __PYX_ERR(0, 15173, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__958);
  __Pyx_GIVEREF(__pyx_tuple__958);
  __pyx_codeobj__501 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 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_cuda_cudart_pyx, __pyx_n_s_cudaGraphicsMapResources, 15173, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__501)) __PYX_ERR(0, 15173, __pyx_L1_error)

  /* "cuda/cudart.pyx":15223
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsUnmapResources(int count, resources : cudaGraphicsResource_t, stream):             # <<<<<<<<<<<<<<
 *     """ Unmap graphics resources.
 * 
 */
  __pyx_tuple__959 = PyTuple_Pack(5, __pyx_n_s_count, __pyx_n_s_resources, __pyx_n_s_stream, __pyx_n_s_cresources_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__959)) __PYX_ERR(0, 15223, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__959);
  __Pyx_GIVEREF(__pyx_tuple__959);
  __pyx_codeobj__502 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 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_cuda_cudart_pyx, __pyx_n_s_cudaGraphicsUnmapResources, 15223, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__502)) __PYX_ERR(0, 15223, __pyx_L1_error)

  /* "cuda/cudart.pyx":15270
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsResourceGetMappedPointer(resource not None : cudaGraphicsResource_t):             # <<<<<<<<<<<<<<
 *     """ Get an device pointer through which to access a mapped graphics resource.
 * 
 */
  __pyx_tuple__960 = PyTuple_Pack(4, __pyx_n_s_resource, __pyx_n_s_devPtr_2, __pyx_n_s_size_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__960)) __PYX_ERR(0, 15270, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__960);
  __Pyx_GIVEREF(__pyx_tuple__960);
  __pyx_codeobj__503 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_cudaGraphicsResourceGetMappedPoi, 15270, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__503)) __PYX_ERR(0, 15270, __pyx_L1_error)

  /* "cuda/cudart.pyx":15302
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsSubResourceGetMappedArray(resource not None : cudaGraphicsResource_t, unsigned int arrayIndex, unsigned int mipLevel):             # <<<<<<<<<<<<<<
 *     """ Get an array through which to access a subresource of a mapped graphics resource.
 * 
 */
  __pyx_tuple__961 = PyTuple_Pack(5, __pyx_n_s_resource, __pyx_n_s_arrayIndex, __pyx_n_s_mipLevel, __pyx_n_s_array_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__961)) __PYX_ERR(0, 15302, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__961);
  __Pyx_GIVEREF(__pyx_tuple__961);
  __pyx_codeobj__504 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 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_cudaGraphicsSubResourceGetMapped, 15302, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__504)) __PYX_ERR(0, 15302, __pyx_L1_error)

  /* "cuda/cudart.pyx":15349
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsResourceGetMappedMipmappedArray(resource not None : cudaGraphicsResource_t):             # <<<<<<<<<<<<<<
 *     """ Get a mipmapped array through which to access a mapped graphics resource.
 * 
 */
  __pyx_tuple__962 = PyTuple_Pack(3, __pyx_n_s_resource, __pyx_n_s_mipmappedArray, __pyx_n_s_err); if (unlikely(!__pyx_tuple__962)) __PYX_ERR(0, 15349, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__962);
  __Pyx_GIVEREF(__pyx_tuple__962);
  __pyx_codeobj__505 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, CO_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_cudaGraphicsResourceGetMappedMip, 15349, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__505)) __PYX_ERR(0, 15349, __pyx_L1_error)

  /* "cuda/cudart.pyx":15385
 * 
 * @cython.embedsignature(True)
 * def cudaGetChannelDesc(array not None : cudaArray_const_t):             # <<<<<<<<<<<<<<
 *     """ Get the channel descriptor of an array.
 * 
 */
  __pyx_tuple__963 = PyTuple_Pack(3, __pyx_n_s_array_2, __pyx_n_s_desc_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__963)) __PYX_ERR(0, 15385, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__963);
  __Pyx_GIVEREF(__pyx_tuple__963);
  __pyx_codeobj__506 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 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_cudaGetChannelDesc, 15385, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__506)) __PYX_ERR(0, 15385, __pyx_L1_error)

  /* "cuda/cudart.pyx":15415
 * 
 * @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__964 = 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__964)) __PYX_ERR(0, 15415, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__964);
  __Pyx_GIVEREF(__pyx_tuple__964);
  __pyx_codeobj__507 = (PyObject*)__Pyx_PyCode_New(5, 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_cudaCreateChannelDesc, 15415, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__507)) __PYX_ERR(0, 15415, __pyx_L1_error)

  /* "cuda/cudart.pyx":15460
 * 
 * @cython.embedsignature(True)
 * def cudaCreateTextureObject(pResDesc : cudaResourceDesc, pTexDesc : cudaTextureDesc, pResViewDesc : cudaResourceViewDesc):             # <<<<<<<<<<<<<<
 *     """ Creates a texture object.
 * 
 */
  __pyx_tuple__965 = 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__965)) __PYX_ERR(0, 15460, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__965);
  __Pyx_GIVEREF(__pyx_tuple__965);
  __pyx_codeobj__508 = (PyObject*)__Pyx_PyCode_New(3, 0, 8, 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_cudaCreateTextureObject, 15460, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__508)) __PYX_ERR(0, 15460, __pyx_L1_error)

  /* "cuda/cudart.pyx":15589
 * 
 * @cython.embedsignature(True)
 * def cudaDestroyTextureObject(texObject not None : cudaTextureObject_t):             # <<<<<<<<<<<<<<
 *     """ Destroys a texture object.
 * 
 */
  __pyx_tuple__966 = PyTuple_Pack(2, __pyx_n_s_texObject, __pyx_n_s_err); if (unlikely(!__pyx_tuple__966)) __PYX_ERR(0, 15589, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__966);
  __Pyx_GIVEREF(__pyx_tuple__966);
  __pyx_codeobj__509 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__966, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_cudaDestroyTextureObject, 15589, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__509)) __PYX_ERR(0, 15589, __pyx_L1_error)

  /* "cuda/cudart.pyx":15617
 * 
 * @cython.embedsignature(True)
 * def cudaGetTextureObjectResourceDesc(texObject not None : cudaTextureObject_t):             # <<<<<<<<<<<<<<
 *     """ Returns a texture object's resource descriptor.
 * 
 */
  __pyx_tuple__967 = PyTuple_Pack(3, __pyx_n_s_texObject, __pyx_n_s_pResDesc, __pyx_n_s_err); if (unlikely(!__pyx_tuple__967)) __PYX_ERR(0, 15617, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__967);
  __Pyx_GIVEREF(__pyx_tuple__967);
  __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__967, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_cudaGetTextureObjectResourceDesc, 15617, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__510)) __PYX_ERR(0, 15617, __pyx_L1_error)

  /* "cuda/cudart.pyx":15647
 * 
 * @cython.embedsignature(True)
 * def cudaGetTextureObjectTextureDesc(texObject not None : cudaTextureObject_t):             # <<<<<<<<<<<<<<
 *     """ Returns a texture object's texture descriptor.
 * 
 */
  __pyx_tuple__968 = PyTuple_Pack(3, __pyx_n_s_texObject, __pyx_n_s_pTexDesc, __pyx_n_s_err); if (unlikely(!__pyx_tuple__968)) __PYX_ERR(0, 15647, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__968);
  __Pyx_GIVEREF(__pyx_tuple__968);
  __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__968, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_cudaGetTextureObjectTextureDesc, 15647, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__511)) __PYX_ERR(0, 15647, __pyx_L1_error)

  /* "cuda/cudart.pyx":15677
 * 
 * @cython.embedsignature(True)
 * def cudaGetTextureObjectResourceViewDesc(texObject not None : cudaTextureObject_t):             # <<<<<<<<<<<<<<
 *     """ Returns a texture object's resource view descriptor.
 * 
 */
  __pyx_tuple__969 = PyTuple_Pack(3, __pyx_n_s_texObject, __pyx_n_s_pResViewDesc, __pyx_n_s_err); if (unlikely(!__pyx_tuple__969)) __PYX_ERR(0, 15677, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__969);
  __Pyx_GIVEREF(__pyx_tuple__969);
  __pyx_codeobj__512 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 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_cudaGetTextureObjectResourceView, 15677, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__512)) __PYX_ERR(0, 15677, __pyx_L1_error)

  /* "cuda/cudart.pyx":15707
 * 
 * @cython.embedsignature(True)
 * def cudaCreateSurfaceObject(pResDesc : cudaResourceDesc):             # <<<<<<<<<<<<<<
 *     """ Creates a surface object.
 * 
 */
  __pyx_tuple__970 = PyTuple_Pack(4, __pyx_n_s_pResDesc, __pyx_n_s_pSurfObject, __pyx_n_s_cpResDesc_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__970)) __PYX_ERR(0, 15707, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__970);
  __Pyx_GIVEREF(__pyx_tuple__970);
  __pyx_codeobj__513 = (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_cudaCreateSurfaceObject, 15707, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__513)) __PYX_ERR(0, 15707, __pyx_L1_error)

  /* "cuda/cudart.pyx":15747
 * 
 * @cython.embedsignature(True)
 * def cudaDestroySurfaceObject(surfObject not None : cudaSurfaceObject_t):             # <<<<<<<<<<<<<<
 *     """ Destroys a surface object.
 * 
 */
  __pyx_tuple__971 = PyTuple_Pack(2, __pyx_n_s_surfObject, __pyx_n_s_err); if (unlikely(!__pyx_tuple__971)) __PYX_ERR(0, 15747, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__971);
  __Pyx_GIVEREF(__pyx_tuple__971);
  __pyx_codeobj__514 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 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_cudaDestroySurfaceObject, 15747, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__514)) __PYX_ERR(0, 15747, __pyx_L1_error)

  /* "cuda/cudart.pyx":15775
 * 
 * @cython.embedsignature(True)
 * def cudaGetSurfaceObjectResourceDesc(surfObject not None : cudaSurfaceObject_t):             # <<<<<<<<<<<<<<
 *     """ Returns a surface object's resource descriptor Returns the resource descriptor for the surface object specified by `surfObject`.
 * 
 */
  __pyx_tuple__972 = PyTuple_Pack(3, __pyx_n_s_surfObject, __pyx_n_s_pResDesc, __pyx_n_s_err); if (unlikely(!__pyx_tuple__972)) __PYX_ERR(0, 15775, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__972);
  __Pyx_GIVEREF(__pyx_tuple__972);
  __pyx_codeobj__515 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 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_cudaGetSurfaceObjectResourceDesc, 15775, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__515)) __PYX_ERR(0, 15775, __pyx_L1_error)

  /* "cuda/cudart.pyx":15801
 * 
 * @cython.embedsignature(True)
 * def cudaDriverGetVersion():             # <<<<<<<<<<<<<<
 *     """ Returns the latest version of CUDA supported by the driver.
 * 
 */
  __pyx_tuple__973 = PyTuple_Pack(2, __pyx_n_s_driverVersion, __pyx_n_s_err); if (unlikely(!__pyx_tuple__973)) __PYX_ERR(0, 15801, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__973);
  __Pyx_GIVEREF(__pyx_tuple__973);
  __pyx_codeobj__516 = (PyObject*)__Pyx_PyCode_New(0, 0, 2, 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_cudaDriverGetVersion, 15801, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__516)) __PYX_ERR(0, 15801, __pyx_L1_error)

  /* "cuda/cudart.pyx":15830
 * 
 * @cython.embedsignature(True)
 * def cudaRuntimeGetVersion():             # <<<<<<<<<<<<<<
 *     """ Returns the CUDA Runtime version.
 * 
 */
  __pyx_tuple__974 = PyTuple_Pack(2, __pyx_n_s_runtimeVersion, __pyx_n_s_err); if (unlikely(!__pyx_tuple__974)) __PYX_ERR(0, 15830, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__974);
  __Pyx_GIVEREF(__pyx_tuple__974);
  __pyx_codeobj__517 = (PyObject*)__Pyx_PyCode_New(0, 0, 2, 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_cudaRuntimeGetVersion, 15830, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__517)) __PYX_ERR(0, 15830, __pyx_L1_error)

  /* "cuda/cudart.pyx":15858
 * 
 * @cython.embedsignature(True)
 * def cudaGraphCreate(unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Creates a graph.
 * 
 */
  __pyx_tuple__975 = 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__975)) __PYX_ERR(0, 15858, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__975);
  __Pyx_GIVEREF(__pyx_tuple__975);
  __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__975, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_cudaGraphCreate, 15858, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__518)) __PYX_ERR(0, 15858, __pyx_L1_error)

  /* "cuda/cudart.pyx":15897
 * 
 * @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__976 = PyTuple_Pack(11, __pyx_n_s_graph, __pyx_n_s_pDependencies, __pyx_n_s_numDependencies, __pyx_n_s_pNodeParams, __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__976)) __PYX_ERR(0, 15897, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__976);
  __Pyx_GIVEREF(__pyx_tuple__976);
  __pyx_codeobj__519 = (PyObject*)__Pyx_PyCode_New(4, 0, 11, 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_cudaGraphAddKernelNode, 15897, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__519)) __PYX_ERR(0, 15897, __pyx_L1_error)

  /* "cuda/cudart.pyx":16015
 * 
 * @cython.embedsignature(True)
 * def cudaGraphKernelNodeGetParams(node):             # <<<<<<<<<<<<<<
 *     """ Returns a kernel node's parameters.
 * 
 */
  __pyx_tuple__977 = PyTuple_Pack(3, __pyx_n_s_node, __pyx_n_s_pNodeParams, __pyx_n_s_err); if (unlikely(!__pyx_tuple__977)) __PYX_ERR(0, 16015, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__977);
  __Pyx_GIVEREF(__pyx_tuple__977);
  __pyx_codeobj__521 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 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_cudaGraphKernelNodeGetParams, 16015, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__521)) __PYX_ERR(0, 16015, __pyx_L1_error)

  /* "cuda/cudart.pyx":16055
 * 
 * @cython.embedsignature(True)
 * def cudaGraphKernelNodeSetParams(node, pNodeParams : cudaKernelNodeParams):             # <<<<<<<<<<<<<<
 *     """ Sets a kernel node's parameters.
 * 
 */
  __pyx_tuple__978 = PyTuple_Pack(4, __pyx_n_s_node, __pyx_n_s_pNodeParams, __pyx_n_s_cpNodeParams_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__978)) __PYX_ERR(0, 16055, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__978);
  __Pyx_GIVEREF(__pyx_tuple__978);
  __pyx_codeobj__522 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 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_cudaGraphKernelNodeSetParams, 16055, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__522)) __PYX_ERR(0, 16055, __pyx_L1_error)

  /* "cuda/cudart.pyx":16090
 * 
 * @cython.embedsignature(True)
 * def cudaGraphKernelNodeCopyAttributes(hSrc, hDst):             # <<<<<<<<<<<<<<
 *     """ Copies attributes from source node to destination node.
 * 
 */
  __pyx_tuple__979 = PyTuple_Pack(3, __pyx_n_s_hSrc, __pyx_n_s_hDst, __pyx_n_s_err); if (unlikely(!__pyx_tuple__979)) __PYX_ERR(0, 16090, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__979);
  __Pyx_GIVEREF(__pyx_tuple__979);
  __pyx_codeobj__523 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 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_cudaGraphKernelNodeCopyAttribute, 16090, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__523)) __PYX_ERR(0, 16090, __pyx_L1_error)

  /* "cuda/cudart.pyx":16123
 * 
 * @cython.embedsignature(True)
 * def cudaGraphKernelNodeGetAttribute(hNode, attr not None : cudaKernelNodeAttrID):             # <<<<<<<<<<<<<<
 *     """ Queries node attribute.
 * 
 */
  __pyx_tuple__980 = PyTuple_Pack(5, __pyx_n_s_hNode, __pyx_n_s_attr, __pyx_n_s_cattr, __pyx_n_s_value_out, __pyx_n_s_err); if (unlikely(!__pyx_tuple__980)) __PYX_ERR(0, 16123, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__980);
  __Pyx_GIVEREF(__pyx_tuple__980);
  __pyx_codeobj__524 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__980, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_cudaGraphKernelNodeGetAttribute, 16123, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__524)) __PYX_ERR(0, 16123, __pyx_L1_error)

  /* "cuda/cudart.pyx":16157
 * 
 * @cython.embedsignature(True)
 * def cudaGraphKernelNodeSetAttribute(hNode, attr not None : cudaKernelNodeAttrID, value : cudaKernelNodeAttrValue):             # <<<<<<<<<<<<<<
 *     """ Sets node attribute.
 * 
 */
  __pyx_tuple__981 = PyTuple_Pack(6, __pyx_n_s_hNode, __pyx_n_s_attr, __pyx_n_s_value, __pyx_n_s_cattr, __pyx_n_s_cvalue_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__981)) __PYX_ERR(0, 16157, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__981);
  __Pyx_GIVEREF(__pyx_tuple__981);
  __pyx_codeobj__525 = (PyObject*)__Pyx_PyCode_New(3, 0, 6, 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_cudaGraphKernelNodeSetAttribute, 16157, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__525)) __PYX_ERR(0, 16157, __pyx_L1_error)

  /* "cuda/cudart.pyx":16193
 * 
 * @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__982 = PyTuple_Pack(11, __pyx_n_s_graph, __pyx_n_s_pDependencies, __pyx_n_s_numDependencies, __pyx_n_s_pCopyParams, __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__982)) __PYX_ERR(0, 16193, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__982);
  __Pyx_GIVEREF(__pyx_tuple__982);
  __pyx_codeobj__526 = (PyObject*)__Pyx_PyCode_New(4, 0, 11, 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_cudaGraphAddMemcpyNode, 16193, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__526)) __PYX_ERR(0, 16193, __pyx_L1_error)

  /* "cuda/cudart.pyx":16268
 * 
 * @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__983 = PyTuple_Pack(18, __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_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__983)) __PYX_ERR(0, 16268, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__983);
  __Pyx_GIVEREF(__pyx_tuple__983);
  __pyx_codeobj__527 = (PyObject*)__Pyx_PyCode_New(7, 0, 18, 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_cudaGraphAddMemcpyNode1D, 16268, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__527)) __PYX_ERR(0, 16268, __pyx_L1_error)

  /* "cuda/cudart.pyx":16359
 * 
 * @cython.embedsignature(True)
 * def cudaGraphMemcpyNodeGetParams(node):             # <<<<<<<<<<<<<<
 *     """ Returns a memcpy node's parameters.
 * 
 */
  __pyx_tuple__984 = PyTuple_Pack(3, __pyx_n_s_node, __pyx_n_s_pNodeParams, __pyx_n_s_err); if (unlikely(!__pyx_tuple__984)) __PYX_ERR(0, 16359, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__984);
  __Pyx_GIVEREF(__pyx_tuple__984);
  __pyx_codeobj__528 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 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_cudaGraphMemcpyNodeGetParams, 16359, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__528)) __PYX_ERR(0, 16359, __pyx_L1_error)

  /* "cuda/cudart.pyx":16390
 * 
 * @cython.embedsignature(True)
 * def cudaGraphMemcpyNodeSetParams(node, pNodeParams : cudaMemcpy3DParms):             # <<<<<<<<<<<<<<
 *     """ Sets a memcpy node's parameters.
 * 
 */
  __pyx_tuple__985 = PyTuple_Pack(4, __pyx_n_s_node, __pyx_n_s_pNodeParams, __pyx_n_s_cpNodeParams_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__985)) __PYX_ERR(0, 16390, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__985);
  __Pyx_GIVEREF(__pyx_tuple__985);
  __pyx_codeobj__529 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 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_cudaGraphMemcpyNodeSetParams, 16390, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__529)) __PYX_ERR(0, 16390, __pyx_L1_error)

  /* "cuda/cudart.pyx":16426
 * 
 * @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__986 = PyTuple_Pack(11, __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_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__986)) __PYX_ERR(0, 16426, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__986);
  __Pyx_GIVEREF(__pyx_tuple__986);
  __pyx_codeobj__530 = (PyObject*)__Pyx_PyCode_New(5, 0, 11, 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_cudaGraphMemcpyNodeSetParams1D, 16426, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__530)) __PYX_ERR(0, 16426, __pyx_L1_error)

  /* "cuda/cudart.pyx":16482
 * 
 * @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__987 = PyTuple_Pack(11, __pyx_n_s_graph, __pyx_n_s_pDependencies, __pyx_n_s_numDependencies, __pyx_n_s_pMemsetParams, __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__987)) __PYX_ERR(0, 16482, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__987);
  __Pyx_GIVEREF(__pyx_tuple__987);
  __pyx_codeobj__531 = (PyObject*)__Pyx_PyCode_New(4, 0, 11, 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_cudaGraphAddMemsetNode, 16482, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__531)) __PYX_ERR(0, 16482, __pyx_L1_error)

  /* "cuda/cudart.pyx":16550
 * 
 * @cython.embedsignature(True)
 * def cudaGraphMemsetNodeGetParams(node):             # <<<<<<<<<<<<<<
 *     """ Returns a memset node's parameters.
 * 
 */
  __pyx_tuple__988 = PyTuple_Pack(3, __pyx_n_s_node, __pyx_n_s_pNodeParams, __pyx_n_s_err); if (unlikely(!__pyx_tuple__988)) __PYX_ERR(0, 16550, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__988);
  __Pyx_GIVEREF(__pyx_tuple__988);
  __pyx_codeobj__532 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 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_cudaGraphMemsetNodeGetParams, 16550, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__532)) __PYX_ERR(0, 16550, __pyx_L1_error)

  /* "cuda/cudart.pyx":16581
 * 
 * @cython.embedsignature(True)
 * def cudaGraphMemsetNodeSetParams(node, pNodeParams : cudaMemsetParams):             # <<<<<<<<<<<<<<
 *     """ Sets a memset node's parameters.
 * 
 */
  __pyx_tuple__989 = PyTuple_Pack(4, __pyx_n_s_node, __pyx_n_s_pNodeParams, __pyx_n_s_cpNodeParams_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__989)) __PYX_ERR(0, 16581, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__989);
  __Pyx_GIVEREF(__pyx_tuple__989);
  __pyx_codeobj__533 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__989, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_cudaGraphMemsetNodeSetParams, 16581, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__533)) __PYX_ERR(0, 16581, __pyx_L1_error)

  /* "cuda/cudart.pyx":16614
 * 
 * @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__990 = PyTuple_Pack(11, __pyx_n_s_graph, __pyx_n_s_pDependencies, __pyx_n_s_numDependencies, __pyx_n_s_pNodeParams, __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__990)) __PYX_ERR(0, 16614, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__990);
  __Pyx_GIVEREF(__pyx_tuple__990);
  __pyx_codeobj__534 = (PyObject*)__Pyx_PyCode_New(4, 0, 11, 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_cudaGraphAddHostNode, 16614, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__534)) __PYX_ERR(0, 16614, __pyx_L1_error)

  /* "cuda/cudart.pyx":16683
 * 
 * @cython.embedsignature(True)
 * def cudaGraphHostNodeGetParams(node):             # <<<<<<<<<<<<<<
 *     """ Returns a host node's parameters.
 * 
 */
  __pyx_tuple__991 = PyTuple_Pack(3, __pyx_n_s_node, __pyx_n_s_pNodeParams, __pyx_n_s_err); if (unlikely(!__pyx_tuple__991)) __PYX_ERR(0, 16683, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__991);
  __Pyx_GIVEREF(__pyx_tuple__991);
  __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__991, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_cudaGraphHostNodeGetParams, 16683, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__535)) __PYX_ERR(0, 16683, __pyx_L1_error)

  /* "cuda/cudart.pyx":16714
 * 
 * @cython.embedsignature(True)
 * def cudaGraphHostNodeSetParams(node, pNodeParams : cudaHostNodeParams):             # <<<<<<<<<<<<<<
 *     """ Sets a host node's parameters.
 * 
 */
  __pyx_tuple__992 = PyTuple_Pack(4, __pyx_n_s_node, __pyx_n_s_pNodeParams, __pyx_n_s_cpNodeParams_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__992)) __PYX_ERR(0, 16714, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__992);
  __Pyx_GIVEREF(__pyx_tuple__992);
  __pyx_codeobj__536 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 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_cudaGraphHostNodeSetParams, 16714, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__536)) __PYX_ERR(0, 16714, __pyx_L1_error)

  /* "cuda/cudart.pyx":16747
 * 
 * @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__993 = PyTuple_Pack(10, __pyx_n_s_graph, __pyx_n_s_pDependencies, __pyx_n_s_numDependencies, __pyx_n_s_childGraph, __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__993)) __PYX_ERR(0, 16747, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__993);
  __Pyx_GIVEREF(__pyx_tuple__993);
  __pyx_codeobj__537 = (PyObject*)__Pyx_PyCode_New(4, 0, 10, 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_cudaGraphAddChildGraphNode, 16747, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__537)) __PYX_ERR(0, 16747, __pyx_L1_error)

  /* "cuda/cudart.pyx":16818
 * 
 * @cython.embedsignature(True)
 * def cudaGraphChildGraphNodeGetGraph(node):             # <<<<<<<<<<<<<<
 *     """ Gets a handle to the embedded graph of a child graph node.
 * 
 */
  __pyx_tuple__994 = PyTuple_Pack(3, __pyx_n_s_node, __pyx_n_s_pGraph, __pyx_n_s_err); if (unlikely(!__pyx_tuple__994)) __PYX_ERR(0, 16818, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__994);
  __Pyx_GIVEREF(__pyx_tuple__994);
  __pyx_codeobj__538 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 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_cudaGraphChildGraphNodeGetGraph, 16818, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__538)) __PYX_ERR(0, 16818, __pyx_L1_error)

  /* "cuda/cudart.pyx":16853
 * 
 * @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__995 = PyTuple_Pack(9, __pyx_n_s_graph, __pyx_n_s_pDependencies, __pyx_n_s_numDependencies, __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__995)) __PYX_ERR(0, 16853, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__995);
  __Pyx_GIVEREF(__pyx_tuple__995);
  __pyx_codeobj__539 = (PyObject*)__Pyx_PyCode_New(3, 0, 9, 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_cudaGraphAddEmptyNode, 16853, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__539)) __PYX_ERR(0, 16853, __pyx_L1_error)

  /* "cuda/cudart.pyx":16918
 * 
 * @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__996 = PyTuple_Pack(10, __pyx_n_s_graph, __pyx_n_s_pDependencies, __pyx_n_s_numDependencies, __pyx_n_s_event, __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__996)) __PYX_ERR(0, 16918, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__996);
  __Pyx_GIVEREF(__pyx_tuple__996);
  __pyx_codeobj__540 = (PyObject*)__Pyx_PyCode_New(4, 0, 10, 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_cudaGraphAddEventRecordNode, 16918, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__540)) __PYX_ERR(0, 16918, __pyx_L1_error)

  /* "cuda/cudart.pyx":16989
 * 
 * @cython.embedsignature(True)
 * def cudaGraphEventRecordNodeGetEvent(node):             # <<<<<<<<<<<<<<
 *     """ Returns the event associated with an event record node.
 * 
 */
  __pyx_tuple__997 = PyTuple_Pack(3, __pyx_n_s_node, __pyx_n_s_event_out, __pyx_n_s_err); if (unlikely(!__pyx_tuple__997)) __PYX_ERR(0, 16989, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__997);
  __Pyx_GIVEREF(__pyx_tuple__997);
  __pyx_codeobj__541 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 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_cudaGraphEventRecordNodeGetEvent, 16989, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__541)) __PYX_ERR(0, 16989, __pyx_L1_error)

  /* "cuda/cudart.pyx":17022
 * 
 * @cython.embedsignature(True)
 * def cudaGraphEventRecordNodeSetEvent(node, event):             # <<<<<<<<<<<<<<
 *     """ Sets an event record node's event.
 * 
 */
  __pyx_tuple__998 = PyTuple_Pack(3, __pyx_n_s_node, __pyx_n_s_event, __pyx_n_s_err); if (unlikely(!__pyx_tuple__998)) __PYX_ERR(0, 17022, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__998);
  __Pyx_GIVEREF(__pyx_tuple__998);
  __pyx_codeobj__542 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__998, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_cudaGraphEventRecordNodeSetEvent, 17022, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__542)) __PYX_ERR(0, 17022, __pyx_L1_error)

  /* "cuda/cudart.pyx":17058
 * 
 * @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__999 = PyTuple_Pack(10, __pyx_n_s_graph, __pyx_n_s_pDependencies, __pyx_n_s_numDependencies, __pyx_n_s_event, __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__999)) __PYX_ERR(0, 17058, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__999);
  __Pyx_GIVEREF(__pyx_tuple__999);
  __pyx_codeobj__543 = (PyObject*)__Pyx_PyCode_New(4, 0, 10, 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_cudaGraphAddEventWaitNode, 17058, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__543)) __PYX_ERR(0, 17058, __pyx_L1_error)

  /* "cuda/cudart.pyx":17132
 * 
 * @cython.embedsignature(True)
 * def cudaGraphEventWaitNodeGetEvent(node):             # <<<<<<<<<<<<<<
 *     """ Returns the event associated with an event wait node.
 * 
 */
  __pyx_tuple__1000 = PyTuple_Pack(3, __pyx_n_s_node, __pyx_n_s_event_out, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1000)) __PYX_ERR(0, 17132, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1000);
  __Pyx_GIVEREF(__pyx_tuple__1000);
  __pyx_codeobj__544 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1000, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_cudaGraphEventWaitNodeGetEvent, 17132, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__544)) __PYX_ERR(0, 17132, __pyx_L1_error)

  /* "cuda/cudart.pyx":17165
 * 
 * @cython.embedsignature(True)
 * def cudaGraphEventWaitNodeSetEvent(node, event):             # <<<<<<<<<<<<<<
 *     """ Sets an event wait node's event.
 * 
 */
  __pyx_tuple__1001 = PyTuple_Pack(3, __pyx_n_s_node, __pyx_n_s_event, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1001)) __PYX_ERR(0, 17165, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1001);
  __Pyx_GIVEREF(__pyx_tuple__1001);
  __pyx_codeobj__545 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 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_cudaGraphEventWaitNodeSetEvent, 17165, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__545)) __PYX_ERR(0, 17165, __pyx_L1_error)

  /* "cuda/cudart.pyx":17201
 * 
 * @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__1002 = PyTuple_Pack(11, __pyx_n_s_graph, __pyx_n_s_pDependencies, __pyx_n_s_numDependencies, __pyx_n_s_nodeParams, __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__1002)) __PYX_ERR(0, 17201, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1002);
  __Pyx_GIVEREF(__pyx_tuple__1002);
  __pyx_codeobj__546 = (PyObject*)__Pyx_PyCode_New(4, 0, 11, 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_cudaGraphAddExternalSemaphoresSi_2, 17201, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__546)) __PYX_ERR(0, 17201, __pyx_L1_error)

  /* "cuda/cudart.pyx":17276
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExternalSemaphoresSignalNodeGetParams(hNode):             # <<<<<<<<<<<<<<
 *     """ Returns an external semaphore signal node's parameters.
 * 
 */
  __pyx_tuple__1003 = PyTuple_Pack(3, __pyx_n_s_hNode, __pyx_n_s_params_out, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1003)) __PYX_ERR(0, 17276, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1003);
  __Pyx_GIVEREF(__pyx_tuple__1003);
  __pyx_codeobj__547 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 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_cudaGraphExternalSemaphoresSigna, 17276, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__547)) __PYX_ERR(0, 17276, __pyx_L1_error)

  /* "cuda/cudart.pyx":17315
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExternalSemaphoresSignalNodeSetParams(hNode, nodeParams : cudaExternalSemaphoreSignalNodeParams):             # <<<<<<<<<<<<<<
 *     """ Sets an external semaphore signal node's parameters.
 * 
 */
  __pyx_tuple__1004 = PyTuple_Pack(4, __pyx_n_s_hNode, __pyx_n_s_nodeParams, __pyx_n_s_cnodeParams_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1004)) __PYX_ERR(0, 17315, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1004);
  __Pyx_GIVEREF(__pyx_tuple__1004);
  __pyx_codeobj__548 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 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_cudaGraphExternalSemaphoresSigna_2, 17315, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__548)) __PYX_ERR(0, 17315, __pyx_L1_error)

  /* "cuda/cudart.pyx":17351
 * 
 * @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__1005 = PyTuple_Pack(11, __pyx_n_s_graph, __pyx_n_s_pDependencies, __pyx_n_s_numDependencies, __pyx_n_s_nodeParams, __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__1005)) __PYX_ERR(0, 17351, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1005);
  __Pyx_GIVEREF(__pyx_tuple__1005);
  __pyx_codeobj__549 = (PyObject*)__Pyx_PyCode_New(4, 0, 11, 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_cudaGraphAddExternalSemaphoresWa_2, 17351, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__549)) __PYX_ERR(0, 17351, __pyx_L1_error)

  /* "cuda/cudart.pyx":17426
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExternalSemaphoresWaitNodeGetParams(hNode):             # <<<<<<<<<<<<<<
 *     """ Returns an external semaphore wait node's parameters.
 * 
 */
  __pyx_tuple__1006 = PyTuple_Pack(3, __pyx_n_s_hNode, __pyx_n_s_params_out, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1006)) __PYX_ERR(0, 17426, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1006);
  __Pyx_GIVEREF(__pyx_tuple__1006);
  __pyx_codeobj__550 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 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_cudaGraphExternalSemaphoresWaitN, 17426, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__550)) __PYX_ERR(0, 17426, __pyx_L1_error)

  /* "cuda/cudart.pyx":17464
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExternalSemaphoresWaitNodeSetParams(hNode, nodeParams : cudaExternalSemaphoreWaitNodeParams):             # <<<<<<<<<<<<<<
 *     """ Sets an external semaphore wait node's parameters.
 * 
 */
  __pyx_tuple__1007 = PyTuple_Pack(4, __pyx_n_s_hNode, __pyx_n_s_nodeParams, __pyx_n_s_cnodeParams_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1007)) __PYX_ERR(0, 17464, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1007);
  __Pyx_GIVEREF(__pyx_tuple__1007);
  __pyx_codeobj__551 = (PyObject*)__Pyx_PyCode_New(2, 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_cudaGraphExternalSemaphoresWaitN_2, 17464, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__551)) __PYX_ERR(0, 17464, __pyx_L1_error)

  /* "cuda/cudart.pyx":17499
 * 
 * @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__1008 = PyTuple_Pack(11, __pyx_n_s_graph, __pyx_n_s_pDependencies, __pyx_n_s_numDependencies, __pyx_n_s_nodeParams, __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__1008)) __PYX_ERR(0, 17499, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1008);
  __Pyx_GIVEREF(__pyx_tuple__1008);
  __pyx_codeobj__552 = (PyObject*)__Pyx_PyCode_New(4, 0, 11, 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_cudaGraphAddMemAllocNode, 17499, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__552)) __PYX_ERR(0, 17499, __pyx_L1_error)

  /* "cuda/cudart.pyx":17605
 * 
 * @cython.embedsignature(True)
 * def cudaGraphMemAllocNodeGetParams(node):             # <<<<<<<<<<<<<<
 *     """ Returns a memory alloc node's parameters.
 * 
 */
  __pyx_tuple__1009 = PyTuple_Pack(3, __pyx_n_s_node, __pyx_n_s_params_out, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1009)) __PYX_ERR(0, 17605, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1009);
  __Pyx_GIVEREF(__pyx_tuple__1009);
  __pyx_codeobj__553 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 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_cudaGraphMemAllocNodeGetParams, 17605, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__553)) __PYX_ERR(0, 17605, __pyx_L1_error)

  /* "cuda/cudart.pyx":17638
 * 
 * @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__1010 = PyTuple_Pack(12, __pyx_n_s_graph, __pyx_n_s_pDependencies, __pyx_n_s_numDependencies, __pyx_n_s_dptr_2, __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__1010)) __PYX_ERR(0, 17638, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1010);
  __Pyx_GIVEREF(__pyx_tuple__1010);
  __pyx_codeobj__554 = (PyObject*)__Pyx_PyCode_New(4, 0, 12, 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_cudaGraphAddMemFreeNode, 17638, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__554)) __PYX_ERR(0, 17638, __pyx_L1_error)

  /* "cuda/cudart.pyx":17722
 * 
 * @cython.embedsignature(True)
 * def cudaGraphMemFreeNodeGetParams(node):             # <<<<<<<<<<<<<<
 *     """ Returns a memory free node's parameters.
 * 
 */
  __pyx_tuple__1011 = PyTuple_Pack(4, __pyx_n_s_node, __pyx_n_s_dptr_out, __pyx_n_s_cdptr_out_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1011)) __PYX_ERR(0, 17722, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1011);
  __Pyx_GIVEREF(__pyx_tuple__1011);
  __pyx_codeobj__555 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_cudaGraphMemFreeNodeGetParams, 17722, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__555)) __PYX_ERR(0, 17722, __pyx_L1_error)

  /* "cuda/cudart.pyx":17753
 * 
 * @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__1012 = PyTuple_Pack(3, __pyx_n_s_device_2, __pyx_n_s_device_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1012)) __PYX_ERR(0, 17753, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1012);
  __Pyx_GIVEREF(__pyx_tuple__1012);
  __pyx_codeobj__556 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 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_cudaDeviceGraphMemTrim, 17753, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__556)) __PYX_ERR(0, 17753, __pyx_L1_error)

  /* "cuda/cudart.pyx":17786
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetGraphMemAttribute(int device, attr not None : cudaGraphMemAttributeType):             # <<<<<<<<<<<<<<
 *     """ Query asynchronous allocation attributes related to graphs.
 * 
 */
  __pyx_tuple__1013 = 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__1013)) __PYX_ERR(0, 17786, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1013);
  __Pyx_GIVEREF(__pyx_tuple__1013);
  __pyx_codeobj__557 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 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_cudaDeviceGetGraphMemAttribute, 17786, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__557)) __PYX_ERR(0, 17786, __pyx_L1_error)

  /* "cuda/cudart.pyx":17831
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceSetGraphMemAttribute(int device, attr not None : cudaGraphMemAttributeType, value):             # <<<<<<<<<<<<<<
 *     """ Set asynchronous allocation attributes related to graphs.
 * 
 */
  __pyx_tuple__1014 = 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__1014)) __PYX_ERR(0, 17831, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1014);
  __Pyx_GIVEREF(__pyx_tuple__1014);
  __pyx_codeobj__558 = (PyObject*)__Pyx_PyCode_New(3, 0, 7, 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_cudaDeviceSetGraphMemAttribute, 17831, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__558)) __PYX_ERR(0, 17831, __pyx_L1_error)

  /* "cuda/cudart.pyx":17875
 * 
 * @cython.embedsignature(True)
 * def cudaGraphClone(originalGraph):             # <<<<<<<<<<<<<<
 *     """ Clones a graph.
 * 
 */
  __pyx_tuple__1015 = PyTuple_Pack(3, __pyx_n_s_originalGraph, __pyx_n_s_pGraphClone, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1015)) __PYX_ERR(0, 17875, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1015);
  __Pyx_GIVEREF(__pyx_tuple__1015);
  __pyx_codeobj__559 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 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_cudaGraphClone, 17875, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__559)) __PYX_ERR(0, 17875, __pyx_L1_error)

  /* "cuda/cudart.pyx":17912
 * 
 * @cython.embedsignature(True)
 * def cudaGraphNodeFindInClone(originalNode, clonedGraph):             # <<<<<<<<<<<<<<
 *     """ Finds a cloned version of a node.
 * 
 */
  __pyx_tuple__1016 = PyTuple_Pack(4, __pyx_n_s_originalNode, __pyx_n_s_clonedGraph, __pyx_n_s_pNode, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1016)) __PYX_ERR(0, 17912, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1016);
  __Pyx_GIVEREF(__pyx_tuple__1016);
  __pyx_codeobj__560 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 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_cudaGraphNodeFindInClone, 17912, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__560)) __PYX_ERR(0, 17912, __pyx_L1_error)

  /* "cuda/cudart.pyx":17952
 * 
 * @cython.embedsignature(True)
 * def cudaGraphNodeGetType(node):             # <<<<<<<<<<<<<<
 *     """ Returns a node's type.
 * 
 */
  __pyx_tuple__1017 = PyTuple_Pack(3, __pyx_n_s_node, __pyx_n_s_pType, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1017)) __PYX_ERR(0, 17952, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1017);
  __Pyx_GIVEREF(__pyx_tuple__1017);
  __pyx_codeobj__561 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 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_cudaGraphNodeGetType, 17952, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__561)) __PYX_ERR(0, 17952, __pyx_L1_error)

  /* "cuda/cudart.pyx":17991
 * 
 * @cython.embedsignature(True)
 * def cudaGraphGetNodes(graph, size_t numNodes = 0):             # <<<<<<<<<<<<<<
 *     """ Returns a graph's nodes.
 * 
 */
  __pyx_tuple__1018 = PyTuple_Pack(7, __pyx_n_s_graph, __pyx_n_s_numNodes, __pyx_n_s_graph_length, __pyx_n_s_cnodes, __pyx_n_s_pynodes, __pyx_n_s_err, __pyx_n_s_idx); if (unlikely(!__pyx_tuple__1018)) __PYX_ERR(0, 17991, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1018);
  __Pyx_GIVEREF(__pyx_tuple__1018);
  __pyx_codeobj__562 = (PyObject*)__Pyx_PyCode_New(2, 0, 7, 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_cudaGraphGetNodes, 17991, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__562)) __PYX_ERR(0, 17991, __pyx_L1_error)

  /* "cuda/cudart.pyx":18042
 * 
 * @cython.embedsignature(True)
 * def cudaGraphGetRootNodes(graph, size_t pNumRootNodes = 0):             # <<<<<<<<<<<<<<
 *     """ Returns a graph's root nodes.
 * 
 */
  __pyx_tuple__1019 = PyTuple_Pack(7, __pyx_n_s_graph, __pyx_n_s_pNumRootNodes, __pyx_n_s_graph_length, __pyx_n_s_cpRootNodes, __pyx_n_s_pypRootNodes, __pyx_n_s_err, __pyx_n_s_idx); if (unlikely(!__pyx_tuple__1019)) __PYX_ERR(0, 18042, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1019);
  __Pyx_GIVEREF(__pyx_tuple__1019);
  __pyx_codeobj__563 = (PyObject*)__Pyx_PyCode_New(2, 0, 7, 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_cudaGraphGetRootNodes, 18042, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__563)) __PYX_ERR(0, 18042, __pyx_L1_error)

  /* "cuda/cudart.pyx":18093
 * 
 * @cython.embedsignature(True)
 * def cudaGraphGetEdges(graph, size_t numEdges = 0):             # <<<<<<<<<<<<<<
 *     """ Returns a graph's dependency edges.
 * 
 */
  __pyx_tuple__1020 = PyTuple_Pack(10, __pyx_n_s_graph, __pyx_n_s_numEdges, __pyx_n_s_graph_length, __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__1020)) __PYX_ERR(0, 18093, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1020);
  __Pyx_GIVEREF(__pyx_tuple__1020);
  __pyx_codeobj__564 = (PyObject*)__Pyx_PyCode_New(2, 0, 10, 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_cudaGraphGetEdges, 18093, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__564)) __PYX_ERR(0, 18093, __pyx_L1_error)

  /* "cuda/cudart.pyx":18158
 * 
 * @cython.embedsignature(True)
 * def cudaGraphNodeGetDependencies(node, size_t pNumDependencies = 0):             # <<<<<<<<<<<<<<
 *     """ Returns a node's dependencies.
 * 
 */
  __pyx_tuple__1021 = PyTuple_Pack(7, __pyx_n_s_node, __pyx_n_s_pNumDependencies, __pyx_n_s_graph_length, __pyx_n_s_cpDependencies, __pyx_n_s_pypDependencies, __pyx_n_s_err, __pyx_n_s_idx); if (unlikely(!__pyx_tuple__1021)) __PYX_ERR(0, 18158, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1021);
  __Pyx_GIVEREF(__pyx_tuple__1021);
  __pyx_codeobj__565 = (PyObject*)__Pyx_PyCode_New(2, 0, 7, 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_cudaGraphNodeGetDependencies, 18158, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__565)) __PYX_ERR(0, 18158, __pyx_L1_error)

  /* "cuda/cudart.pyx":18210
 * 
 * @cython.embedsignature(True)
 * def cudaGraphNodeGetDependentNodes(node, size_t pNumDependentNodes = 0):             # <<<<<<<<<<<<<<
 *     """ Returns a node's dependent nodes.
 * 
 */
  __pyx_tuple__1022 = PyTuple_Pack(7, __pyx_n_s_node, __pyx_n_s_pNumDependentNodes, __pyx_n_s_graph_length, __pyx_n_s_cpDependentNodes, __pyx_n_s_pypDependentNodes, __pyx_n_s_err, __pyx_n_s_idx); if (unlikely(!__pyx_tuple__1022)) __PYX_ERR(0, 18210, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1022);
  __Pyx_GIVEREF(__pyx_tuple__1022);
  __pyx_codeobj__566 = (PyObject*)__Pyx_PyCode_New(2, 0, 7, 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_cudaGraphNodeGetDependentNodes, 18210, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__566)) __PYX_ERR(0, 18210, __pyx_L1_error)

  /* "cuda/cudart.pyx":18262
 * 
 * @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__1023 = PyTuple_Pack(11, __pyx_n_s_graph, __pyx_n_s_from, __pyx_n_s_to, __pyx_n_s_numDependencies, __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__1023)) __PYX_ERR(0, 18262, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1023);
  __Pyx_GIVEREF(__pyx_tuple__1023);
  __pyx_codeobj__567 = (PyObject*)__Pyx_PyCode_New(4, 0, 11, 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_cudaGraphAddDependencies, 18262, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__567)) __PYX_ERR(0, 18262, __pyx_L1_error)

  /* "cuda/cudart.pyx":18334
 * 
 * @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__1024 = PyTuple_Pack(11, __pyx_n_s_graph, __pyx_n_s_from, __pyx_n_s_to, __pyx_n_s_numDependencies, __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__1024)) __PYX_ERR(0, 18334, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1024);
  __Pyx_GIVEREF(__pyx_tuple__1024);
  __pyx_codeobj__570 = (PyObject*)__Pyx_PyCode_New(4, 0, 11, 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_cudaGraphRemoveDependencies, 18334, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__570)) __PYX_ERR(0, 18334, __pyx_L1_error)

  /* "cuda/cudart.pyx":18407
 * 
 * @cython.embedsignature(True)
 * def cudaGraphDestroyNode(node):             # <<<<<<<<<<<<<<
 *     """ Remove a node from the graph.
 * 
 */
  __pyx_tuple__1025 = PyTuple_Pack(2, __pyx_n_s_node, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1025)) __PYX_ERR(0, 18407, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1025);
  __Pyx_GIVEREF(__pyx_tuple__1025);
  __pyx_codeobj__571 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 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_cudaGraphDestroyNode, 18407, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__571)) __PYX_ERR(0, 18407, __pyx_L1_error)

  /* "cuda/cudart.pyx":18444
 * 
 * @cython.embedsignature(True)
 * def cudaGraphInstantiate(graph, char* pLogBuffer, size_t bufferSize):             # <<<<<<<<<<<<<<
 *     """ Creates an executable graph from a graph.
 * 
 */
  __pyx_tuple__1026 = PyTuple_Pack(6, __pyx_n_s_graph, __pyx_n_s_pLogBuffer, __pyx_n_s_bufferSize, __pyx_n_s_pGraphExec, __pyx_n_s_pErrorNode, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1026)) __PYX_ERR(0, 18444, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1026);
  __Pyx_GIVEREF(__pyx_tuple__1026);
  __pyx_codeobj__572 = (PyObject*)__Pyx_PyCode_New(3, 0, 6, 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_cudaGraphInstantiate, 18444, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__572)) __PYX_ERR(0, 18444, __pyx_L1_error)

  /* "cuda/cudart.pyx":18494
 * 
 * @cython.embedsignature(True)
 * def cudaGraphInstantiateWithFlags(graph, unsigned long long flags):             # <<<<<<<<<<<<<<
 *     """ Creates an executable graph from a graph.
 * 
 */
  __pyx_tuple__1027 = PyTuple_Pack(4, __pyx_n_s_graph, __pyx_n_s_flags_2, __pyx_n_s_pGraphExec, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1027)) __PYX_ERR(0, 18494, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1027);
  __Pyx_GIVEREF(__pyx_tuple__1027);
  __pyx_codeobj__573 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 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_cudaGraphInstantiateWithFlags, 18494, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__573)) __PYX_ERR(0, 18494, __pyx_L1_error)

  /* "cuda/cudart.pyx":18545
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecKernelNodeSetParams(hGraphExec, node, pNodeParams : cudaKernelNodeParams):             # <<<<<<<<<<<<<<
 *     """ Sets the parameters for a kernel node in the given graphExec.
 * 
 */
  __pyx_tuple__1028 = PyTuple_Pack(5, __pyx_n_s_hGraphExec, __pyx_n_s_node, __pyx_n_s_pNodeParams, __pyx_n_s_cpNodeParams_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1028)) __PYX_ERR(0, 18545, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1028);
  __Pyx_GIVEREF(__pyx_tuple__1028);
  __pyx_codeobj__574 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1028, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_cudaGraphExecKernelNodeSetParams, 18545, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__574)) __PYX_ERR(0, 18545, __pyx_L1_error)

  /* "cuda/cudart.pyx":18602
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecMemcpyNodeSetParams(hGraphExec, node, pNodeParams : cudaMemcpy3DParms):             # <<<<<<<<<<<<<<
 *     """ Sets the parameters for a memcpy node in the given graphExec.
 * 
 */
  __pyx_tuple__1029 = PyTuple_Pack(5, __pyx_n_s_hGraphExec, __pyx_n_s_node, __pyx_n_s_pNodeParams, __pyx_n_s_cpNodeParams_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1029)) __PYX_ERR(0, 18602, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1029);
  __Pyx_GIVEREF(__pyx_tuple__1029);
  __pyx_codeobj__575 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 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_cudaGraphExecMemcpyNodeSetParams, 18602, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__575)) __PYX_ERR(0, 18602, __pyx_L1_error)

  /* "cuda/cudart.pyx":18667
 * 
 * @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__1030 = PyTuple_Pack(12, __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_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__1030)) __PYX_ERR(0, 18667, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1030);
  __Pyx_GIVEREF(__pyx_tuple__1030);
  __pyx_codeobj__576 = (PyObject*)__Pyx_PyCode_New(6, 0, 12, 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_cudaGraphExecMemcpyNodeSetParams_2, 18667, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__576)) __PYX_ERR(0, 18667, __pyx_L1_error)

  /* "cuda/cudart.pyx":18741
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecMemsetNodeSetParams(hGraphExec, node, pNodeParams : cudaMemsetParams):             # <<<<<<<<<<<<<<
 *     """ Sets the parameters for a memset node in the given graphExec.
 * 
 */
  __pyx_tuple__1031 = PyTuple_Pack(5, __pyx_n_s_hGraphExec, __pyx_n_s_node, __pyx_n_s_pNodeParams, __pyx_n_s_cpNodeParams_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1031)) __PYX_ERR(0, 18741, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1031);
  __Pyx_GIVEREF(__pyx_tuple__1031);
  __pyx_codeobj__577 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 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_cudaGraphExecMemsetNodeSetParams, 18741, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__577)) __PYX_ERR(0, 18741, __pyx_L1_error)

  /* "cuda/cudart.pyx":18802
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecHostNodeSetParams(hGraphExec, node, pNodeParams : cudaHostNodeParams):             # <<<<<<<<<<<<<<
 *     """ Sets the parameters for a host node in the given graphExec.
 * 
 */
  __pyx_tuple__1032 = PyTuple_Pack(5, __pyx_n_s_hGraphExec, __pyx_n_s_node, __pyx_n_s_pNodeParams, __pyx_n_s_cpNodeParams_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1032)) __PYX_ERR(0, 18802, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1032);
  __Pyx_GIVEREF(__pyx_tuple__1032);
  __pyx_codeobj__578 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 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_cudaGraphExecHostNodeSetParams, 18802, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__578)) __PYX_ERR(0, 18802, __pyx_L1_error)

  /* "cuda/cudart.pyx":18855
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecChildGraphNodeSetParams(hGraphExec, node, childGraph):             # <<<<<<<<<<<<<<
 *     """ Updates node parameters in the child graph node in the given graphExec.
 * 
 */
  __pyx_tuple__1033 = PyTuple_Pack(4, __pyx_n_s_hGraphExec, __pyx_n_s_node, __pyx_n_s_childGraph, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1033)) __PYX_ERR(0, 18855, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1033);
  __Pyx_GIVEREF(__pyx_tuple__1033);
  __pyx_codeobj__579 = (PyObject*)__Pyx_PyCode_New(3, 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_cudaGraphExecChildGraphNodeSetPa, 18855, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__579)) __PYX_ERR(0, 18855, __pyx_L1_error)

  /* "cuda/cudart.pyx":18916
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecEventRecordNodeSetEvent(hGraphExec, hNode, event):             # <<<<<<<<<<<<<<
 *     """ Sets the event for an event record node in the given graphExec.
 * 
 */
  __pyx_tuple__1034 = PyTuple_Pack(4, __pyx_n_s_hGraphExec, __pyx_n_s_hNode, __pyx_n_s_event, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1034)) __PYX_ERR(0, 18916, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1034);
  __Pyx_GIVEREF(__pyx_tuple__1034);
  __pyx_codeobj__580 = (PyObject*)__Pyx_PyCode_New(3, 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_cudaGraphExecEventRecordNodeSetE, 18916, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__580)) __PYX_ERR(0, 18916, __pyx_L1_error)

  /* "cuda/cudart.pyx":18974
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecEventWaitNodeSetEvent(hGraphExec, hNode, event):             # <<<<<<<<<<<<<<
 *     """ Sets the event for an event wait node in the given graphExec.
 * 
 */
  __pyx_tuple__1035 = PyTuple_Pack(4, __pyx_n_s_hGraphExec, __pyx_n_s_hNode, __pyx_n_s_event, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1035)) __PYX_ERR(0, 18974, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1035);
  __Pyx_GIVEREF(__pyx_tuple__1035);
  __pyx_codeobj__581 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 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_cudaGraphExecEventWaitNodeSetEve, 18974, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__581)) __PYX_ERR(0, 18974, __pyx_L1_error)

  /* "cuda/cudart.pyx":19032
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecExternalSemaphoresSignalNodeSetParams(hGraphExec, hNode, nodeParams : cudaExternalSemaphoreSignalNodeParams):             # <<<<<<<<<<<<<<
 *     """ Sets the parameters for an external semaphore signal node in the given graphExec.
 * 
 */
  __pyx_tuple__1036 = PyTuple_Pack(5, __pyx_n_s_hGraphExec, __pyx_n_s_hNode, __pyx_n_s_nodeParams, __pyx_n_s_cnodeParams_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1036)) __PYX_ERR(0, 19032, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1036);
  __Pyx_GIVEREF(__pyx_tuple__1036);
  __pyx_codeobj__582 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 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_cudaGraphExecExternalSemaphoresS, 19032, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__582)) __PYX_ERR(0, 19032, __pyx_L1_error)

  /* "cuda/cudart.pyx":19092
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecExternalSemaphoresWaitNodeSetParams(hGraphExec, hNode, nodeParams : cudaExternalSemaphoreWaitNodeParams):             # <<<<<<<<<<<<<<
 *     """ Sets the parameters for an external semaphore wait node in the given graphExec.
 * 
 */
  __pyx_tuple__1037 = PyTuple_Pack(5, __pyx_n_s_hGraphExec, __pyx_n_s_hNode, __pyx_n_s_nodeParams, __pyx_n_s_cnodeParams_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1037)) __PYX_ERR(0, 19092, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1037);
  __Pyx_GIVEREF(__pyx_tuple__1037);
  __pyx_codeobj__583 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 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_cudaGraphExecExternalSemaphoresW, 19092, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__583)) __PYX_ERR(0, 19092, __pyx_L1_error)

  /* "cuda/cudart.pyx":19152
 * 
 * @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__1038 = PyTuple_Pack(5, __pyx_n_s_hGraphExec, __pyx_n_s_hGraph, __pyx_n_s_hErrorNode_out, __pyx_n_s_updateResult_out, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1038)) __PYX_ERR(0, 19152, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1038);
  __Pyx_GIVEREF(__pyx_tuple__1038);
  __pyx_codeobj__584 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 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_cudaGraphExecUpdate, 19152, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__584)) __PYX_ERR(0, 19152, __pyx_L1_error)

  /* "cuda/cudart.pyx":19247
 * 
 * @cython.embedsignature(True)
 * def cudaGraphUpload(graphExec, stream):             # <<<<<<<<<<<<<<
 *     """ Uploads an executable graph in a stream.
 * 
 */
  __pyx_tuple__1039 = PyTuple_Pack(3, __pyx_n_s_graphExec, __pyx_n_s_stream, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1039)) __PYX_ERR(0, 19247, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1039);
  __Pyx_GIVEREF(__pyx_tuple__1039);
  __pyx_codeobj__585 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 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_cudaGraphUpload, 19247, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__585)) __PYX_ERR(0, 19247, __pyx_L1_error)

  /* "cuda/cudart.pyx":19285
 * 
 * @cython.embedsignature(True)
 * def cudaGraphLaunch(graphExec, stream):             # <<<<<<<<<<<<<<
 *     """ Launches an executable graph in a stream.
 * 
 */
  __pyx_tuple__1040 = PyTuple_Pack(3, __pyx_n_s_graphExec, __pyx_n_s_stream, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1040)) __PYX_ERR(0, 19285, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1040);
  __Pyx_GIVEREF(__pyx_tuple__1040);
  __pyx_codeobj__586 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 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_cudaGraphLaunch, 19285, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__586)) __PYX_ERR(0, 19285, __pyx_L1_error)

  /* "cuda/cudart.pyx":19328
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecDestroy(graphExec):             # <<<<<<<<<<<<<<
 *     """ Destroys an executable graph.
 * 
 */
  __pyx_tuple__1041 = PyTuple_Pack(2, __pyx_n_s_graphExec, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1041)) __PYX_ERR(0, 19328, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1041);
  __Pyx_GIVEREF(__pyx_tuple__1041);
  __pyx_codeobj__587 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 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_cudaGraphExecDestroy, 19328, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__587)) __PYX_ERR(0, 19328, __pyx_L1_error)

  /* "cuda/cudart.pyx":19358
 * 
 * @cython.embedsignature(True)
 * def cudaGraphDestroy(graph):             # <<<<<<<<<<<<<<
 *     """ Destroys a graph.
 * 
 */
  __pyx_tuple__1042 = PyTuple_Pack(2, __pyx_n_s_graph, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1042)) __PYX_ERR(0, 19358, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1042);
  __Pyx_GIVEREF(__pyx_tuple__1042);
  __pyx_codeobj__588 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 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_cudaGraphDestroy, 19358, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__588)) __PYX_ERR(0, 19358, __pyx_L1_error)

  /* "cuda/cudart.pyx":19386
 * 
 * @cython.embedsignature(True)
 * def cudaGraphDebugDotPrint(graph, char* path, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Write a DOT file describing graph structure.
 * 
 */
  __pyx_tuple__1043 = PyTuple_Pack(4, __pyx_n_s_graph, __pyx_n_s_path, __pyx_n_s_flags_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1043)) __PYX_ERR(0, 19386, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1043);
  __Pyx_GIVEREF(__pyx_tuple__1043);
  __pyx_codeobj__589 = (PyObject*)__Pyx_PyCode_New(3, 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_cudaGraphDebugDotPrint, 19386, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__589)) __PYX_ERR(0, 19386, __pyx_L1_error)

  /* "cuda/cudart.pyx":19420
 * 
 * @cython.embedsignature(True)
 * def cudaUserObjectCreate(ptr, destroy not None : cudaHostFn_t, unsigned int initialRefcount, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Create a user object.
 * 
 */
  __pyx_tuple__1044 = PyTuple_Pack(8, __pyx_n_s_ptr_3, __pyx_n_s_destroy, __pyx_n_s_initialRefcount, __pyx_n_s_flags_2, __pyx_n_s_object_out, __pyx_n_s_cptr, __pyx_n_s_cptr_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1044)) __PYX_ERR(0, 19420, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1044);
  __Pyx_GIVEREF(__pyx_tuple__1044);
  __pyx_codeobj__590 = (PyObject*)__Pyx_PyCode_New(4, 0, 8, 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_cudaUserObjectCreate, 19420, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__590)) __PYX_ERR(0, 19420, __pyx_L1_error)

  /* "cuda/cudart.pyx":19473
 * 
 * @cython.embedsignature(True)
 * def cudaUserObjectRetain(object, unsigned int count):             # <<<<<<<<<<<<<<
 *     """ Retain a reference to a user object.
 * 
 */
  __pyx_tuple__1045 = PyTuple_Pack(3, __pyx_n_s_object, __pyx_n_s_count, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1045)) __PYX_ERR(0, 19473, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1045);
  __Pyx_GIVEREF(__pyx_tuple__1045);
  __pyx_codeobj__591 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 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_cudaUserObjectRetain, 19473, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__591)) __PYX_ERR(0, 19473, __pyx_L1_error)

  /* "cuda/cudart.pyx":19512
 * 
 * @cython.embedsignature(True)
 * def cudaUserObjectRelease(object, unsigned int count):             # <<<<<<<<<<<<<<
 *     """ Release a reference to a user object.
 * 
 */
  __pyx_tuple__1046 = PyTuple_Pack(3, __pyx_n_s_object, __pyx_n_s_count, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1046)) __PYX_ERR(0, 19512, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1046);
  __Pyx_GIVEREF(__pyx_tuple__1046);
  __pyx_codeobj__592 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 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_cudaUserObjectRelease, 19512, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__592)) __PYX_ERR(0, 19512, __pyx_L1_error)

  /* "cuda/cudart.pyx":19554
 * 
 * @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__1047 = PyTuple_Pack(5, __pyx_n_s_graph, __pyx_n_s_object, __pyx_n_s_count, __pyx_n_s_flags_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1047)) __PYX_ERR(0, 19554, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1047);
  __Pyx_GIVEREF(__pyx_tuple__1047);
  __pyx_codeobj__593 = (PyObject*)__Pyx_PyCode_New(4, 0, 5, 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_cudaGraphRetainUserObject, 19554, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__593)) __PYX_ERR(0, 19554, __pyx_L1_error)

  /* "cuda/cudart.pyx":19601
 * 
 * @cython.embedsignature(True)
 * def cudaGraphReleaseUserObject(graph, object, unsigned int count):             # <<<<<<<<<<<<<<
 *     """ Release a user object reference from a graph.
 * 
 */
  __pyx_tuple__1048 = PyTuple_Pack(4, __pyx_n_s_graph, __pyx_n_s_object, __pyx_n_s_count, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1048)) __PYX_ERR(0, 19601, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1048);
  __Pyx_GIVEREF(__pyx_tuple__1048);
  __pyx_codeobj__594 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 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_cudaGraphReleaseUserObject, 19601, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__594)) __PYX_ERR(0, 19601, __pyx_L1_error)

  /* "cuda/cudart.pyx":19643
 * 
 * @cython.embedsignature(True)
 * def cudaGetDriverEntryPoint(char* symbol, unsigned long long flags):             # <<<<<<<<<<<<<<
 *     """ Returns the requested driver API function pointer.
 * 
 */
  __pyx_tuple__1049 = PyTuple_Pack(4, __pyx_n_s_symbol, __pyx_n_s_flags_2, __pyx_n_s_funcPtr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1049)) __PYX_ERR(0, 19643, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1049);
  __Pyx_GIVEREF(__pyx_tuple__1049);
  __pyx_codeobj__595 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 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_cudaGetDriverEntryPoint, 19643, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__595)) __PYX_ERR(0, 19643, __pyx_L1_error)

  /* "cuda/cudart.pyx":19709
 * 
 * @cython.embedsignature(True)
 * def cudaGetExportTable(pExportTableId : cudaUUID_t):             # <<<<<<<<<<<<<<
 *     """"""
 *     cdef void_ptr ppExportTable = 0
 */
  __pyx_tuple__1050 = PyTuple_Pack(4, __pyx_n_s_pExportTableId, __pyx_n_s_ppExportTable, __pyx_n_s_cpExportTableId_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1050)) __PYX_ERR(0, 19709, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1050);
  __Pyx_GIVEREF(__pyx_tuple__1050);
  __pyx_codeobj__596 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_cudaGetExportTable, 19709, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__596)) __PYX_ERR(0, 19709, __pyx_L1_error)

  /* "cuda/cudart.pyx":19717
 * 
 * @cython.embedsignature(True)
 * def make_cudaPitchedPtr(d, size_t p, size_t xsz, size_t ysz):             # <<<<<<<<<<<<<<
 *     """"""
 *     cd = utils.HelperInputVoidPtr(d)
 */
  __pyx_tuple__1051 = 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__1051)) __PYX_ERR(0, 19717, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1051);
  __Pyx_GIVEREF(__pyx_tuple__1051);
  __pyx_codeobj__597 = (PyObject*)__Pyx_PyCode_New(4, 0, 8, 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_make_cudaPitchedPtr, 19717, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__597)) __PYX_ERR(0, 19717, __pyx_L1_error)

  /* "cuda/cudart.pyx":19728
 * 
 * @cython.embedsignature(True)
 * def make_cudaPos(size_t x, size_t y, size_t z):             # <<<<<<<<<<<<<<
 *     """"""
 *     cdef ccudart.cudaPos err
 */
  __pyx_tuple__1052 = 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__1052)) __PYX_ERR(0, 19728, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1052);
  __Pyx_GIVEREF(__pyx_tuple__1052);
  __pyx_codeobj__598 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 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_make_cudaPos, 19728, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__598)) __PYX_ERR(0, 19728, __pyx_L1_error)

  /* "cuda/cudart.pyx":19737
 * 
 * @cython.embedsignature(True)
 * def make_cudaExtent(size_t w, size_t h, size_t d):             # <<<<<<<<<<<<<<
 *     """"""
 *     cdef ccudart.cudaExtent err
 */
  __pyx_tuple__1053 = 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__1053)) __PYX_ERR(0, 19737, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1053);
  __Pyx_GIVEREF(__pyx_tuple__1053);
  __pyx_codeobj__599 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1053, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cudart_pyx, __pyx_n_s_make_cudaExtent, 19737, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__599)) __PYX_ERR(0, 19737, __pyx_L1_error)

  /* "cuda/cudart.pyx":19746
 * 
 * @cython.embedsignature(True)
 * def sizeof(objType):             # <<<<<<<<<<<<<<
 *     """ Returns the size of provided CUDA Python structure in bytes
 * 
 */
  __pyx_tuple__1054 = PyTuple_Pack(1, __pyx_n_s_objType); if (unlikely(!__pyx_tuple__1054)) __PYX_ERR(0, 19746, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1054);
  __Pyx_GIVEREF(__pyx_tuple__1054);
  __pyx_codeobj__600 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 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_sizeof, 19746, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__600)) __PYX_ERR(0, 19746, __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)
  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, 752, __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, 752, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaArray_t) < 0) __PYX_ERR(0, 752, __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, 786, __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, 786, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaArray_const_t) < 0) __PYX_ERR(0, 786, __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, 820, __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, 820, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaMipmappedArray_t) < 0) __PYX_ERR(0, 820, __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, 854, __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, 854, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaMipmappedArray_const_t) < 0) __PYX_ERR(0, 854, __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, 888, __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, 888, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaGraphicsResource_t) < 0) __PYX_ERR(0, 888, __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, 922, __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, 922, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaExternalMemory_t) < 0) __PYX_ERR(0, 922, __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, 956, __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, 956, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaExternalSemaphore_t) < 0) __PYX_ERR(0, 956, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaExternalSemaphore_t = &__pyx_type_4cuda_6cudart_cudaExternalSemaphore_t;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaHostFn_t) < 0) __PYX_ERR(0, 990, __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, 990, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaHostFn_t) < 0) __PYX_ERR(0, 990, __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, 1024, __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, 1024, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaStreamCallback_t) < 0) __PYX_ERR(0, 1024, __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, 1058, __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, 1058, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_dim3) < 0) __PYX_ERR(0, 1058, __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, 1125, __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, 1125, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaChannelFormatDesc) < 0) __PYX_ERR(0, 1125, __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, 1213, __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, 1213, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s) < 0) __PYX_ERR(0, 1213, __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, 1269, __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, 1269, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaArraySparseProperties) < 0) __PYX_ERR(0, 1269, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaArraySparseProperties = &__pyx_type_4cuda_6cudart_cudaArraySparseProperties;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaPitchedPtr) < 0) __PYX_ERR(0, 1361, __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, 1361, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaPitchedPtr) < 0) __PYX_ERR(0, 1361, __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, 1439, __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, 1439, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaExtent) < 0) __PYX_ERR(0, 1439, __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, 1508, __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, 1508, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaPos) < 0) __PYX_ERR(0, 1508, __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, 1576, __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, 1576, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaMemcpy3DParms) < 0) __PYX_ERR(0, 1576, __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, 1720, __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, 1720, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaMemcpy3DPeerParms) < 0) __PYX_ERR(0, 1720, __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, 1874, __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, 1874, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaMemsetParams) < 0) __PYX_ERR(0, 1874, __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, 1972, __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, 1972, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaAccessPolicyWindow) < 0) __PYX_ERR(0, 1972, __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, 2070, __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, 2070, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaHostNodeParams) < 0) __PYX_ERR(0, 2070, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaHostNodeParams = &__pyx_type_4cuda_6cudart_cudaHostNodeParams;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaStreamAttrValue) < 0) __PYX_ERR(0, 2128, __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(0, 2128, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaStreamAttrValue) < 0) __PYX_ERR(0, 2128, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaStreamAttrValue = &__pyx_type_4cuda_6cudart_cudaStreamAttrValue;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaKernelNodeAttrValue) < 0) __PYX_ERR(0, 2189, __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(0, 2189, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaKernelNodeAttrValue) < 0) __PYX_ERR(0, 2189, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaKernelNodeAttrValue = &__pyx_type_4cuda_6cudart_cudaKernelNodeAttrValue;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart__cudaResourceDesc_res_res_array_s) < 0) __PYX_ERR(0, 2250, __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, 2250, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart__cudaResourceDesc_res_res_array_s) < 0) __PYX_ERR(0, 2250, __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, 2286, __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, 2286, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s) < 0) __PYX_ERR(0, 2286, __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, 2322, __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, 2322, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart__cudaResourceDesc_res_res_linear_s) < 0) __PYX_ERR(0, 2322, __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, 2382, __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, 2382, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s) < 0) __PYX_ERR(0, 2382, __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, 2462, __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, 2462, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart__cudaResourceDesc_res_u) < 0) __PYX_ERR(0, 2462, __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, 2547, __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, 2547, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaResourceDesc) < 0) __PYX_ERR(0, 2547, __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, 2609, __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, 2609, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaResourceViewDesc) < 0) __PYX_ERR(0, 2609, __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, 2727, __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, 2727, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaPointerAttributes) < 0) __PYX_ERR(0, 2727, __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, 2816, __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, 2816, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaFuncAttributes) < 0) __PYX_ERR(0, 2816, __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, 2973, __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, 2973, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaMemLocation) < 0) __PYX_ERR(0, 2973, __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, 3032, __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, 3032, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaMemAccessDesc) < 0) __PYX_ERR(0, 3032, __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, 3094, __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, 3094, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaMemPoolProps) < 0) __PYX_ERR(0, 3094, __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, 3193, __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, 3193, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaMemPoolPtrExportData) < 0) __PYX_ERR(0, 3193, __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, 3243, __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, 3243, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaMemAllocNodeParams) < 0) __PYX_ERR(0, 3243, __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, 3353, __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, 3353, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_CUuuid_st) < 0) __PYX_ERR(0, 3353, __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, 3396, __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, 3396, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaDeviceProp) < 0) __PYX_ERR(0, 3396, __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, 4258, __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, 4258, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaIpcEventHandle_st) < 0) __PYX_ERR(0, 4258, __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, 4310, __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, 4310, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaIpcMemHandle_st) < 0) __PYX_ERR(0, 4310, __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, 4362, __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, 4362, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s) < 0) __PYX_ERR(0, 4362, __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, 4408, __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, 4408, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u) < 0) __PYX_ERR(0, 4408, __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, 4468, __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, 4468, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaExternalMemoryHandleDesc) < 0) __PYX_ERR(0, 4468, __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, 4550, __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, 4550, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaExternalMemoryBufferDesc) < 0) __PYX_ERR(0, 4550, __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, 4618, __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, 4618, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc) < 0) __PYX_ERR(0, 4618, __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, 4717, __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, 4717, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s) < 0) __PYX_ERR(0, 4717, __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, 4763, __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, 4763, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u) < 0) __PYX_ERR(0, 4763, __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, 4823, __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, 4823, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaExternalSemaphoreHandleDesc) < 0) __PYX_ERR(0, 4823, __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, 4895, __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, 4895, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s) < 0) __PYX_ERR(0, 4895, __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, 4931, __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, 4931, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u) < 0) __PYX_ERR(0, 4931, __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, 4977, __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, 4977, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s) < 0) __PYX_ERR(0, 4977, __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, 5013, __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, 5013, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s) < 0) __PYX_ERR(0, 5013, __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, 5093, __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, 5093, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaExternalSemaphoreSignalParams) < 0) __PYX_ERR(0, 5093, __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, 5172, __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, 5172, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s) < 0) __PYX_ERR(0, 5172, __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, 5208, __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, 5208, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u) < 0) __PYX_ERR(0, 5208, __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, 5254, __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, 5254, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s) < 0) __PYX_ERR(0, 5254, __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, 5300, __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, 5300, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s) < 0) __PYX_ERR(0, 5300, __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, 5380, __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, 5380, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaExternalSemaphoreWaitParams) < 0) __PYX_ERR(0, 5380, __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, 5459, __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, 5459, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaKernelNodeParams) < 0) __PYX_ERR(0, 5459, __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, 5565, __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, 5565, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams) < 0) __PYX_ERR(0, 5565, __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, 5663, __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, 5663, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams) < 0) __PYX_ERR(0, 5663, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams = &__pyx_type_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaTextureDesc) < 0) __PYX_ERR(0, 5761, __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, 5761, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaTextureDesc) < 0) __PYX_ERR(0, 5761, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaTextureDesc = &__pyx_type_4cuda_6cudart_cudaTextureDesc;
  __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, 1651, __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, 1651, __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, 1667, __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, 1667, __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, 1683, __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, 1683, __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, 1700, __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, 1700, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaIpcMemHandle_t = &__pyx_type_4cuda_6cudart_cudaIpcMemHandle_t;
  __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, 1717, __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, 1717, __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, 1729, __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, 1729, __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, 1741, __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, 1741, __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, 1753, __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, 1753, __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, 1765, __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, 1765, __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, 1777, __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, 1777, __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, 1789, __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, 1789, __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, 1801, __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, 1801, __pyx_L1_error)
  __pyx_ptype_4cuda_6cudart_cudaGraphExec_t = &__pyx_type_4cuda_6cudart_cudaGraphExec_t;
  if (PyType_Ready(&__pyx_type_4cuda_6cudart_cudaSurfaceObject_t) < 0) __PYX_ERR(0, 5918, __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, 5918, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaSurfaceObject_t) < 0) __PYX_ERR(0, 5918, __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, 5949, __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, 5949, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4cuda_6cudart_cudaTextureObject_t) < 0) __PYX_ERR(0, 5949, __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, 9083, __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, 9121, __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, 9981, __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, 10061, __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, 10064, __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, 10093, __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, 10180, __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, 10183, __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, 13843, __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, 13892, __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, 13894, __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, 14531, __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, 14560, __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, 15897, __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, 15993, __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, 16193, __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, 16246, __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, 16268, __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, 16334, __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, 16482, __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, 16528, __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, 16614, __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, 16661, __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, 16747, __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, 16797, __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, 16853, __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, 16897, __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, 16918, __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, 16968, __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, 17058, __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, 17111, __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, 17201, __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, 17254, __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, 17351, __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, 17404, __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, 17499, __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, 17583, __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, 17638, __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, 17699, __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, 18262, __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, 18299, __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, 18302, __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, 18334, __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, 18372, __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, 18375, __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, 24, __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, 50, __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, 63, __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, 76, __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, 89, __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, 128, __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, 141, __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, 154, __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, 232, __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, 246, __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, 259, __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, 272, __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, 285, __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, 302, __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, 320, __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, 338, __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, 366, __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, 394, __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, 413, __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, 442, __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, 478, __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, 517, __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, 555, __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, 584, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUkernelNodeAttrValue_union = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUkernelNodeAttrValue_union", sizeof(struct __pyx_obj_4cuda_4cuda_CUkernelNodeAttrValue_union), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUkernelNodeAttrValue_union) __PYX_ERR(3, 606, __pyx_L1_error)
  __pyx_ptype_4cuda_4cuda_CUstreamAttrValue_union = __Pyx_ImportType(__pyx_t_1, "cuda.cuda", "CUstreamAttrValue_union", sizeof(struct __pyx_obj_4cuda_4cuda_CUstreamAttrValue_union), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4cuda_4cuda_CUstreamAttrValue_union) __PYX_ERR(3, 626, __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, 646, __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, 664, __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, 681, __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, 702, __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, 756, __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, 831, __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, 907, __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, 931, __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, 959, __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, 979, __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, 1007, __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, 1024, __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, 1041, __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, 1064, __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, 1091, __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, 1107, __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, 1136, __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, 1159, __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, 1195, __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, 1229, __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, 1249, __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, 1288, __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, 1308, __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, 1330, __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, 1357, __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, 1381, __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, 1407, __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, 1427, __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, 1449, __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, 1474, __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, 1490, __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, 1509, __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, 1525, __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, 1550, __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, 1580, __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, 1596, __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, 1615, __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, 1633, __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, 1658, __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, 1688, __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, 1715, __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, 1742, __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, 1762, __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, 1792, __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, 1812, __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, 1832, __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, 1849, __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, 1891, __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, 1911, __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, 1933, __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, 1966, __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, 1987, __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, 2020, __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, 2038, __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, 2072, __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, 2088, __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, 2105, __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, 2122, __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, 2139, __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, 2156, __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, 2180, __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, 2204, __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, 2239, __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, 2274, __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, 2311, __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, 2348, __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, 2383, __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, 2418, __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, 2445, __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, 2472, __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, 2491, __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, 2510, __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, 2528, __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, 2546, __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, 2564, __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, 2582, __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, 2599, __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, 2616, __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, 2635, __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, 2654, __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, 2701, __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, 2748, __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, 2814, __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, 2880, __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, 2947, __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, 3014, __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, 3037, __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, 3060, __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, 3087, __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, 3114, __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, 3140, __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, 3166, __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, 3187, __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, 3208, __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, 3243, __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, 3278, __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, 3311, __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, 3344, __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, 3363, __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, 3382, __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, 3417, __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, 3452, __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, 3477, __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, 3502, __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, 3525, __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, 3548, __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, 3572, __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, 3596, __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, 3619, __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, 3642, __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, 3670, __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, 3698, __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, 3726, __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, 3754, __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, 3776, __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, 3798, __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, 3820, __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, 3842, __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, 3880, __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, 3918, __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, 3937, __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, 3956, __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, 3985, __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, 4014, __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, 4033, __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, 4052, __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, 4082, __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, 4112, __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, 4129, __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, 4146, __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, 4175, __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, 4188, __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, 4201, __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, 4214, __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, 4227, __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, 4240, __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, 4253, __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, 4266, __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, 4279, __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, 4292, __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, 4305, __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, 4318, __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, "cudaDeviceReset", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaDeviceReset, "__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (enum __pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (size_t *, enum __pyx_t_4cuda_7ccudart_cudaLimit)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaDeviceGetTexture1DLinearMaxWidth", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaDeviceGetTexture1DLinearMaxWidth, "__pyx_t_4cuda_7ccudart_cudaError_t (size_t *, struct __pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (enum __pyx_t_4cuda_7ccudart_cudaFuncCache *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaDeviceGetStreamPriorityRange", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaDeviceGetStreamPriorityRange, "__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (enum __pyx_t_4cuda_7ccudart_cudaFuncCache)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaDeviceGetSharedMemConfig", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaDeviceGetSharedMemConfig, "__pyx_t_4cuda_7ccudart_cudaError_t (enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaDeviceSetSharedMemConfig", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaDeviceSetSharedMemConfig, "__pyx_t_4cuda_7ccudart_cudaError_t (enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaDeviceGetByPCIBusId", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaDeviceGetByPCIBusId, "__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaIpcEventHandle_t *, __pyx_t_4cuda_7ccudart_cudaEvent_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaIpcOpenEventHandle", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaIpcOpenEventHandle, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaEvent_t *, __pyx_t_4cuda_7ccudart_cudaIpcEventHandle_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaIpcGetMemHandle", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaIpcGetMemHandle, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (void **, __pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget, enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaThreadExit", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaThreadExit, "__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (enum __pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (size_t *, enum __pyx_t_4cuda_7ccudart_cudaLimit)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaThreadGetCacheConfig", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaThreadGetCacheConfig, "__pyx_t_4cuda_7ccudart_cudaError_t (enum __pyx_t_4cuda_7ccudart_cudaFuncCache *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaThreadSetCacheConfig", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaThreadSetCacheConfig, "__pyx_t_4cuda_7ccudart_cudaError_t (enum __pyx_t_4cuda_7ccudart_cudaFuncCache)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGetLastError", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGetLastError, "__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_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 *(__pyx_t_4cuda_7ccudart_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 *(__pyx_t_4cuda_7ccudart_cudaError_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGetDeviceCount", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGetDeviceCount, "__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (struct __pyx_t_4cuda_7ccudart_cudaDeviceProp *, int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaDeviceGetAttribute", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaDeviceGetAttribute, "__pyx_t_4cuda_7ccudart_cudaError_t (int *, enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr, int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaDeviceGetDefaultMemPool", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaDeviceGetDefaultMemPool, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (int, __pyx_t_4cuda_7ccudart_cudaMemPool_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaDeviceGetMemPool", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaDeviceGetMemPool, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (int *, enum __pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (int *, struct __pyx_t_4cuda_7ccudart_cudaDeviceProp const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaSetDevice", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaSetDevice, "__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaStream_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaStreamCreateWithFlags", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaStreamCreateWithFlags, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaStream_t, __pyx_t_4cuda_7ccudart_cudaStream_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaStreamGetAttribute", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaStreamGetAttribute, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaStream_t, enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID, union __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, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaStream_t, enum __pyx_t_4cuda_7ccudart_cudaStreamAttrID, union __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, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaStream_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaStreamWaitEvent", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaStreamWaitEvent, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaStream_t, __pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaStream_t, __pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaStream_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaStreamQuery", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaStreamQuery, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaStream_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaStreamAttachMemAsync", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaStreamAttachMemAsync, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaStream_t, enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaThreadExchangeStreamCaptureMode", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaThreadExchangeStreamCaptureMode, "__pyx_t_4cuda_7ccudart_cudaError_t (enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaStreamEndCapture", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaStreamEndCapture, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaStream_t, __pyx_t_4cuda_7ccudart_cudaGraph_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaStreamIsCapturing", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaStreamIsCapturing, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaStream_t, enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureStatus *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaStreamGetCaptureInfo", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaStreamGetCaptureInfo, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaStream_t, enum __pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaStream_t, enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureStatus *, unsigned PY_LONG_LONG *, __pyx_t_4cuda_7ccudart_cudaGraph_t *, __pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaStream_t, __pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaEvent_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaEventCreateWithFlags", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaEventCreateWithFlags, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaEvent_t, __pyx_t_4cuda_7ccudart_cudaStream_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaEventRecordWithFlags", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaEventRecordWithFlags, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaEvent_t, __pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaEvent_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaEventSynchronize", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaEventSynchronize, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaEvent_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaEventDestroy", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaEventDestroy, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaEvent_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaEventElapsedTime", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaEventElapsedTime, "__pyx_t_4cuda_7ccudart_cudaError_t (float *, __pyx_t_4cuda_7ccudart_cudaEvent_t, __pyx_t_4cuda_7ccudart_cudaEvent_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaImportExternalMemory", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaImportExternalMemory, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaExternalMemory_t *, struct __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleDesc const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaExternalMemoryGetMappedBuffer", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaExternalMemoryGetMappedBuffer, "__pyx_t_4cuda_7ccudart_cudaError_t (void **, __pyx_t_4cuda_7ccudart_cudaExternalMemory_t, struct __pyx_t_4cuda_7ccudart_cudaExternalMemoryBufferDesc const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaExternalMemoryGetMappedMipmappedArray", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaExternalMemoryGetMappedMipmappedArray, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaMipmappedArray_t *, __pyx_t_4cuda_7ccudart_cudaExternalMemory_t, struct __pyx_t_4cuda_7ccudart_cudaExternalMemoryMipmappedArrayDesc const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaDestroyExternalMemory", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaDestroyExternalMemory, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaExternalMemory_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaImportExternalSemaphore", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaImportExternalSemaphore, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaExternalSemaphore_t *, struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleDesc const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaSignalExternalSemaphoresAsync", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaSignalExternalSemaphoresAsync, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaExternalSemaphore_t const *, struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreSignalParams const *, unsigned int, __pyx_t_4cuda_7ccudart_cudaStream_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaWaitExternalSemaphoresAsync", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaWaitExternalSemaphoresAsync, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaExternalSemaphore_t const *, struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreWaitParams const *, unsigned int, __pyx_t_4cuda_7ccudart_cudaStream_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaDestroyExternalSemaphore", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaDestroyExternalSemaphore, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaExternalSemaphore_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaFuncSetCacheConfig", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaFuncSetCacheConfig, "__pyx_t_4cuda_7ccudart_cudaError_t (void const *, enum __pyx_t_4cuda_7ccudart_cudaFuncCache)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaFuncSetSharedMemConfig", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaFuncSetSharedMemConfig, "__pyx_t_4cuda_7ccudart_cudaError_t (void const *, enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaFuncGetAttributes", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaFuncGetAttributes, "__pyx_t_4cuda_7ccudart_cudaError_t (struct __pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (void const *, enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute, int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaSetDoubleForDevice", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaSetDoubleForDevice, "__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaStream_t, __pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaArray_t *, struct __pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaArray_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaFreeMipmappedArray", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaFreeMipmappedArray, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaMipmappedArray_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaHostAlloc", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaHostAlloc, "__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (struct __pyx_t_4cuda_7ccudart_cudaPitchedPtr *, struct __pyx_t_4cuda_7ccudart_cudaExtent)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMalloc3DArray", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMalloc3DArray, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaArray_t *, struct __pyx_t_4cuda_7ccudart_cudaChannelFormatDesc const *, struct __pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaMipmappedArray_t *, struct __pyx_t_4cuda_7ccudart_cudaChannelFormatDesc const *, struct __pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaArray_t *, __pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (struct __pyx_t_4cuda_7ccudart_cudaMemcpy3DParms const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemcpy3DPeer", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemcpy3DPeer, "__pyx_t_4cuda_7ccudart_cudaError_t (struct __pyx_t_4cuda_7ccudart_cudaMemcpy3DPeerParms const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemcpy3DAsync", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemcpy3DAsync, "__pyx_t_4cuda_7ccudart_cudaError_t (struct __pyx_t_4cuda_7ccudart_cudaMemcpy3DParms const *, __pyx_t_4cuda_7ccudart_cudaStream_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemcpy3DPeerAsync", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemcpy3DPeerAsync, "__pyx_t_4cuda_7ccudart_cudaError_t (struct __pyx_t_4cuda_7ccudart_cudaMemcpy3DPeerParms const *, __pyx_t_4cuda_7ccudart_cudaStream_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemGetInfo", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemGetInfo, "__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (struct __pyx_t_4cuda_7ccudart_cudaChannelFormatDesc *, struct __pyx_t_4cuda_7ccudart_cudaExtent *, unsigned int *, __pyx_t_4cuda_7ccudart_cudaArray_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaArrayGetPlane", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaArrayGetPlane, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaArray_t *, __pyx_t_4cuda_7ccudart_cudaArray_t, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaArrayGetSparseProperties", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaArrayGetSparseProperties, "__pyx_t_4cuda_7ccudart_cudaError_t (struct __pyx_t_4cuda_7ccudart_cudaArraySparseProperties *, __pyx_t_4cuda_7ccudart_cudaArray_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMipmappedArrayGetSparseProperties", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMipmappedArrayGetSparseProperties, "__pyx_t_4cuda_7ccudart_cudaError_t (struct __pyx_t_4cuda_7ccudart_cudaArraySparseProperties *, __pyx_t_4cuda_7ccudart_cudaMipmappedArray_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemcpy", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemcpy, "__pyx_t_4cuda_7ccudart_cudaError_t (void *, void const *, size_t, enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemcpyPeer", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemcpyPeer, "__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (void *, size_t, void const *, size_t, size_t, size_t, enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemcpy2DToArray", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemcpy2DToArray, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaArray_t, size_t, size_t, void const *, size_t, size_t, size_t, enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemcpy2DFromArray", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemcpy2DFromArray, "__pyx_t_4cuda_7ccudart_cudaError_t (void *, size_t, __pyx_t_4cuda_7ccudart_cudaArray_const_t, size_t, size_t, size_t, size_t, enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemcpy2DArrayToArray", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemcpy2DArrayToArray, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaArray_t, size_t, size_t, __pyx_t_4cuda_7ccudart_cudaArray_const_t, size_t, size_t, size_t, size_t, enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemcpyAsync", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemcpyAsync, "__pyx_t_4cuda_7ccudart_cudaError_t (void *, void const *, size_t, enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind, __pyx_t_4cuda_7ccudart_cudaStream_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemcpyPeerAsync", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemcpyPeerAsync, "__pyx_t_4cuda_7ccudart_cudaError_t (void *, int, void const *, int, size_t, __pyx_t_4cuda_7ccudart_cudaStream_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemcpy2DAsync", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemcpy2DAsync, "__pyx_t_4cuda_7ccudart_cudaError_t (void *, size_t, void const *, size_t, size_t, size_t, enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind, __pyx_t_4cuda_7ccudart_cudaStream_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemcpy2DToArrayAsync", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemcpy2DToArrayAsync, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaArray_t, size_t, size_t, void const *, size_t, size_t, size_t, enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind, __pyx_t_4cuda_7ccudart_cudaStream_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemcpy2DFromArrayAsync", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemcpy2DFromArrayAsync, "__pyx_t_4cuda_7ccudart_cudaError_t (void *, size_t, __pyx_t_4cuda_7ccudart_cudaArray_const_t, size_t, size_t, size_t, size_t, enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind, __pyx_t_4cuda_7ccudart_cudaStream_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemset", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemset, "__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (struct __pyx_t_4cuda_7ccudart_cudaPitchedPtr, int, struct __pyx_t_4cuda_7ccudart_cudaExtent)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemsetAsync", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemsetAsync, "__pyx_t_4cuda_7ccudart_cudaError_t (void *, int, size_t, __pyx_t_4cuda_7ccudart_cudaStream_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemset2DAsync", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemset2DAsync, "__pyx_t_4cuda_7ccudart_cudaError_t (void *, size_t, int, size_t, size_t, __pyx_t_4cuda_7ccudart_cudaStream_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemset3DAsync", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemset3DAsync, "__pyx_t_4cuda_7ccudart_cudaError_t (struct __pyx_t_4cuda_7ccudart_cudaPitchedPtr, int, struct __pyx_t_4cuda_7ccudart_cudaExtent, __pyx_t_4cuda_7ccudart_cudaStream_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemPrefetchAsync", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemPrefetchAsync, "__pyx_t_4cuda_7ccudart_cudaError_t (void const *, size_t, int, __pyx_t_4cuda_7ccudart_cudaStream_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemAdvise", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemAdvise, "__pyx_t_4cuda_7ccudart_cudaError_t (void const *, size_t, enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise, int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemRangeGetAttribute", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemRangeGetAttribute, "__pyx_t_4cuda_7ccudart_cudaError_t (void *, size_t, enum __pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (void **, size_t *, enum __pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaArray_t, size_t, size_t, void const *, size_t, enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemcpyFromArray", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemcpyFromArray, "__pyx_t_4cuda_7ccudart_cudaError_t (void *, __pyx_t_4cuda_7ccudart_cudaArray_const_t, size_t, size_t, size_t, enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemcpyArrayToArray", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemcpyArrayToArray, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaArray_t, size_t, size_t, __pyx_t_4cuda_7ccudart_cudaArray_const_t, size_t, size_t, size_t, enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemcpyToArrayAsync", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemcpyToArrayAsync, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaArray_t, size_t, size_t, void const *, size_t, enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind, __pyx_t_4cuda_7ccudart_cudaStream_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemcpyFromArrayAsync", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemcpyFromArrayAsync, "__pyx_t_4cuda_7ccudart_cudaError_t (void *, __pyx_t_4cuda_7ccudart_cudaArray_const_t, size_t, size_t, size_t, enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind, __pyx_t_4cuda_7ccudart_cudaStream_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMallocAsync", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMallocAsync, "__pyx_t_4cuda_7ccudart_cudaError_t (void **, size_t, __pyx_t_4cuda_7ccudart_cudaStream_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaFreeAsync", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaFreeAsync, "__pyx_t_4cuda_7ccudart_cudaError_t (void *, __pyx_t_4cuda_7ccudart_cudaStream_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemPoolTrimTo", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemPoolTrimTo, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaMemPool_t, enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr, void *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemPoolGetAttribute", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemPoolGetAttribute, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaMemPool_t, enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr, void *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemPoolSetAccess", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemPoolSetAccess, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaMemPool_t, struct __pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags *, __pyx_t_4cuda_7ccudart_cudaMemPool_t, struct __pyx_t_4cuda_7ccudart_cudaMemLocation *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemPoolCreate", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemPoolCreate, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaMemPool_t *, struct __pyx_t_4cuda_7ccudart_cudaMemPoolProps const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemPoolDestroy", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemPoolDestroy, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaMemPool_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMallocFromPoolAsync", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMallocFromPoolAsync, "__pyx_t_4cuda_7ccudart_cudaError_t (void **, size_t, __pyx_t_4cuda_7ccudart_cudaMemPool_t, __pyx_t_4cuda_7ccudart_cudaStream_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemPoolExportToShareableHandle", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemPoolExportToShareableHandle, "__pyx_t_4cuda_7ccudart_cudaError_t (void *, __pyx_t_4cuda_7ccudart_cudaMemPool_t, enum __pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaMemPool_t *, void *, enum __pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (struct __pyx_t_4cuda_7ccudart_cudaMemPoolPtrExportData *, void *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaMemPoolImportPointer", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaMemPoolImportPointer, "__pyx_t_4cuda_7ccudart_cudaError_t (void **, __pyx_t_4cuda_7ccudart_cudaMemPool_t, struct __pyx_t_4cuda_7ccudart_cudaMemPoolPtrExportData *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaPointerGetAttributes", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaPointerGetAttributes, "__pyx_t_4cuda_7ccudart_cudaError_t (struct __pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphicsResource_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphicsResourceSetMapFlags", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphicsResourceSetMapFlags, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (int, __pyx_t_4cuda_7ccudart_cudaGraphicsResource_t *, __pyx_t_4cuda_7ccudart_cudaStream_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphicsUnmapResources", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphicsUnmapResources, "__pyx_t_4cuda_7ccudart_cudaError_t (int, __pyx_t_4cuda_7ccudart_cudaGraphicsResource_t *, __pyx_t_4cuda_7ccudart_cudaStream_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphicsResourceGetMappedPointer", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphicsResourceGetMappedPointer, "__pyx_t_4cuda_7ccudart_cudaError_t (void **, size_t *, __pyx_t_4cuda_7ccudart_cudaGraphicsResource_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphicsSubResourceGetMappedArray", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphicsSubResourceGetMappedArray, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaArray_t *, __pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaMipmappedArray_t *, __pyx_t_4cuda_7ccudart_cudaGraphicsResource_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGetChannelDesc", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGetChannelDesc, "__pyx_t_4cuda_7ccudart_cudaError_t (struct __pyx_t_4cuda_7ccudart_cudaChannelFormatDesc *, __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaChannelFormatDesc (int, int, int, int, enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaCreateTextureObject", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaCreateTextureObject, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaTextureObject_t *, struct __pyx_t_4cuda_7ccudart_cudaResourceDesc const *, struct __pyx_t_4cuda_7ccudart_cudaTextureDesc const *, struct __pyx_t_4cuda_7ccudart_cudaResourceViewDesc const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaDestroyTextureObject", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaDestroyTextureObject, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaTextureObject_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGetTextureObjectResourceDesc", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGetTextureObjectResourceDesc, "__pyx_t_4cuda_7ccudart_cudaError_t (struct __pyx_t_4cuda_7ccudart_cudaResourceDesc *, __pyx_t_4cuda_7ccudart_cudaTextureObject_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGetTextureObjectTextureDesc", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGetTextureObjectTextureDesc, "__pyx_t_4cuda_7ccudart_cudaError_t (struct __pyx_t_4cuda_7ccudart_cudaTextureDesc *, __pyx_t_4cuda_7ccudart_cudaTextureObject_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGetTextureObjectResourceViewDesc", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGetTextureObjectResourceViewDesc, "__pyx_t_4cuda_7ccudart_cudaError_t (struct __pyx_t_4cuda_7ccudart_cudaResourceViewDesc *, __pyx_t_4cuda_7ccudart_cudaTextureObject_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaCreateSurfaceObject", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaCreateSurfaceObject, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaSurfaceObject_t *, struct __pyx_t_4cuda_7ccudart_cudaResourceDesc const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaDestroySurfaceObject", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaDestroySurfaceObject, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaSurfaceObject_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGetSurfaceObjectResourceDesc", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGetSurfaceObjectResourceDesc, "__pyx_t_4cuda_7ccudart_cudaError_t (struct __pyx_t_4cuda_7ccudart_cudaResourceDesc *, __pyx_t_4cuda_7ccudart_cudaSurfaceObject_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaDriverGetVersion", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaDriverGetVersion, "__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphNode_t *, __pyx_t_4cuda_7ccudart_cudaGraph_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t const *, size_t, struct __pyx_t_4cuda_7ccudart_cudaKernelNodeParams const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphKernelNodeGetParams", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphKernelNodeGetParams, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphNode_t, struct __pyx_t_4cuda_7ccudart_cudaKernelNodeParams *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphKernelNodeSetParams", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphKernelNodeSetParams, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphNode_t, struct __pyx_t_4cuda_7ccudart_cudaKernelNodeParams const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphKernelNodeCopyAttributes", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphKernelNodeCopyAttributes, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphNode_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphKernelNodeGetAttribute", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphKernelNodeGetAttribute, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphNode_t, enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID, union __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, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphNode_t, enum __pyx_t_4cuda_7ccudart_cudaKernelNodeAttrID, union __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, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphNode_t *, __pyx_t_4cuda_7ccudart_cudaGraph_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t const *, size_t, struct __pyx_t_4cuda_7ccudart_cudaMemcpy3DParms const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphAddMemcpyNode1D", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphAddMemcpyNode1D, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphNode_t *, __pyx_t_4cuda_7ccudart_cudaGraph_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t const *, size_t, void *, void const *, size_t, enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphMemcpyNodeGetParams", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphMemcpyNodeGetParams, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphNode_t, struct __pyx_t_4cuda_7ccudart_cudaMemcpy3DParms *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphMemcpyNodeSetParams", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphMemcpyNodeSetParams, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphNode_t, struct __pyx_t_4cuda_7ccudart_cudaMemcpy3DParms const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphMemcpyNodeSetParams1D", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphMemcpyNodeSetParams1D, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphNode_t, void *, void const *, size_t, enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphAddMemsetNode", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphAddMemsetNode, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphNode_t *, __pyx_t_4cuda_7ccudart_cudaGraph_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t const *, size_t, struct __pyx_t_4cuda_7ccudart_cudaMemsetParams const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphMemsetNodeGetParams", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphMemsetNodeGetParams, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphNode_t, struct __pyx_t_4cuda_7ccudart_cudaMemsetParams *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphMemsetNodeSetParams", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphMemsetNodeSetParams, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphNode_t, struct __pyx_t_4cuda_7ccudart_cudaMemsetParams const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphAddHostNode", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphAddHostNode, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphNode_t *, __pyx_t_4cuda_7ccudart_cudaGraph_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t const *, size_t, struct __pyx_t_4cuda_7ccudart_cudaHostNodeParams const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphHostNodeGetParams", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphHostNodeGetParams, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphNode_t, struct __pyx_t_4cuda_7ccudart_cudaHostNodeParams *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphHostNodeSetParams", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphHostNodeSetParams, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphNode_t, struct __pyx_t_4cuda_7ccudart_cudaHostNodeParams const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphAddChildGraphNode", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphAddChildGraphNode, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphNode_t *, __pyx_t_4cuda_7ccudart_cudaGraph_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t const *, size_t, __pyx_t_4cuda_7ccudart_cudaGraph_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphChildGraphNodeGetGraph", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphChildGraphNodeGetGraph, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphNode_t, __pyx_t_4cuda_7ccudart_cudaGraph_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphAddEmptyNode", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphAddEmptyNode, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphNode_t *, __pyx_t_4cuda_7ccudart_cudaGraph_t, __pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphNode_t *, __pyx_t_4cuda_7ccudart_cudaGraph_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t const *, size_t, __pyx_t_4cuda_7ccudart_cudaEvent_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphEventRecordNodeGetEvent", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphEventRecordNodeGetEvent, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphNode_t, __pyx_t_4cuda_7ccudart_cudaEvent_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphEventRecordNodeSetEvent", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphEventRecordNodeSetEvent, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphNode_t, __pyx_t_4cuda_7ccudart_cudaEvent_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphAddEventWaitNode", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphAddEventWaitNode, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphNode_t *, __pyx_t_4cuda_7ccudart_cudaGraph_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t const *, size_t, __pyx_t_4cuda_7ccudart_cudaEvent_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphEventWaitNodeGetEvent", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphEventWaitNodeGetEvent, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphNode_t, __pyx_t_4cuda_7ccudart_cudaEvent_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphEventWaitNodeSetEvent", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphEventWaitNodeSetEvent, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphNode_t, __pyx_t_4cuda_7ccudart_cudaEvent_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphAddExternalSemaphoresSignalNode", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphAddExternalSemaphoresSignalNode, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphNode_t *, __pyx_t_4cuda_7ccudart_cudaGraph_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t const *, size_t, struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreSignalNodeParams const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphExternalSemaphoresSignalNodeGetParams", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphExternalSemaphoresSignalNodeGetParams, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphNode_t, struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreSignalNodeParams *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphExternalSemaphoresSignalNodeSetParams", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphExternalSemaphoresSignalNodeSetParams, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphNode_t, struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreSignalNodeParams const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphAddExternalSemaphoresWaitNode", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphAddExternalSemaphoresWaitNode, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphNode_t *, __pyx_t_4cuda_7ccudart_cudaGraph_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t const *, size_t, struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreWaitNodeParams const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphExternalSemaphoresWaitNodeGetParams", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphExternalSemaphoresWaitNodeGetParams, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphNode_t, struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreWaitNodeParams *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphExternalSemaphoresWaitNodeSetParams", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphExternalSemaphoresWaitNodeSetParams, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphNode_t, struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreWaitNodeParams const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphAddMemAllocNode", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphAddMemAllocNode, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphNode_t *, __pyx_t_4cuda_7ccudart_cudaGraph_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t const *, size_t, struct __pyx_t_4cuda_7ccudart_cudaMemAllocNodeParams *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphMemAllocNodeGetParams", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphMemAllocNodeGetParams, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphNode_t, struct __pyx_t_4cuda_7ccudart_cudaMemAllocNodeParams *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphAddMemFreeNode", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphAddMemFreeNode, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphNode_t *, __pyx_t_4cuda_7ccudart_cudaGraph_t, __pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (int, enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType, void *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaDeviceSetGraphMemAttribute", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaDeviceSetGraphMemAttribute, "__pyx_t_4cuda_7ccudart_cudaError_t (int, enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType, void *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphClone", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphClone, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraph_t *, __pyx_t_4cuda_7ccudart_cudaGraph_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphNodeFindInClone", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphNodeFindInClone, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphNode_t *, __pyx_t_4cuda_7ccudart_cudaGraphNode_t, __pyx_t_4cuda_7ccudart_cudaGraph_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphNodeGetType", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphNodeGetType, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphNode_t, enum __pyx_t_4cuda_7ccudart_cudaGraphNodeType *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphGetNodes", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphGetNodes, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraph_t, __pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraph_t, __pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraph_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t *, __pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphNode_t, __pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphNode_t, __pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraph_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t const *, __pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraph_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t const *, __pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphNode_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphInstantiate", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphInstantiate, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphExec_t *, __pyx_t_4cuda_7ccudart_cudaGraph_t, __pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphExec_t *, __pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphExec_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t, struct __pyx_t_4cuda_7ccudart_cudaKernelNodeParams const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphExecMemcpyNodeSetParams", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphExecMemcpyNodeSetParams, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphExec_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t, struct __pyx_t_4cuda_7ccudart_cudaMemcpy3DParms const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphExecMemcpyNodeSetParams1D", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphExecMemcpyNodeSetParams1D, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphExec_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t, void *, void const *, size_t, enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphExecMemsetNodeSetParams", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphExecMemsetNodeSetParams, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphExec_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t, struct __pyx_t_4cuda_7ccudart_cudaMemsetParams const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphExecHostNodeSetParams", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphExecHostNodeSetParams, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphExec_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t, struct __pyx_t_4cuda_7ccudart_cudaHostNodeParams const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphExecChildGraphNodeSetParams", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphExecChildGraphNodeSetParams, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphExec_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t, __pyx_t_4cuda_7ccudart_cudaGraph_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphExecEventRecordNodeSetEvent", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphExecEventRecordNodeSetEvent, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphExec_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t, __pyx_t_4cuda_7ccudart_cudaEvent_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphExecEventWaitNodeSetEvent", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphExecEventWaitNodeSetEvent, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphExec_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t, __pyx_t_4cuda_7ccudart_cudaEvent_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphExecExternalSemaphoresSignalNodeSetParams", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphExecExternalSemaphoresSignalNodeSetParams, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphExec_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t, struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreSignalNodeParams const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphExecExternalSemaphoresWaitNodeSetParams", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphExecExternalSemaphoresWaitNodeSetParams, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphExec_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t, struct __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreWaitNodeParams const *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphExecUpdate", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphExecUpdate, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphExec_t, __pyx_t_4cuda_7ccudart_cudaGraph_t, __pyx_t_4cuda_7ccudart_cudaGraphNode_t *, enum __pyx_t_4cuda_7ccudart_cudaGraphExecUpdateResult *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphUpload", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphUpload, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphExec_t, __pyx_t_4cuda_7ccudart_cudaStream_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphLaunch", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphLaunch, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphExec_t, __pyx_t_4cuda_7ccudart_cudaStream_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphExecDestroy", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphExecDestroy, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraphExec_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphDestroy", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphDestroy, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraph_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "cudaGraphDebugDotPrint", (void (**)(void))&__pyx_f_4cuda_7ccudart_cudaGraphDebugDotPrint, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaUserObject_t *, void *, __pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraph_t, __pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (__pyx_t_4cuda_7ccudart_cudaGraph_t, __pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_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, "__pyx_t_4cuda_7ccudart_cudaError_t (void const **, __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaExtent (size_t, size_t, size_t)") < 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 Enum
 * 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 Enum             # <<<<<<<<<<<<<<
 * 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_Enum);
  __Pyx_GIVEREF(__pyx_n_s_Enum);
  PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_Enum);
  __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_Enum); 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_Enum, __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 Enum
 * 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":19
 * 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, 19, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuda, __pyx_t_1) < 0) __PYX_ERR(0, 19, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":43
 * ctypedef unsigned long long void_ptr
 * 
 * cudaHostAllocDefault = ccudart.cudaHostAllocDefault             # <<<<<<<<<<<<<<
 * cudaHostAllocPortable = ccudart.cudaHostAllocPortable
 * cudaHostAllocMapped = ccudart.cudaHostAllocMapped
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaHostAllocDefault); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaHostAllocDefault, __pyx_t_1) < 0) __PYX_ERR(0, 43, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":44
 * 
 * cudaHostAllocDefault = ccudart.cudaHostAllocDefault
 * cudaHostAllocPortable = ccudart.cudaHostAllocPortable             # <<<<<<<<<<<<<<
 * cudaHostAllocMapped = ccudart.cudaHostAllocMapped
 * cudaHostAllocWriteCombined = ccudart.cudaHostAllocWriteCombined
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaHostAllocPortable); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 44, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaHostAllocPortable, __pyx_t_1) < 0) __PYX_ERR(0, 44, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":45
 * cudaHostAllocDefault = ccudart.cudaHostAllocDefault
 * cudaHostAllocPortable = ccudart.cudaHostAllocPortable
 * cudaHostAllocMapped = ccudart.cudaHostAllocMapped             # <<<<<<<<<<<<<<
 * cudaHostAllocWriteCombined = ccudart.cudaHostAllocWriteCombined
 * cudaHostRegisterDefault = ccudart.cudaHostRegisterDefault
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaHostAllocMapped); 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_cudaHostAllocMapped, __pyx_t_1) < 0) __PYX_ERR(0, 45, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":46
 * cudaHostAllocPortable = ccudart.cudaHostAllocPortable
 * cudaHostAllocMapped = ccudart.cudaHostAllocMapped
 * cudaHostAllocWriteCombined = ccudart.cudaHostAllocWriteCombined             # <<<<<<<<<<<<<<
 * cudaHostRegisterDefault = ccudart.cudaHostRegisterDefault
 * cudaHostRegisterPortable = ccudart.cudaHostRegisterPortable
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaHostAllocWriteCombined); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 46, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaHostAllocWriteCombined, __pyx_t_1) < 0) __PYX_ERR(0, 46, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":47
 * cudaHostAllocMapped = ccudart.cudaHostAllocMapped
 * cudaHostAllocWriteCombined = ccudart.cudaHostAllocWriteCombined
 * cudaHostRegisterDefault = ccudart.cudaHostRegisterDefault             # <<<<<<<<<<<<<<
 * cudaHostRegisterPortable = ccudart.cudaHostRegisterPortable
 * cudaHostRegisterMapped = ccudart.cudaHostRegisterMapped
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaHostRegisterDefault); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaHostRegisterDefault, __pyx_t_1) < 0) __PYX_ERR(0, 47, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":48
 * cudaHostAllocWriteCombined = ccudart.cudaHostAllocWriteCombined
 * cudaHostRegisterDefault = ccudart.cudaHostRegisterDefault
 * cudaHostRegisterPortable = ccudart.cudaHostRegisterPortable             # <<<<<<<<<<<<<<
 * cudaHostRegisterMapped = ccudart.cudaHostRegisterMapped
 * cudaHostRegisterIoMemory = ccudart.cudaHostRegisterIoMemory
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaHostRegisterPortable); 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_cudaHostRegisterPortable, __pyx_t_1) < 0) __PYX_ERR(0, 48, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":49
 * cudaHostRegisterDefault = ccudart.cudaHostRegisterDefault
 * cudaHostRegisterPortable = ccudart.cudaHostRegisterPortable
 * cudaHostRegisterMapped = ccudart.cudaHostRegisterMapped             # <<<<<<<<<<<<<<
 * cudaHostRegisterIoMemory = ccudart.cudaHostRegisterIoMemory
 * cudaHostRegisterReadOnly = ccudart.cudaHostRegisterReadOnly
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaHostRegisterMapped); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 49, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaHostRegisterMapped, __pyx_t_1) < 0) __PYX_ERR(0, 49, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":50
 * cudaHostRegisterPortable = ccudart.cudaHostRegisterPortable
 * cudaHostRegisterMapped = ccudart.cudaHostRegisterMapped
 * cudaHostRegisterIoMemory = ccudart.cudaHostRegisterIoMemory             # <<<<<<<<<<<<<<
 * cudaHostRegisterReadOnly = ccudart.cudaHostRegisterReadOnly
 * cudaPeerAccessDefault = ccudart.cudaPeerAccessDefault
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaHostRegisterIoMemory); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 50, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaHostRegisterIoMemory, __pyx_t_1) < 0) __PYX_ERR(0, 50, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":51
 * cudaHostRegisterMapped = ccudart.cudaHostRegisterMapped
 * cudaHostRegisterIoMemory = ccudart.cudaHostRegisterIoMemory
 * cudaHostRegisterReadOnly = ccudart.cudaHostRegisterReadOnly             # <<<<<<<<<<<<<<
 * cudaPeerAccessDefault = ccudart.cudaPeerAccessDefault
 * cudaStreamDefault = ccudart.cudaStreamDefault
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaHostRegisterReadOnly); 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_cudaHostRegisterReadOnly, __pyx_t_1) < 0) __PYX_ERR(0, 51, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":52
 * cudaHostRegisterIoMemory = ccudart.cudaHostRegisterIoMemory
 * cudaHostRegisterReadOnly = ccudart.cudaHostRegisterReadOnly
 * cudaPeerAccessDefault = ccudart.cudaPeerAccessDefault             # <<<<<<<<<<<<<<
 * cudaStreamDefault = ccudart.cudaStreamDefault
 * cudaStreamNonBlocking = ccudart.cudaStreamNonBlocking
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaPeerAccessDefault); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 52, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaPeerAccessDefault, __pyx_t_1) < 0) __PYX_ERR(0, 52, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":53
 * cudaHostRegisterReadOnly = ccudart.cudaHostRegisterReadOnly
 * cudaPeerAccessDefault = ccudart.cudaPeerAccessDefault
 * cudaStreamDefault = ccudart.cudaStreamDefault             # <<<<<<<<<<<<<<
 * cudaStreamNonBlocking = ccudart.cudaStreamNonBlocking
 * cudaStreamLegacy = ccudart.cudaStreamLegacy
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaStreamDefault); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 53, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaStreamDefault, __pyx_t_1) < 0) __PYX_ERR(0, 53, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":54
 * cudaPeerAccessDefault = ccudart.cudaPeerAccessDefault
 * cudaStreamDefault = ccudart.cudaStreamDefault
 * cudaStreamNonBlocking = ccudart.cudaStreamNonBlocking             # <<<<<<<<<<<<<<
 * cudaStreamLegacy = ccudart.cudaStreamLegacy
 * cudaStreamPerThread = ccudart.cudaStreamPerThread
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaStreamNonBlocking); 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_cudaStreamNonBlocking, __pyx_t_1) < 0) __PYX_ERR(0, 54, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":55
 * cudaStreamDefault = ccudart.cudaStreamDefault
 * cudaStreamNonBlocking = ccudart.cudaStreamNonBlocking
 * cudaStreamLegacy = ccudart.cudaStreamLegacy             # <<<<<<<<<<<<<<
 * cudaStreamPerThread = ccudart.cudaStreamPerThread
 * cudaEventDefault = ccudart.cudaEventDefault
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaStreamLegacy); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 55, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaStreamLegacy, __pyx_t_1) < 0) __PYX_ERR(0, 55, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":56
 * cudaStreamNonBlocking = ccudart.cudaStreamNonBlocking
 * cudaStreamLegacy = ccudart.cudaStreamLegacy
 * cudaStreamPerThread = ccudart.cudaStreamPerThread             # <<<<<<<<<<<<<<
 * cudaEventDefault = ccudart.cudaEventDefault
 * cudaEventBlockingSync = ccudart.cudaEventBlockingSync
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaStreamPerThread); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 56, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaStreamPerThread, __pyx_t_1) < 0) __PYX_ERR(0, 56, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":57
 * cudaStreamLegacy = ccudart.cudaStreamLegacy
 * cudaStreamPerThread = ccudart.cudaStreamPerThread
 * cudaEventDefault = ccudart.cudaEventDefault             # <<<<<<<<<<<<<<
 * cudaEventBlockingSync = ccudart.cudaEventBlockingSync
 * cudaEventDisableTiming = ccudart.cudaEventDisableTiming
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaEventDefault); 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_cudaEventDefault, __pyx_t_1) < 0) __PYX_ERR(0, 57, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":58
 * cudaStreamPerThread = ccudart.cudaStreamPerThread
 * cudaEventDefault = ccudart.cudaEventDefault
 * cudaEventBlockingSync = ccudart.cudaEventBlockingSync             # <<<<<<<<<<<<<<
 * cudaEventDisableTiming = ccudart.cudaEventDisableTiming
 * cudaEventInterprocess = ccudart.cudaEventInterprocess
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaEventBlockingSync); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 58, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaEventBlockingSync, __pyx_t_1) < 0) __PYX_ERR(0, 58, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":59
 * cudaEventDefault = ccudart.cudaEventDefault
 * cudaEventBlockingSync = ccudart.cudaEventBlockingSync
 * cudaEventDisableTiming = ccudart.cudaEventDisableTiming             # <<<<<<<<<<<<<<
 * cudaEventInterprocess = ccudart.cudaEventInterprocess
 * cudaEventRecordDefault = ccudart.cudaEventRecordDefault
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaEventDisableTiming); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 59, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaEventDisableTiming, __pyx_t_1) < 0) __PYX_ERR(0, 59, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":60
 * cudaEventBlockingSync = ccudart.cudaEventBlockingSync
 * cudaEventDisableTiming = ccudart.cudaEventDisableTiming
 * cudaEventInterprocess = ccudart.cudaEventInterprocess             # <<<<<<<<<<<<<<
 * cudaEventRecordDefault = ccudart.cudaEventRecordDefault
 * cudaEventRecordExternal = ccudart.cudaEventRecordExternal
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaEventInterprocess); 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_cudaEventInterprocess, __pyx_t_1) < 0) __PYX_ERR(0, 60, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":61
 * cudaEventDisableTiming = ccudart.cudaEventDisableTiming
 * cudaEventInterprocess = ccudart.cudaEventInterprocess
 * cudaEventRecordDefault = ccudart.cudaEventRecordDefault             # <<<<<<<<<<<<<<
 * cudaEventRecordExternal = ccudart.cudaEventRecordExternal
 * cudaEventWaitDefault = ccudart.cudaEventWaitDefault
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaEventRecordDefault); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 61, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaEventRecordDefault, __pyx_t_1) < 0) __PYX_ERR(0, 61, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":62
 * cudaEventInterprocess = ccudart.cudaEventInterprocess
 * cudaEventRecordDefault = ccudart.cudaEventRecordDefault
 * cudaEventRecordExternal = ccudart.cudaEventRecordExternal             # <<<<<<<<<<<<<<
 * cudaEventWaitDefault = ccudart.cudaEventWaitDefault
 * cudaEventWaitExternal = ccudart.cudaEventWaitExternal
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaEventRecordExternal); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 62, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaEventRecordExternal, __pyx_t_1) < 0) __PYX_ERR(0, 62, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":63
 * cudaEventRecordDefault = ccudart.cudaEventRecordDefault
 * cudaEventRecordExternal = ccudart.cudaEventRecordExternal
 * cudaEventWaitDefault = ccudart.cudaEventWaitDefault             # <<<<<<<<<<<<<<
 * cudaEventWaitExternal = ccudart.cudaEventWaitExternal
 * cudaDeviceScheduleAuto = ccudart.cudaDeviceScheduleAuto
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaEventWaitDefault); 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_cudaEventWaitDefault, __pyx_t_1) < 0) __PYX_ERR(0, 63, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":64
 * cudaEventRecordExternal = ccudart.cudaEventRecordExternal
 * cudaEventWaitDefault = ccudart.cudaEventWaitDefault
 * cudaEventWaitExternal = ccudart.cudaEventWaitExternal             # <<<<<<<<<<<<<<
 * cudaDeviceScheduleAuto = ccudart.cudaDeviceScheduleAuto
 * cudaDeviceScheduleSpin = ccudart.cudaDeviceScheduleSpin
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaEventWaitExternal); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 64, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaEventWaitExternal, __pyx_t_1) < 0) __PYX_ERR(0, 64, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":65
 * cudaEventWaitDefault = ccudart.cudaEventWaitDefault
 * cudaEventWaitExternal = ccudart.cudaEventWaitExternal
 * cudaDeviceScheduleAuto = ccudart.cudaDeviceScheduleAuto             # <<<<<<<<<<<<<<
 * cudaDeviceScheduleSpin = ccudart.cudaDeviceScheduleSpin
 * cudaDeviceScheduleYield = ccudart.cudaDeviceScheduleYield
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaDeviceScheduleAuto); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 65, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceScheduleAuto, __pyx_t_1) < 0) __PYX_ERR(0, 65, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":66
 * cudaEventWaitExternal = ccudart.cudaEventWaitExternal
 * cudaDeviceScheduleAuto = ccudart.cudaDeviceScheduleAuto
 * cudaDeviceScheduleSpin = ccudart.cudaDeviceScheduleSpin             # <<<<<<<<<<<<<<
 * cudaDeviceScheduleYield = ccudart.cudaDeviceScheduleYield
 * cudaDeviceScheduleBlockingSync = ccudart.cudaDeviceScheduleBlockingSync
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaDeviceScheduleSpin); 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_cudaDeviceScheduleSpin, __pyx_t_1) < 0) __PYX_ERR(0, 66, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":67
 * cudaDeviceScheduleAuto = ccudart.cudaDeviceScheduleAuto
 * cudaDeviceScheduleSpin = ccudart.cudaDeviceScheduleSpin
 * cudaDeviceScheduleYield = ccudart.cudaDeviceScheduleYield             # <<<<<<<<<<<<<<
 * cudaDeviceScheduleBlockingSync = ccudart.cudaDeviceScheduleBlockingSync
 * cudaDeviceBlockingSync = ccudart.cudaDeviceBlockingSync
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaDeviceScheduleYield); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 67, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceScheduleYield, __pyx_t_1) < 0) __PYX_ERR(0, 67, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":68
 * cudaDeviceScheduleSpin = ccudart.cudaDeviceScheduleSpin
 * cudaDeviceScheduleYield = ccudart.cudaDeviceScheduleYield
 * cudaDeviceScheduleBlockingSync = ccudart.cudaDeviceScheduleBlockingSync             # <<<<<<<<<<<<<<
 * cudaDeviceBlockingSync = ccudart.cudaDeviceBlockingSync
 * cudaDeviceScheduleMask = ccudart.cudaDeviceScheduleMask
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaDeviceScheduleBlockingSync); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 68, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceScheduleBlockingSync, __pyx_t_1) < 0) __PYX_ERR(0, 68, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":69
 * cudaDeviceScheduleYield = ccudart.cudaDeviceScheduleYield
 * cudaDeviceScheduleBlockingSync = ccudart.cudaDeviceScheduleBlockingSync
 * cudaDeviceBlockingSync = ccudart.cudaDeviceBlockingSync             # <<<<<<<<<<<<<<
 * cudaDeviceScheduleMask = ccudart.cudaDeviceScheduleMask
 * cudaDeviceMapHost = ccudart.cudaDeviceMapHost
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaDeviceBlockingSync); 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_cudaDeviceBlockingSync, __pyx_t_1) < 0) __PYX_ERR(0, 69, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":70
 * cudaDeviceScheduleBlockingSync = ccudart.cudaDeviceScheduleBlockingSync
 * cudaDeviceBlockingSync = ccudart.cudaDeviceBlockingSync
 * cudaDeviceScheduleMask = ccudart.cudaDeviceScheduleMask             # <<<<<<<<<<<<<<
 * cudaDeviceMapHost = ccudart.cudaDeviceMapHost
 * cudaDeviceLmemResizeToMax = ccudart.cudaDeviceLmemResizeToMax
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaDeviceScheduleMask); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 70, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceScheduleMask, __pyx_t_1) < 0) __PYX_ERR(0, 70, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":71
 * cudaDeviceBlockingSync = ccudart.cudaDeviceBlockingSync
 * cudaDeviceScheduleMask = ccudart.cudaDeviceScheduleMask
 * cudaDeviceMapHost = ccudart.cudaDeviceMapHost             # <<<<<<<<<<<<<<
 * cudaDeviceLmemResizeToMax = ccudart.cudaDeviceLmemResizeToMax
 * cudaDeviceMask = ccudart.cudaDeviceMask
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaDeviceMapHost); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 71, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceMapHost, __pyx_t_1) < 0) __PYX_ERR(0, 71, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":72
 * cudaDeviceScheduleMask = ccudart.cudaDeviceScheduleMask
 * cudaDeviceMapHost = ccudart.cudaDeviceMapHost
 * cudaDeviceLmemResizeToMax = ccudart.cudaDeviceLmemResizeToMax             # <<<<<<<<<<<<<<
 * cudaDeviceMask = ccudart.cudaDeviceMask
 * cudaArrayDefault = ccudart.cudaArrayDefault
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaDeviceLmemResizeToMax); 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_cudaDeviceLmemResizeToMax, __pyx_t_1) < 0) __PYX_ERR(0, 72, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":73
 * cudaDeviceMapHost = ccudart.cudaDeviceMapHost
 * cudaDeviceLmemResizeToMax = ccudart.cudaDeviceLmemResizeToMax
 * cudaDeviceMask = ccudart.cudaDeviceMask             # <<<<<<<<<<<<<<
 * cudaArrayDefault = ccudart.cudaArrayDefault
 * cudaArrayLayered = ccudart.cudaArrayLayered
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaDeviceMask); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 73, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceMask, __pyx_t_1) < 0) __PYX_ERR(0, 73, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":74
 * cudaDeviceLmemResizeToMax = ccudart.cudaDeviceLmemResizeToMax
 * cudaDeviceMask = ccudart.cudaDeviceMask
 * cudaArrayDefault = ccudart.cudaArrayDefault             # <<<<<<<<<<<<<<
 * cudaArrayLayered = ccudart.cudaArrayLayered
 * cudaArraySurfaceLoadStore = ccudart.cudaArraySurfaceLoadStore
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaArrayDefault); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 74, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaArrayDefault, __pyx_t_1) < 0) __PYX_ERR(0, 74, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":75
 * cudaDeviceMask = ccudart.cudaDeviceMask
 * cudaArrayDefault = ccudart.cudaArrayDefault
 * cudaArrayLayered = ccudart.cudaArrayLayered             # <<<<<<<<<<<<<<
 * cudaArraySurfaceLoadStore = ccudart.cudaArraySurfaceLoadStore
 * cudaArrayCubemap = ccudart.cudaArrayCubemap
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaArrayLayered); 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_cudaArrayLayered, __pyx_t_1) < 0) __PYX_ERR(0, 75, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":76
 * cudaArrayDefault = ccudart.cudaArrayDefault
 * cudaArrayLayered = ccudart.cudaArrayLayered
 * cudaArraySurfaceLoadStore = ccudart.cudaArraySurfaceLoadStore             # <<<<<<<<<<<<<<
 * cudaArrayCubemap = ccudart.cudaArrayCubemap
 * cudaArrayTextureGather = ccudart.cudaArrayTextureGather
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaArraySurfaceLoadStore); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 76, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaArraySurfaceLoadStore, __pyx_t_1) < 0) __PYX_ERR(0, 76, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":77
 * cudaArrayLayered = ccudart.cudaArrayLayered
 * cudaArraySurfaceLoadStore = ccudart.cudaArraySurfaceLoadStore
 * cudaArrayCubemap = ccudart.cudaArrayCubemap             # <<<<<<<<<<<<<<
 * cudaArrayTextureGather = ccudart.cudaArrayTextureGather
 * cudaArrayColorAttachment = ccudart.cudaArrayColorAttachment
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaArrayCubemap); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 77, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaArrayCubemap, __pyx_t_1) < 0) __PYX_ERR(0, 77, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":78
 * cudaArraySurfaceLoadStore = ccudart.cudaArraySurfaceLoadStore
 * cudaArrayCubemap = ccudart.cudaArrayCubemap
 * cudaArrayTextureGather = ccudart.cudaArrayTextureGather             # <<<<<<<<<<<<<<
 * cudaArrayColorAttachment = ccudart.cudaArrayColorAttachment
 * cudaArraySparse = ccudart.cudaArraySparse
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaArrayTextureGather); 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_cudaArrayTextureGather, __pyx_t_1) < 0) __PYX_ERR(0, 78, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":79
 * cudaArrayCubemap = ccudart.cudaArrayCubemap
 * cudaArrayTextureGather = ccudart.cudaArrayTextureGather
 * cudaArrayColorAttachment = ccudart.cudaArrayColorAttachment             # <<<<<<<<<<<<<<
 * cudaArraySparse = ccudart.cudaArraySparse
 * cudaIpcMemLazyEnablePeerAccess = ccudart.cudaIpcMemLazyEnablePeerAccess
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaArrayColorAttachment); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 79, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaArrayColorAttachment, __pyx_t_1) < 0) __PYX_ERR(0, 79, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":80
 * cudaArrayTextureGather = ccudart.cudaArrayTextureGather
 * cudaArrayColorAttachment = ccudart.cudaArrayColorAttachment
 * cudaArraySparse = ccudart.cudaArraySparse             # <<<<<<<<<<<<<<
 * cudaIpcMemLazyEnablePeerAccess = ccudart.cudaIpcMemLazyEnablePeerAccess
 * cudaMemAttachGlobal = ccudart.cudaMemAttachGlobal
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaArraySparse); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 80, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaArraySparse, __pyx_t_1) < 0) __PYX_ERR(0, 80, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":81
 * cudaArrayColorAttachment = ccudart.cudaArrayColorAttachment
 * cudaArraySparse = ccudart.cudaArraySparse
 * cudaIpcMemLazyEnablePeerAccess = ccudart.cudaIpcMemLazyEnablePeerAccess             # <<<<<<<<<<<<<<
 * cudaMemAttachGlobal = ccudart.cudaMemAttachGlobal
 * cudaMemAttachHost = ccudart.cudaMemAttachHost
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaIpcMemLazyEnablePeerAccess); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 81, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaIpcMemLazyEnablePeerAccess, __pyx_t_1) < 0) __PYX_ERR(0, 81, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":82
 * cudaArraySparse = ccudart.cudaArraySparse
 * cudaIpcMemLazyEnablePeerAccess = ccudart.cudaIpcMemLazyEnablePeerAccess
 * cudaMemAttachGlobal = ccudart.cudaMemAttachGlobal             # <<<<<<<<<<<<<<
 * cudaMemAttachHost = ccudart.cudaMemAttachHost
 * cudaMemAttachSingle = ccudart.cudaMemAttachSingle
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaMemAttachGlobal); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 82, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemAttachGlobal, __pyx_t_1) < 0) __PYX_ERR(0, 82, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":83
 * cudaIpcMemLazyEnablePeerAccess = ccudart.cudaIpcMemLazyEnablePeerAccess
 * cudaMemAttachGlobal = ccudart.cudaMemAttachGlobal
 * cudaMemAttachHost = ccudart.cudaMemAttachHost             # <<<<<<<<<<<<<<
 * cudaMemAttachSingle = ccudart.cudaMemAttachSingle
 * cudaOccupancyDefault = ccudart.cudaOccupancyDefault
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaMemAttachHost); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 83, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemAttachHost, __pyx_t_1) < 0) __PYX_ERR(0, 83, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":84
 * cudaMemAttachGlobal = ccudart.cudaMemAttachGlobal
 * cudaMemAttachHost = ccudart.cudaMemAttachHost
 * cudaMemAttachSingle = ccudart.cudaMemAttachSingle             # <<<<<<<<<<<<<<
 * cudaOccupancyDefault = ccudart.cudaOccupancyDefault
 * cudaOccupancyDisableCachingOverride = ccudart.cudaOccupancyDisableCachingOverride
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaMemAttachSingle); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 84, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemAttachSingle, __pyx_t_1) < 0) __PYX_ERR(0, 84, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":85
 * cudaMemAttachHost = ccudart.cudaMemAttachHost
 * cudaMemAttachSingle = ccudart.cudaMemAttachSingle
 * cudaOccupancyDefault = ccudart.cudaOccupancyDefault             # <<<<<<<<<<<<<<
 * cudaOccupancyDisableCachingOverride = ccudart.cudaOccupancyDisableCachingOverride
 * cudaCpuDeviceId = ccudart.cudaCpuDeviceId
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaOccupancyDefault); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 85, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaOccupancyDefault, __pyx_t_1) < 0) __PYX_ERR(0, 85, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":86
 * cudaMemAttachSingle = ccudart.cudaMemAttachSingle
 * cudaOccupancyDefault = ccudart.cudaOccupancyDefault
 * cudaOccupancyDisableCachingOverride = ccudart.cudaOccupancyDisableCachingOverride             # <<<<<<<<<<<<<<
 * cudaCpuDeviceId = ccudart.cudaCpuDeviceId
 * cudaInvalidDeviceId = ccudart.cudaInvalidDeviceId
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaOccupancyDisableCachingOverride); 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_cudaOccupancyDisableCachingOverr, __pyx_t_1) < 0) __PYX_ERR(0, 86, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":87
 * cudaOccupancyDefault = ccudart.cudaOccupancyDefault
 * cudaOccupancyDisableCachingOverride = ccudart.cudaOccupancyDisableCachingOverride
 * cudaCpuDeviceId = ccudart.cudaCpuDeviceId             # <<<<<<<<<<<<<<
 * cudaInvalidDeviceId = ccudart.cudaInvalidDeviceId
 * cudaCooperativeLaunchMultiDeviceNoPreSync = ccudart.cudaCooperativeLaunchMultiDeviceNoPreSync
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaCpuDeviceId); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 87, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaCpuDeviceId, __pyx_t_1) < 0) __PYX_ERR(0, 87, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":88
 * cudaOccupancyDisableCachingOverride = ccudart.cudaOccupancyDisableCachingOverride
 * cudaCpuDeviceId = ccudart.cudaCpuDeviceId
 * cudaInvalidDeviceId = ccudart.cudaInvalidDeviceId             # <<<<<<<<<<<<<<
 * cudaCooperativeLaunchMultiDeviceNoPreSync = ccudart.cudaCooperativeLaunchMultiDeviceNoPreSync
 * cudaCooperativeLaunchMultiDeviceNoPostSync = ccudart.cudaCooperativeLaunchMultiDeviceNoPostSync
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaInvalidDeviceId); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 88, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaInvalidDeviceId, __pyx_t_1) < 0) __PYX_ERR(0, 88, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":89
 * cudaCpuDeviceId = ccudart.cudaCpuDeviceId
 * cudaInvalidDeviceId = ccudart.cudaInvalidDeviceId
 * cudaCooperativeLaunchMultiDeviceNoPreSync = ccudart.cudaCooperativeLaunchMultiDeviceNoPreSync             # <<<<<<<<<<<<<<
 * cudaCooperativeLaunchMultiDeviceNoPostSync = ccudart.cudaCooperativeLaunchMultiDeviceNoPostSync
 * cudaArraySparsePropertiesSingleMipTail = ccudart.cudaArraySparsePropertiesSingleMipTail
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaCooperativeLaunchMultiDeviceNoPreSync); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 89, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaCooperativeLaunchMultiDevice, __pyx_t_1) < 0) __PYX_ERR(0, 89, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":90
 * cudaInvalidDeviceId = ccudart.cudaInvalidDeviceId
 * cudaCooperativeLaunchMultiDeviceNoPreSync = ccudart.cudaCooperativeLaunchMultiDeviceNoPreSync
 * cudaCooperativeLaunchMultiDeviceNoPostSync = ccudart.cudaCooperativeLaunchMultiDeviceNoPostSync             # <<<<<<<<<<<<<<
 * cudaArraySparsePropertiesSingleMipTail = ccudart.cudaArraySparsePropertiesSingleMipTail
 * CUDA_IPC_HANDLE_SIZE = ccudart.CUDA_IPC_HANDLE_SIZE
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaCooperativeLaunchMultiDeviceNoPostSync); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 90, __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, 90, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":91
 * cudaCooperativeLaunchMultiDeviceNoPreSync = ccudart.cudaCooperativeLaunchMultiDeviceNoPreSync
 * cudaCooperativeLaunchMultiDeviceNoPostSync = ccudart.cudaCooperativeLaunchMultiDeviceNoPostSync
 * cudaArraySparsePropertiesSingleMipTail = ccudart.cudaArraySparsePropertiesSingleMipTail             # <<<<<<<<<<<<<<
 * CUDA_IPC_HANDLE_SIZE = ccudart.CUDA_IPC_HANDLE_SIZE
 * cudaExternalMemoryDedicated = ccudart.cudaExternalMemoryDedicated
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaArraySparsePropertiesSingleMipTail); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 91, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaArraySparsePropertiesSingleM, __pyx_t_1) < 0) __PYX_ERR(0, 91, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":92
 * cudaCooperativeLaunchMultiDeviceNoPostSync = ccudart.cudaCooperativeLaunchMultiDeviceNoPostSync
 * cudaArraySparsePropertiesSingleMipTail = ccudart.cudaArraySparsePropertiesSingleMipTail
 * CUDA_IPC_HANDLE_SIZE = ccudart.CUDA_IPC_HANDLE_SIZE             # <<<<<<<<<<<<<<
 * cudaExternalMemoryDedicated = ccudart.cudaExternalMemoryDedicated
 * cudaExternalSemaphoreSignalSkipNvSciBufMemSync = ccudart.cudaExternalSemaphoreSignalSkipNvSciBufMemSync
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_CUDA_IPC_HANDLE_SIZE); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 92, __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, 92, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":93
 * cudaArraySparsePropertiesSingleMipTail = ccudart.cudaArraySparsePropertiesSingleMipTail
 * CUDA_IPC_HANDLE_SIZE = ccudart.CUDA_IPC_HANDLE_SIZE
 * cudaExternalMemoryDedicated = ccudart.cudaExternalMemoryDedicated             # <<<<<<<<<<<<<<
 * cudaExternalSemaphoreSignalSkipNvSciBufMemSync = ccudart.cudaExternalSemaphoreSignalSkipNvSciBufMemSync
 * cudaExternalSemaphoreWaitSkipNvSciBufMemSync = ccudart.cudaExternalSemaphoreWaitSkipNvSciBufMemSync
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaExternalMemoryDedicated); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 93, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaExternalMemoryDedicated, __pyx_t_1) < 0) __PYX_ERR(0, 93, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":94
 * CUDA_IPC_HANDLE_SIZE = ccudart.CUDA_IPC_HANDLE_SIZE
 * cudaExternalMemoryDedicated = ccudart.cudaExternalMemoryDedicated
 * cudaExternalSemaphoreSignalSkipNvSciBufMemSync = ccudart.cudaExternalSemaphoreSignalSkipNvSciBufMemSync             # <<<<<<<<<<<<<<
 * cudaExternalSemaphoreWaitSkipNvSciBufMemSync = ccudart.cudaExternalSemaphoreWaitSkipNvSciBufMemSync
 * cudaNvSciSyncAttrSignal = ccudart.cudaNvSciSyncAttrSignal
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaExternalSemaphoreSignalSkipNvSciBufMemSync); 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_cudaExternalSemaphoreSignalSkipN, __pyx_t_1) < 0) __PYX_ERR(0, 94, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":95
 * cudaExternalMemoryDedicated = ccudart.cudaExternalMemoryDedicated
 * cudaExternalSemaphoreSignalSkipNvSciBufMemSync = ccudart.cudaExternalSemaphoreSignalSkipNvSciBufMemSync
 * cudaExternalSemaphoreWaitSkipNvSciBufMemSync = ccudart.cudaExternalSemaphoreWaitSkipNvSciBufMemSync             # <<<<<<<<<<<<<<
 * cudaNvSciSyncAttrSignal = ccudart.cudaNvSciSyncAttrSignal
 * cudaNvSciSyncAttrWait = ccudart.cudaNvSciSyncAttrWait
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaExternalSemaphoreWaitSkipNvSciBufMemSync); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 95, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaExternalSemaphoreWaitSkipNvS, __pyx_t_1) < 0) __PYX_ERR(0, 95, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":96
 * cudaExternalSemaphoreSignalSkipNvSciBufMemSync = ccudart.cudaExternalSemaphoreSignalSkipNvSciBufMemSync
 * cudaExternalSemaphoreWaitSkipNvSciBufMemSync = ccudart.cudaExternalSemaphoreWaitSkipNvSciBufMemSync
 * cudaNvSciSyncAttrSignal = ccudart.cudaNvSciSyncAttrSignal             # <<<<<<<<<<<<<<
 * cudaNvSciSyncAttrWait = ccudart.cudaNvSciSyncAttrWait
 * cudaSurfaceType1D = ccudart.cudaSurfaceType1D
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaNvSciSyncAttrSignal); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 96, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaNvSciSyncAttrSignal, __pyx_t_1) < 0) __PYX_ERR(0, 96, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":97
 * cudaExternalSemaphoreWaitSkipNvSciBufMemSync = ccudart.cudaExternalSemaphoreWaitSkipNvSciBufMemSync
 * cudaNvSciSyncAttrSignal = ccudart.cudaNvSciSyncAttrSignal
 * cudaNvSciSyncAttrWait = ccudart.cudaNvSciSyncAttrWait             # <<<<<<<<<<<<<<
 * cudaSurfaceType1D = ccudart.cudaSurfaceType1D
 * cudaSurfaceType2D = ccudart.cudaSurfaceType2D
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaNvSciSyncAttrWait); 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_cudaNvSciSyncAttrWait, __pyx_t_1) < 0) __PYX_ERR(0, 97, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":98
 * cudaNvSciSyncAttrSignal = ccudart.cudaNvSciSyncAttrSignal
 * cudaNvSciSyncAttrWait = ccudart.cudaNvSciSyncAttrWait
 * cudaSurfaceType1D = ccudart.cudaSurfaceType1D             # <<<<<<<<<<<<<<
 * cudaSurfaceType2D = ccudart.cudaSurfaceType2D
 * cudaSurfaceType3D = ccudart.cudaSurfaceType3D
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaSurfaceType1D); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 98, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaSurfaceType1D, __pyx_t_1) < 0) __PYX_ERR(0, 98, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":99
 * cudaNvSciSyncAttrWait = ccudart.cudaNvSciSyncAttrWait
 * cudaSurfaceType1D = ccudart.cudaSurfaceType1D
 * cudaSurfaceType2D = ccudart.cudaSurfaceType2D             # <<<<<<<<<<<<<<
 * cudaSurfaceType3D = ccudart.cudaSurfaceType3D
 * cudaSurfaceTypeCubemap = ccudart.cudaSurfaceTypeCubemap
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaSurfaceType2D); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 99, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaSurfaceType2D, __pyx_t_1) < 0) __PYX_ERR(0, 99, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":100
 * cudaSurfaceType1D = ccudart.cudaSurfaceType1D
 * cudaSurfaceType2D = ccudart.cudaSurfaceType2D
 * cudaSurfaceType3D = ccudart.cudaSurfaceType3D             # <<<<<<<<<<<<<<
 * cudaSurfaceTypeCubemap = ccudart.cudaSurfaceTypeCubemap
 * cudaSurfaceType1DLayered = ccudart.cudaSurfaceType1DLayered
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaSurfaceType3D); 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_cudaSurfaceType3D, __pyx_t_1) < 0) __PYX_ERR(0, 100, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":101
 * cudaSurfaceType2D = ccudart.cudaSurfaceType2D
 * cudaSurfaceType3D = ccudart.cudaSurfaceType3D
 * cudaSurfaceTypeCubemap = ccudart.cudaSurfaceTypeCubemap             # <<<<<<<<<<<<<<
 * cudaSurfaceType1DLayered = ccudart.cudaSurfaceType1DLayered
 * cudaSurfaceType2DLayered = ccudart.cudaSurfaceType2DLayered
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaSurfaceTypeCubemap); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 101, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaSurfaceTypeCubemap, __pyx_t_1) < 0) __PYX_ERR(0, 101, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":102
 * cudaSurfaceType3D = ccudart.cudaSurfaceType3D
 * cudaSurfaceTypeCubemap = ccudart.cudaSurfaceTypeCubemap
 * cudaSurfaceType1DLayered = ccudart.cudaSurfaceType1DLayered             # <<<<<<<<<<<<<<
 * cudaSurfaceType2DLayered = ccudart.cudaSurfaceType2DLayered
 * cudaSurfaceTypeCubemapLayered = ccudart.cudaSurfaceTypeCubemapLayered
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaSurfaceType1DLayered); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 102, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaSurfaceType1DLayered, __pyx_t_1) < 0) __PYX_ERR(0, 102, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":103
 * cudaSurfaceTypeCubemap = ccudart.cudaSurfaceTypeCubemap
 * cudaSurfaceType1DLayered = ccudart.cudaSurfaceType1DLayered
 * cudaSurfaceType2DLayered = ccudart.cudaSurfaceType2DLayered             # <<<<<<<<<<<<<<
 * cudaSurfaceTypeCubemapLayered = ccudart.cudaSurfaceTypeCubemapLayered
 * cudaTextureType1D = ccudart.cudaTextureType1D
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaSurfaceType2DLayered); 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_cudaSurfaceType2DLayered, __pyx_t_1) < 0) __PYX_ERR(0, 103, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":104
 * cudaSurfaceType1DLayered = ccudart.cudaSurfaceType1DLayered
 * cudaSurfaceType2DLayered = ccudart.cudaSurfaceType2DLayered
 * cudaSurfaceTypeCubemapLayered = ccudart.cudaSurfaceTypeCubemapLayered             # <<<<<<<<<<<<<<
 * cudaTextureType1D = ccudart.cudaTextureType1D
 * cudaTextureType2D = ccudart.cudaTextureType2D
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaSurfaceTypeCubemapLayered); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 104, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaSurfaceTypeCubemapLayered, __pyx_t_1) < 0) __PYX_ERR(0, 104, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":105
 * cudaSurfaceType2DLayered = ccudart.cudaSurfaceType2DLayered
 * cudaSurfaceTypeCubemapLayered = ccudart.cudaSurfaceTypeCubemapLayered
 * cudaTextureType1D = ccudart.cudaTextureType1D             # <<<<<<<<<<<<<<
 * cudaTextureType2D = ccudart.cudaTextureType2D
 * cudaTextureType3D = ccudart.cudaTextureType3D
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaTextureType1D); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 105, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaTextureType1D, __pyx_t_1) < 0) __PYX_ERR(0, 105, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":106
 * cudaSurfaceTypeCubemapLayered = ccudart.cudaSurfaceTypeCubemapLayered
 * cudaTextureType1D = ccudart.cudaTextureType1D
 * cudaTextureType2D = ccudart.cudaTextureType2D             # <<<<<<<<<<<<<<
 * cudaTextureType3D = ccudart.cudaTextureType3D
 * cudaTextureTypeCubemap = ccudart.cudaTextureTypeCubemap
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaTextureType2D); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 106, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaTextureType2D, __pyx_t_1) < 0) __PYX_ERR(0, 106, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":107
 * cudaTextureType1D = ccudart.cudaTextureType1D
 * cudaTextureType2D = ccudart.cudaTextureType2D
 * cudaTextureType3D = ccudart.cudaTextureType3D             # <<<<<<<<<<<<<<
 * cudaTextureTypeCubemap = ccudart.cudaTextureTypeCubemap
 * cudaTextureType1DLayered = ccudart.cudaTextureType1DLayered
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaTextureType3D); 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_cudaTextureType3D, __pyx_t_1) < 0) __PYX_ERR(0, 107, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":108
 * cudaTextureType2D = ccudart.cudaTextureType2D
 * cudaTextureType3D = ccudart.cudaTextureType3D
 * cudaTextureTypeCubemap = ccudart.cudaTextureTypeCubemap             # <<<<<<<<<<<<<<
 * cudaTextureType1DLayered = ccudart.cudaTextureType1DLayered
 * cudaTextureType2DLayered = ccudart.cudaTextureType2DLayered
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaTextureTypeCubemap); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 108, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaTextureTypeCubemap, __pyx_t_1) < 0) __PYX_ERR(0, 108, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":109
 * cudaTextureType3D = ccudart.cudaTextureType3D
 * cudaTextureTypeCubemap = ccudart.cudaTextureTypeCubemap
 * cudaTextureType1DLayered = ccudart.cudaTextureType1DLayered             # <<<<<<<<<<<<<<
 * cudaTextureType2DLayered = ccudart.cudaTextureType2DLayered
 * cudaTextureTypeCubemapLayered = ccudart.cudaTextureTypeCubemapLayered
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaTextureType1DLayered); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 109, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaTextureType1DLayered, __pyx_t_1) < 0) __PYX_ERR(0, 109, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":110
 * cudaTextureTypeCubemap = ccudart.cudaTextureTypeCubemap
 * cudaTextureType1DLayered = ccudart.cudaTextureType1DLayered
 * cudaTextureType2DLayered = ccudart.cudaTextureType2DLayered             # <<<<<<<<<<<<<<
 * cudaTextureTypeCubemapLayered = ccudart.cudaTextureTypeCubemapLayered
 * CUDART_VERSION = ccudart.CUDART_VERSION
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaTextureType2DLayered); 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_cudaTextureType2DLayered, __pyx_t_1) < 0) __PYX_ERR(0, 110, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":111
 * cudaTextureType1DLayered = ccudart.cudaTextureType1DLayered
 * cudaTextureType2DLayered = ccudart.cudaTextureType2DLayered
 * cudaTextureTypeCubemapLayered = ccudart.cudaTextureTypeCubemapLayered             # <<<<<<<<<<<<<<
 * CUDART_VERSION = ccudart.CUDART_VERSION
 * 
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_cudaTextureTypeCubemapLayered); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 111, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaTextureTypeCubemapLayered, __pyx_t_1) < 0) __PYX_ERR(0, 111, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":112
 * cudaTextureType2DLayered = ccudart.cudaTextureType2DLayered
 * cudaTextureTypeCubemapLayered = ccudart.cudaTextureTypeCubemapLayered
 * CUDART_VERSION = ccudart.CUDART_VERSION             # <<<<<<<<<<<<<<
 * 
 * class cudaRoundMode(Enum):
 */
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_e_4cuda_7ccudart_CUDART_VERSION); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 112, __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, 112, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":114
 * CUDART_VERSION = ccudart.CUDART_VERSION
 * 
 * class cudaRoundMode(Enum):             # <<<<<<<<<<<<<<
 *     cudaRoundNearest = ccudart.cudaRoundMode.cudaRoundNearest
 *     cudaRoundZero = ccudart.cudaRoundMode.cudaRoundZero
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Enum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 114, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 114, __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, 114, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_2, __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, 114, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":115
 * 
 * class cudaRoundMode(Enum):
 *     cudaRoundNearest = ccudart.cudaRoundMode.cudaRoundNearest             # <<<<<<<<<<<<<<
 *     cudaRoundZero = ccudart.cudaRoundMode.cudaRoundZero
 *     cudaRoundPosInf = ccudart.cudaRoundMode.cudaRoundPosInf
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaRoundMode(__pyx_e_4cuda_7ccudart_cudaRoundNearest); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 115, __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, 115, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":116
 * class cudaRoundMode(Enum):
 *     cudaRoundNearest = ccudart.cudaRoundMode.cudaRoundNearest
 *     cudaRoundZero = ccudart.cudaRoundMode.cudaRoundZero             # <<<<<<<<<<<<<<
 *     cudaRoundPosInf = ccudart.cudaRoundMode.cudaRoundPosInf
 *     cudaRoundMinInf = ccudart.cudaRoundMode.cudaRoundMinInf
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaRoundMode(__pyx_e_4cuda_7ccudart_cudaRoundZero); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 116, __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, 116, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":117
 *     cudaRoundNearest = ccudart.cudaRoundMode.cudaRoundNearest
 *     cudaRoundZero = ccudart.cudaRoundMode.cudaRoundZero
 *     cudaRoundPosInf = ccudart.cudaRoundMode.cudaRoundPosInf             # <<<<<<<<<<<<<<
 *     cudaRoundMinInf = ccudart.cudaRoundMode.cudaRoundMinInf
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaRoundMode(__pyx_e_4cuda_7ccudart_cudaRoundPosInf); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 117, __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, 117, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":118
 *     cudaRoundZero = ccudart.cudaRoundMode.cudaRoundZero
 *     cudaRoundPosInf = ccudart.cudaRoundMode.cudaRoundPosInf
 *     cudaRoundMinInf = ccudart.cudaRoundMode.cudaRoundMinInf             # <<<<<<<<<<<<<<
 * 
 * class cudaError_t(Enum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaRoundMode(__pyx_e_4cuda_7ccudart_cudaRoundMinInf); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 118, __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, 118, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":114
 * CUDART_VERSION = ccudart.CUDART_VERSION
 * 
 * class cudaRoundMode(Enum):             # <<<<<<<<<<<<<<
 *     cudaRoundNearest = ccudart.cudaRoundMode.cudaRoundNearest
 *     cudaRoundZero = ccudart.cudaRoundMode.cudaRoundZero
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_cudaRoundMode, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 114, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaRoundMode, __pyx_t_4) < 0) __PYX_ERR(0, 114, __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":120
 *     cudaRoundMinInf = ccudart.cudaRoundMode.cudaRoundMinInf
 * 
 * class cudaError_t(Enum):             # <<<<<<<<<<<<<<
 *     cudaSuccess = ccudart.cudaError.cudaSuccess
 *     cudaErrorInvalidValue = ccudart.cudaError.cudaErrorInvalidValue
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Enum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 120, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 120, __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, 120, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_cudaError_t, __pyx_n_s_cudaError_t, (PyObject *) NULL, __pyx_n_s_cuda_cudart, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 120, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":121
 * 
 * class cudaError_t(Enum):
 *     cudaSuccess = ccudart.cudaError.cudaSuccess             # <<<<<<<<<<<<<<
 *     cudaErrorInvalidValue = ccudart.cudaError.cudaErrorInvalidValue
 *     cudaErrorMemoryAllocation = ccudart.cudaError.cudaErrorMemoryAllocation
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaSuccess); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 121, __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, 121, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":122
 * class cudaError_t(Enum):
 *     cudaSuccess = ccudart.cudaError.cudaSuccess
 *     cudaErrorInvalidValue = ccudart.cudaError.cudaErrorInvalidValue             # <<<<<<<<<<<<<<
 *     cudaErrorMemoryAllocation = ccudart.cudaError.cudaErrorMemoryAllocation
 *     cudaErrorInitializationError = ccudart.cudaError.cudaErrorInitializationError
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorInvalidValue); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 122, __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, 122, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":123
 *     cudaSuccess = ccudart.cudaError.cudaSuccess
 *     cudaErrorInvalidValue = ccudart.cudaError.cudaErrorInvalidValue
 *     cudaErrorMemoryAllocation = ccudart.cudaError.cudaErrorMemoryAllocation             # <<<<<<<<<<<<<<
 *     cudaErrorInitializationError = ccudart.cudaError.cudaErrorInitializationError
 *     cudaErrorCudartUnloading = ccudart.cudaError.cudaErrorCudartUnloading
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorMemoryAllocation); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 123, __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, 123, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":124
 *     cudaErrorInvalidValue = ccudart.cudaError.cudaErrorInvalidValue
 *     cudaErrorMemoryAllocation = ccudart.cudaError.cudaErrorMemoryAllocation
 *     cudaErrorInitializationError = ccudart.cudaError.cudaErrorInitializationError             # <<<<<<<<<<<<<<
 *     cudaErrorCudartUnloading = ccudart.cudaError.cudaErrorCudartUnloading
 *     cudaErrorProfilerDisabled = ccudart.cudaError.cudaErrorProfilerDisabled
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorInitializationError); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 124, __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, 124, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":125
 *     cudaErrorMemoryAllocation = ccudart.cudaError.cudaErrorMemoryAllocation
 *     cudaErrorInitializationError = ccudart.cudaError.cudaErrorInitializationError
 *     cudaErrorCudartUnloading = ccudart.cudaError.cudaErrorCudartUnloading             # <<<<<<<<<<<<<<
 *     cudaErrorProfilerDisabled = ccudart.cudaError.cudaErrorProfilerDisabled
 *     cudaErrorProfilerNotInitialized = ccudart.cudaError.cudaErrorProfilerNotInitialized
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorCudartUnloading); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 125, __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, 125, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":126
 *     cudaErrorInitializationError = ccudart.cudaError.cudaErrorInitializationError
 *     cudaErrorCudartUnloading = ccudart.cudaError.cudaErrorCudartUnloading
 *     cudaErrorProfilerDisabled = ccudart.cudaError.cudaErrorProfilerDisabled             # <<<<<<<<<<<<<<
 *     cudaErrorProfilerNotInitialized = ccudart.cudaError.cudaErrorProfilerNotInitialized
 *     cudaErrorProfilerAlreadyStarted = ccudart.cudaError.cudaErrorProfilerAlreadyStarted
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorProfilerDisabled); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 126, __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, 126, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":127
 *     cudaErrorCudartUnloading = ccudart.cudaError.cudaErrorCudartUnloading
 *     cudaErrorProfilerDisabled = ccudart.cudaError.cudaErrorProfilerDisabled
 *     cudaErrorProfilerNotInitialized = ccudart.cudaError.cudaErrorProfilerNotInitialized             # <<<<<<<<<<<<<<
 *     cudaErrorProfilerAlreadyStarted = ccudart.cudaError.cudaErrorProfilerAlreadyStarted
 *     cudaErrorProfilerAlreadyStopped = ccudart.cudaError.cudaErrorProfilerAlreadyStopped
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorProfilerNotInitialized); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 127, __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, 127, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":128
 *     cudaErrorProfilerDisabled = ccudart.cudaError.cudaErrorProfilerDisabled
 *     cudaErrorProfilerNotInitialized = ccudart.cudaError.cudaErrorProfilerNotInitialized
 *     cudaErrorProfilerAlreadyStarted = ccudart.cudaError.cudaErrorProfilerAlreadyStarted             # <<<<<<<<<<<<<<
 *     cudaErrorProfilerAlreadyStopped = ccudart.cudaError.cudaErrorProfilerAlreadyStopped
 *     cudaErrorInvalidConfiguration = ccudart.cudaError.cudaErrorInvalidConfiguration
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorProfilerAlreadyStarted); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 128, __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, 128, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":129
 *     cudaErrorProfilerNotInitialized = ccudart.cudaError.cudaErrorProfilerNotInitialized
 *     cudaErrorProfilerAlreadyStarted = ccudart.cudaError.cudaErrorProfilerAlreadyStarted
 *     cudaErrorProfilerAlreadyStopped = ccudart.cudaError.cudaErrorProfilerAlreadyStopped             # <<<<<<<<<<<<<<
 *     cudaErrorInvalidConfiguration = ccudart.cudaError.cudaErrorInvalidConfiguration
 *     cudaErrorInvalidPitchValue = ccudart.cudaError.cudaErrorInvalidPitchValue
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorProfilerAlreadyStopped); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 129, __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, 129, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":130
 *     cudaErrorProfilerAlreadyStarted = ccudart.cudaError.cudaErrorProfilerAlreadyStarted
 *     cudaErrorProfilerAlreadyStopped = ccudart.cudaError.cudaErrorProfilerAlreadyStopped
 *     cudaErrorInvalidConfiguration = ccudart.cudaError.cudaErrorInvalidConfiguration             # <<<<<<<<<<<<<<
 *     cudaErrorInvalidPitchValue = ccudart.cudaError.cudaErrorInvalidPitchValue
 *     cudaErrorInvalidSymbol = ccudart.cudaError.cudaErrorInvalidSymbol
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorInvalidConfiguration); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 130, __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, 130, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":131
 *     cudaErrorProfilerAlreadyStopped = ccudart.cudaError.cudaErrorProfilerAlreadyStopped
 *     cudaErrorInvalidConfiguration = ccudart.cudaError.cudaErrorInvalidConfiguration
 *     cudaErrorInvalidPitchValue = ccudart.cudaError.cudaErrorInvalidPitchValue             # <<<<<<<<<<<<<<
 *     cudaErrorInvalidSymbol = ccudart.cudaError.cudaErrorInvalidSymbol
 *     cudaErrorInvalidHostPointer = ccudart.cudaError.cudaErrorInvalidHostPointer
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorInvalidPitchValue); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 131, __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, 131, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":132
 *     cudaErrorInvalidConfiguration = ccudart.cudaError.cudaErrorInvalidConfiguration
 *     cudaErrorInvalidPitchValue = ccudart.cudaError.cudaErrorInvalidPitchValue
 *     cudaErrorInvalidSymbol = ccudart.cudaError.cudaErrorInvalidSymbol             # <<<<<<<<<<<<<<
 *     cudaErrorInvalidHostPointer = ccudart.cudaError.cudaErrorInvalidHostPointer
 *     cudaErrorInvalidDevicePointer = ccudart.cudaError.cudaErrorInvalidDevicePointer
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorInvalidSymbol); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 132, __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, 132, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":133
 *     cudaErrorInvalidPitchValue = ccudart.cudaError.cudaErrorInvalidPitchValue
 *     cudaErrorInvalidSymbol = ccudart.cudaError.cudaErrorInvalidSymbol
 *     cudaErrorInvalidHostPointer = ccudart.cudaError.cudaErrorInvalidHostPointer             # <<<<<<<<<<<<<<
 *     cudaErrorInvalidDevicePointer = ccudart.cudaError.cudaErrorInvalidDevicePointer
 *     cudaErrorInvalidTexture = ccudart.cudaError.cudaErrorInvalidTexture
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorInvalidHostPointer); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 133, __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, 133, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":134
 *     cudaErrorInvalidSymbol = ccudart.cudaError.cudaErrorInvalidSymbol
 *     cudaErrorInvalidHostPointer = ccudart.cudaError.cudaErrorInvalidHostPointer
 *     cudaErrorInvalidDevicePointer = ccudart.cudaError.cudaErrorInvalidDevicePointer             # <<<<<<<<<<<<<<
 *     cudaErrorInvalidTexture = ccudart.cudaError.cudaErrorInvalidTexture
 *     cudaErrorInvalidTextureBinding = ccudart.cudaError.cudaErrorInvalidTextureBinding
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorInvalidDevicePointer); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 134, __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, 134, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":135
 *     cudaErrorInvalidHostPointer = ccudart.cudaError.cudaErrorInvalidHostPointer
 *     cudaErrorInvalidDevicePointer = ccudart.cudaError.cudaErrorInvalidDevicePointer
 *     cudaErrorInvalidTexture = ccudart.cudaError.cudaErrorInvalidTexture             # <<<<<<<<<<<<<<
 *     cudaErrorInvalidTextureBinding = ccudart.cudaError.cudaErrorInvalidTextureBinding
 *     cudaErrorInvalidChannelDescriptor = ccudart.cudaError.cudaErrorInvalidChannelDescriptor
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorInvalidTexture); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 135, __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, 135, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":136
 *     cudaErrorInvalidDevicePointer = ccudart.cudaError.cudaErrorInvalidDevicePointer
 *     cudaErrorInvalidTexture = ccudart.cudaError.cudaErrorInvalidTexture
 *     cudaErrorInvalidTextureBinding = ccudart.cudaError.cudaErrorInvalidTextureBinding             # <<<<<<<<<<<<<<
 *     cudaErrorInvalidChannelDescriptor = ccudart.cudaError.cudaErrorInvalidChannelDescriptor
 *     cudaErrorInvalidMemcpyDirection = ccudart.cudaError.cudaErrorInvalidMemcpyDirection
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorInvalidTextureBinding); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 136, __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, 136, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":137
 *     cudaErrorInvalidTexture = ccudart.cudaError.cudaErrorInvalidTexture
 *     cudaErrorInvalidTextureBinding = ccudart.cudaError.cudaErrorInvalidTextureBinding
 *     cudaErrorInvalidChannelDescriptor = ccudart.cudaError.cudaErrorInvalidChannelDescriptor             # <<<<<<<<<<<<<<
 *     cudaErrorInvalidMemcpyDirection = ccudart.cudaError.cudaErrorInvalidMemcpyDirection
 *     cudaErrorAddressOfConstant = ccudart.cudaError.cudaErrorAddressOfConstant
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorInvalidChannelDescriptor); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 137, __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, 137, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":138
 *     cudaErrorInvalidTextureBinding = ccudart.cudaError.cudaErrorInvalidTextureBinding
 *     cudaErrorInvalidChannelDescriptor = ccudart.cudaError.cudaErrorInvalidChannelDescriptor
 *     cudaErrorInvalidMemcpyDirection = ccudart.cudaError.cudaErrorInvalidMemcpyDirection             # <<<<<<<<<<<<<<
 *     cudaErrorAddressOfConstant = ccudart.cudaError.cudaErrorAddressOfConstant
 *     cudaErrorTextureFetchFailed = ccudart.cudaError.cudaErrorTextureFetchFailed
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorInvalidMemcpyDirection); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 138, __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, 138, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":139
 *     cudaErrorInvalidChannelDescriptor = ccudart.cudaError.cudaErrorInvalidChannelDescriptor
 *     cudaErrorInvalidMemcpyDirection = ccudart.cudaError.cudaErrorInvalidMemcpyDirection
 *     cudaErrorAddressOfConstant = ccudart.cudaError.cudaErrorAddressOfConstant             # <<<<<<<<<<<<<<
 *     cudaErrorTextureFetchFailed = ccudart.cudaError.cudaErrorTextureFetchFailed
 *     cudaErrorTextureNotBound = ccudart.cudaError.cudaErrorTextureNotBound
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorAddressOfConstant); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 139, __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, 139, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":140
 *     cudaErrorInvalidMemcpyDirection = ccudart.cudaError.cudaErrorInvalidMemcpyDirection
 *     cudaErrorAddressOfConstant = ccudart.cudaError.cudaErrorAddressOfConstant
 *     cudaErrorTextureFetchFailed = ccudart.cudaError.cudaErrorTextureFetchFailed             # <<<<<<<<<<<<<<
 *     cudaErrorTextureNotBound = ccudart.cudaError.cudaErrorTextureNotBound
 *     cudaErrorSynchronizationError = ccudart.cudaError.cudaErrorSynchronizationError
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorTextureFetchFailed); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 140, __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, 140, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":141
 *     cudaErrorAddressOfConstant = ccudart.cudaError.cudaErrorAddressOfConstant
 *     cudaErrorTextureFetchFailed = ccudart.cudaError.cudaErrorTextureFetchFailed
 *     cudaErrorTextureNotBound = ccudart.cudaError.cudaErrorTextureNotBound             # <<<<<<<<<<<<<<
 *     cudaErrorSynchronizationError = ccudart.cudaError.cudaErrorSynchronizationError
 *     cudaErrorInvalidFilterSetting = ccudart.cudaError.cudaErrorInvalidFilterSetting
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorTextureNotBound); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 141, __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, 141, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":142
 *     cudaErrorTextureFetchFailed = ccudart.cudaError.cudaErrorTextureFetchFailed
 *     cudaErrorTextureNotBound = ccudart.cudaError.cudaErrorTextureNotBound
 *     cudaErrorSynchronizationError = ccudart.cudaError.cudaErrorSynchronizationError             # <<<<<<<<<<<<<<
 *     cudaErrorInvalidFilterSetting = ccudart.cudaError.cudaErrorInvalidFilterSetting
 *     cudaErrorInvalidNormSetting = ccudart.cudaError.cudaErrorInvalidNormSetting
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorSynchronizationError); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 142, __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, 142, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":143
 *     cudaErrorTextureNotBound = ccudart.cudaError.cudaErrorTextureNotBound
 *     cudaErrorSynchronizationError = ccudart.cudaError.cudaErrorSynchronizationError
 *     cudaErrorInvalidFilterSetting = ccudart.cudaError.cudaErrorInvalidFilterSetting             # <<<<<<<<<<<<<<
 *     cudaErrorInvalidNormSetting = ccudart.cudaError.cudaErrorInvalidNormSetting
 *     cudaErrorMixedDeviceExecution = ccudart.cudaError.cudaErrorMixedDeviceExecution
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorInvalidFilterSetting); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 143, __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, 143, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":144
 *     cudaErrorSynchronizationError = ccudart.cudaError.cudaErrorSynchronizationError
 *     cudaErrorInvalidFilterSetting = ccudart.cudaError.cudaErrorInvalidFilterSetting
 *     cudaErrorInvalidNormSetting = ccudart.cudaError.cudaErrorInvalidNormSetting             # <<<<<<<<<<<<<<
 *     cudaErrorMixedDeviceExecution = ccudart.cudaError.cudaErrorMixedDeviceExecution
 *     cudaErrorNotYetImplemented = ccudart.cudaError.cudaErrorNotYetImplemented
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorInvalidNormSetting); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 144, __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, 144, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":145
 *     cudaErrorInvalidFilterSetting = ccudart.cudaError.cudaErrorInvalidFilterSetting
 *     cudaErrorInvalidNormSetting = ccudart.cudaError.cudaErrorInvalidNormSetting
 *     cudaErrorMixedDeviceExecution = ccudart.cudaError.cudaErrorMixedDeviceExecution             # <<<<<<<<<<<<<<
 *     cudaErrorNotYetImplemented = ccudart.cudaError.cudaErrorNotYetImplemented
 *     cudaErrorMemoryValueTooLarge = ccudart.cudaError.cudaErrorMemoryValueTooLarge
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorMixedDeviceExecution); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 145, __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, 145, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":146
 *     cudaErrorInvalidNormSetting = ccudart.cudaError.cudaErrorInvalidNormSetting
 *     cudaErrorMixedDeviceExecution = ccudart.cudaError.cudaErrorMixedDeviceExecution
 *     cudaErrorNotYetImplemented = ccudart.cudaError.cudaErrorNotYetImplemented             # <<<<<<<<<<<<<<
 *     cudaErrorMemoryValueTooLarge = ccudart.cudaError.cudaErrorMemoryValueTooLarge
 *     cudaErrorStubLibrary = ccudart.cudaError.cudaErrorStubLibrary
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorNotYetImplemented); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 146, __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, 146, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":147
 *     cudaErrorMixedDeviceExecution = ccudart.cudaError.cudaErrorMixedDeviceExecution
 *     cudaErrorNotYetImplemented = ccudart.cudaError.cudaErrorNotYetImplemented
 *     cudaErrorMemoryValueTooLarge = ccudart.cudaError.cudaErrorMemoryValueTooLarge             # <<<<<<<<<<<<<<
 *     cudaErrorStubLibrary = ccudart.cudaError.cudaErrorStubLibrary
 *     cudaErrorInsufficientDriver = ccudart.cudaError.cudaErrorInsufficientDriver
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorMemoryValueTooLarge); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 147, __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, 147, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":148
 *     cudaErrorNotYetImplemented = ccudart.cudaError.cudaErrorNotYetImplemented
 *     cudaErrorMemoryValueTooLarge = ccudart.cudaError.cudaErrorMemoryValueTooLarge
 *     cudaErrorStubLibrary = ccudart.cudaError.cudaErrorStubLibrary             # <<<<<<<<<<<<<<
 *     cudaErrorInsufficientDriver = ccudart.cudaError.cudaErrorInsufficientDriver
 *     cudaErrorCallRequiresNewerDriver = ccudart.cudaError.cudaErrorCallRequiresNewerDriver
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorStubLibrary); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 148, __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, 148, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":149
 *     cudaErrorMemoryValueTooLarge = ccudart.cudaError.cudaErrorMemoryValueTooLarge
 *     cudaErrorStubLibrary = ccudart.cudaError.cudaErrorStubLibrary
 *     cudaErrorInsufficientDriver = ccudart.cudaError.cudaErrorInsufficientDriver             # <<<<<<<<<<<<<<
 *     cudaErrorCallRequiresNewerDriver = ccudart.cudaError.cudaErrorCallRequiresNewerDriver
 *     cudaErrorInvalidSurface = ccudart.cudaError.cudaErrorInvalidSurface
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorInsufficientDriver); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 149, __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, 149, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":150
 *     cudaErrorStubLibrary = ccudart.cudaError.cudaErrorStubLibrary
 *     cudaErrorInsufficientDriver = ccudart.cudaError.cudaErrorInsufficientDriver
 *     cudaErrorCallRequiresNewerDriver = ccudart.cudaError.cudaErrorCallRequiresNewerDriver             # <<<<<<<<<<<<<<
 *     cudaErrorInvalidSurface = ccudart.cudaError.cudaErrorInvalidSurface
 *     cudaErrorDuplicateVariableName = ccudart.cudaError.cudaErrorDuplicateVariableName
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorCallRequiresNewerDriver); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 150, __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, 150, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":151
 *     cudaErrorInsufficientDriver = ccudart.cudaError.cudaErrorInsufficientDriver
 *     cudaErrorCallRequiresNewerDriver = ccudart.cudaError.cudaErrorCallRequiresNewerDriver
 *     cudaErrorInvalidSurface = ccudart.cudaError.cudaErrorInvalidSurface             # <<<<<<<<<<<<<<
 *     cudaErrorDuplicateVariableName = ccudart.cudaError.cudaErrorDuplicateVariableName
 *     cudaErrorDuplicateTextureName = ccudart.cudaError.cudaErrorDuplicateTextureName
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorInvalidSurface); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 151, __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, 151, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":152
 *     cudaErrorCallRequiresNewerDriver = ccudart.cudaError.cudaErrorCallRequiresNewerDriver
 *     cudaErrorInvalidSurface = ccudart.cudaError.cudaErrorInvalidSurface
 *     cudaErrorDuplicateVariableName = ccudart.cudaError.cudaErrorDuplicateVariableName             # <<<<<<<<<<<<<<
 *     cudaErrorDuplicateTextureName = ccudart.cudaError.cudaErrorDuplicateTextureName
 *     cudaErrorDuplicateSurfaceName = ccudart.cudaError.cudaErrorDuplicateSurfaceName
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorDuplicateVariableName); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 152, __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, 152, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":153
 *     cudaErrorInvalidSurface = ccudart.cudaError.cudaErrorInvalidSurface
 *     cudaErrorDuplicateVariableName = ccudart.cudaError.cudaErrorDuplicateVariableName
 *     cudaErrorDuplicateTextureName = ccudart.cudaError.cudaErrorDuplicateTextureName             # <<<<<<<<<<<<<<
 *     cudaErrorDuplicateSurfaceName = ccudart.cudaError.cudaErrorDuplicateSurfaceName
 *     cudaErrorDevicesUnavailable = ccudart.cudaError.cudaErrorDevicesUnavailable
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorDuplicateTextureName); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 153, __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, 153, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":154
 *     cudaErrorDuplicateVariableName = ccudart.cudaError.cudaErrorDuplicateVariableName
 *     cudaErrorDuplicateTextureName = ccudart.cudaError.cudaErrorDuplicateTextureName
 *     cudaErrorDuplicateSurfaceName = ccudart.cudaError.cudaErrorDuplicateSurfaceName             # <<<<<<<<<<<<<<
 *     cudaErrorDevicesUnavailable = ccudart.cudaError.cudaErrorDevicesUnavailable
 *     cudaErrorIncompatibleDriverContext = ccudart.cudaError.cudaErrorIncompatibleDriverContext
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorDuplicateSurfaceName); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 154, __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, 154, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":155
 *     cudaErrorDuplicateTextureName = ccudart.cudaError.cudaErrorDuplicateTextureName
 *     cudaErrorDuplicateSurfaceName = ccudart.cudaError.cudaErrorDuplicateSurfaceName
 *     cudaErrorDevicesUnavailable = ccudart.cudaError.cudaErrorDevicesUnavailable             # <<<<<<<<<<<<<<
 *     cudaErrorIncompatibleDriverContext = ccudart.cudaError.cudaErrorIncompatibleDriverContext
 *     cudaErrorMissingConfiguration = ccudart.cudaError.cudaErrorMissingConfiguration
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorDevicesUnavailable); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 155, __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, 155, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":156
 *     cudaErrorDuplicateSurfaceName = ccudart.cudaError.cudaErrorDuplicateSurfaceName
 *     cudaErrorDevicesUnavailable = ccudart.cudaError.cudaErrorDevicesUnavailable
 *     cudaErrorIncompatibleDriverContext = ccudart.cudaError.cudaErrorIncompatibleDriverContext             # <<<<<<<<<<<<<<
 *     cudaErrorMissingConfiguration = ccudart.cudaError.cudaErrorMissingConfiguration
 *     cudaErrorPriorLaunchFailure = ccudart.cudaError.cudaErrorPriorLaunchFailure
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorIncompatibleDriverContext); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 156, __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, 156, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":157
 *     cudaErrorDevicesUnavailable = ccudart.cudaError.cudaErrorDevicesUnavailable
 *     cudaErrorIncompatibleDriverContext = ccudart.cudaError.cudaErrorIncompatibleDriverContext
 *     cudaErrorMissingConfiguration = ccudart.cudaError.cudaErrorMissingConfiguration             # <<<<<<<<<<<<<<
 *     cudaErrorPriorLaunchFailure = ccudart.cudaError.cudaErrorPriorLaunchFailure
 *     cudaErrorLaunchMaxDepthExceeded = ccudart.cudaError.cudaErrorLaunchMaxDepthExceeded
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorMissingConfiguration); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 157, __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, 157, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":158
 *     cudaErrorIncompatibleDriverContext = ccudart.cudaError.cudaErrorIncompatibleDriverContext
 *     cudaErrorMissingConfiguration = ccudart.cudaError.cudaErrorMissingConfiguration
 *     cudaErrorPriorLaunchFailure = ccudart.cudaError.cudaErrorPriorLaunchFailure             # <<<<<<<<<<<<<<
 *     cudaErrorLaunchMaxDepthExceeded = ccudart.cudaError.cudaErrorLaunchMaxDepthExceeded
 *     cudaErrorLaunchFileScopedTex = ccudart.cudaError.cudaErrorLaunchFileScopedTex
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorPriorLaunchFailure); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 158, __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, 158, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":159
 *     cudaErrorMissingConfiguration = ccudart.cudaError.cudaErrorMissingConfiguration
 *     cudaErrorPriorLaunchFailure = ccudart.cudaError.cudaErrorPriorLaunchFailure
 *     cudaErrorLaunchMaxDepthExceeded = ccudart.cudaError.cudaErrorLaunchMaxDepthExceeded             # <<<<<<<<<<<<<<
 *     cudaErrorLaunchFileScopedTex = ccudart.cudaError.cudaErrorLaunchFileScopedTex
 *     cudaErrorLaunchFileScopedSurf = ccudart.cudaError.cudaErrorLaunchFileScopedSurf
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorLaunchMaxDepthExceeded); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 159, __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, 159, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":160
 *     cudaErrorPriorLaunchFailure = ccudart.cudaError.cudaErrorPriorLaunchFailure
 *     cudaErrorLaunchMaxDepthExceeded = ccudart.cudaError.cudaErrorLaunchMaxDepthExceeded
 *     cudaErrorLaunchFileScopedTex = ccudart.cudaError.cudaErrorLaunchFileScopedTex             # <<<<<<<<<<<<<<
 *     cudaErrorLaunchFileScopedSurf = ccudart.cudaError.cudaErrorLaunchFileScopedSurf
 *     cudaErrorSyncDepthExceeded = ccudart.cudaError.cudaErrorSyncDepthExceeded
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorLaunchFileScopedTex); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 160, __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, 160, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":161
 *     cudaErrorLaunchMaxDepthExceeded = ccudart.cudaError.cudaErrorLaunchMaxDepthExceeded
 *     cudaErrorLaunchFileScopedTex = ccudart.cudaError.cudaErrorLaunchFileScopedTex
 *     cudaErrorLaunchFileScopedSurf = ccudart.cudaError.cudaErrorLaunchFileScopedSurf             # <<<<<<<<<<<<<<
 *     cudaErrorSyncDepthExceeded = ccudart.cudaError.cudaErrorSyncDepthExceeded
 *     cudaErrorLaunchPendingCountExceeded = ccudart.cudaError.cudaErrorLaunchPendingCountExceeded
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorLaunchFileScopedSurf); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 161, __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, 161, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":162
 *     cudaErrorLaunchFileScopedTex = ccudart.cudaError.cudaErrorLaunchFileScopedTex
 *     cudaErrorLaunchFileScopedSurf = ccudart.cudaError.cudaErrorLaunchFileScopedSurf
 *     cudaErrorSyncDepthExceeded = ccudart.cudaError.cudaErrorSyncDepthExceeded             # <<<<<<<<<<<<<<
 *     cudaErrorLaunchPendingCountExceeded = ccudart.cudaError.cudaErrorLaunchPendingCountExceeded
 *     cudaErrorInvalidDeviceFunction = ccudart.cudaError.cudaErrorInvalidDeviceFunction
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorSyncDepthExceeded); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 162, __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, 162, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":163
 *     cudaErrorLaunchFileScopedSurf = ccudart.cudaError.cudaErrorLaunchFileScopedSurf
 *     cudaErrorSyncDepthExceeded = ccudart.cudaError.cudaErrorSyncDepthExceeded
 *     cudaErrorLaunchPendingCountExceeded = ccudart.cudaError.cudaErrorLaunchPendingCountExceeded             # <<<<<<<<<<<<<<
 *     cudaErrorInvalidDeviceFunction = ccudart.cudaError.cudaErrorInvalidDeviceFunction
 *     cudaErrorNoDevice = ccudart.cudaError.cudaErrorNoDevice
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorLaunchPendingCountExceeded); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 163, __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, 163, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":164
 *     cudaErrorSyncDepthExceeded = ccudart.cudaError.cudaErrorSyncDepthExceeded
 *     cudaErrorLaunchPendingCountExceeded = ccudart.cudaError.cudaErrorLaunchPendingCountExceeded
 *     cudaErrorInvalidDeviceFunction = ccudart.cudaError.cudaErrorInvalidDeviceFunction             # <<<<<<<<<<<<<<
 *     cudaErrorNoDevice = ccudart.cudaError.cudaErrorNoDevice
 *     cudaErrorInvalidDevice = ccudart.cudaError.cudaErrorInvalidDevice
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorInvalidDeviceFunction); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 164, __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, 164, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":165
 *     cudaErrorLaunchPendingCountExceeded = ccudart.cudaError.cudaErrorLaunchPendingCountExceeded
 *     cudaErrorInvalidDeviceFunction = ccudart.cudaError.cudaErrorInvalidDeviceFunction
 *     cudaErrorNoDevice = ccudart.cudaError.cudaErrorNoDevice             # <<<<<<<<<<<<<<
 *     cudaErrorInvalidDevice = ccudart.cudaError.cudaErrorInvalidDevice
 *     cudaErrorDeviceNotLicensed = ccudart.cudaError.cudaErrorDeviceNotLicensed
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorNoDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 165, __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, 165, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":166
 *     cudaErrorInvalidDeviceFunction = ccudart.cudaError.cudaErrorInvalidDeviceFunction
 *     cudaErrorNoDevice = ccudart.cudaError.cudaErrorNoDevice
 *     cudaErrorInvalidDevice = ccudart.cudaError.cudaErrorInvalidDevice             # <<<<<<<<<<<<<<
 *     cudaErrorDeviceNotLicensed = ccudart.cudaError.cudaErrorDeviceNotLicensed
 *     cudaErrorSoftwareValidityNotEstablished = ccudart.cudaError.cudaErrorSoftwareValidityNotEstablished
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorInvalidDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 166, __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, 166, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":167
 *     cudaErrorNoDevice = ccudart.cudaError.cudaErrorNoDevice
 *     cudaErrorInvalidDevice = ccudart.cudaError.cudaErrorInvalidDevice
 *     cudaErrorDeviceNotLicensed = ccudart.cudaError.cudaErrorDeviceNotLicensed             # <<<<<<<<<<<<<<
 *     cudaErrorSoftwareValidityNotEstablished = ccudart.cudaError.cudaErrorSoftwareValidityNotEstablished
 *     cudaErrorStartupFailure = ccudart.cudaError.cudaErrorStartupFailure
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorDeviceNotLicensed); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 167, __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, 167, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":168
 *     cudaErrorInvalidDevice = ccudart.cudaError.cudaErrorInvalidDevice
 *     cudaErrorDeviceNotLicensed = ccudart.cudaError.cudaErrorDeviceNotLicensed
 *     cudaErrorSoftwareValidityNotEstablished = ccudart.cudaError.cudaErrorSoftwareValidityNotEstablished             # <<<<<<<<<<<<<<
 *     cudaErrorStartupFailure = ccudart.cudaError.cudaErrorStartupFailure
 *     cudaErrorInvalidKernelImage = ccudart.cudaError.cudaErrorInvalidKernelImage
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorSoftwareValidityNotEstablished); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 168, __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, 168, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":169
 *     cudaErrorDeviceNotLicensed = ccudart.cudaError.cudaErrorDeviceNotLicensed
 *     cudaErrorSoftwareValidityNotEstablished = ccudart.cudaError.cudaErrorSoftwareValidityNotEstablished
 *     cudaErrorStartupFailure = ccudart.cudaError.cudaErrorStartupFailure             # <<<<<<<<<<<<<<
 *     cudaErrorInvalidKernelImage = ccudart.cudaError.cudaErrorInvalidKernelImage
 *     cudaErrorDeviceUninitialized = ccudart.cudaError.cudaErrorDeviceUninitialized
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorStartupFailure); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 169, __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, 169, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":170
 *     cudaErrorSoftwareValidityNotEstablished = ccudart.cudaError.cudaErrorSoftwareValidityNotEstablished
 *     cudaErrorStartupFailure = ccudart.cudaError.cudaErrorStartupFailure
 *     cudaErrorInvalidKernelImage = ccudart.cudaError.cudaErrorInvalidKernelImage             # <<<<<<<<<<<<<<
 *     cudaErrorDeviceUninitialized = ccudart.cudaError.cudaErrorDeviceUninitialized
 *     cudaErrorMapBufferObjectFailed = ccudart.cudaError.cudaErrorMapBufferObjectFailed
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorInvalidKernelImage); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 170, __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, 170, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":171
 *     cudaErrorStartupFailure = ccudart.cudaError.cudaErrorStartupFailure
 *     cudaErrorInvalidKernelImage = ccudart.cudaError.cudaErrorInvalidKernelImage
 *     cudaErrorDeviceUninitialized = ccudart.cudaError.cudaErrorDeviceUninitialized             # <<<<<<<<<<<<<<
 *     cudaErrorMapBufferObjectFailed = ccudart.cudaError.cudaErrorMapBufferObjectFailed
 *     cudaErrorUnmapBufferObjectFailed = ccudart.cudaError.cudaErrorUnmapBufferObjectFailed
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorDeviceUninitialized); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 171, __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, 171, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":172
 *     cudaErrorInvalidKernelImage = ccudart.cudaError.cudaErrorInvalidKernelImage
 *     cudaErrorDeviceUninitialized = ccudart.cudaError.cudaErrorDeviceUninitialized
 *     cudaErrorMapBufferObjectFailed = ccudart.cudaError.cudaErrorMapBufferObjectFailed             # <<<<<<<<<<<<<<
 *     cudaErrorUnmapBufferObjectFailed = ccudart.cudaError.cudaErrorUnmapBufferObjectFailed
 *     cudaErrorArrayIsMapped = ccudart.cudaError.cudaErrorArrayIsMapped
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorMapBufferObjectFailed); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 172, __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, 172, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":173
 *     cudaErrorDeviceUninitialized = ccudart.cudaError.cudaErrorDeviceUninitialized
 *     cudaErrorMapBufferObjectFailed = ccudart.cudaError.cudaErrorMapBufferObjectFailed
 *     cudaErrorUnmapBufferObjectFailed = ccudart.cudaError.cudaErrorUnmapBufferObjectFailed             # <<<<<<<<<<<<<<
 *     cudaErrorArrayIsMapped = ccudart.cudaError.cudaErrorArrayIsMapped
 *     cudaErrorAlreadyMapped = ccudart.cudaError.cudaErrorAlreadyMapped
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorUnmapBufferObjectFailed); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 173, __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, 173, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":174
 *     cudaErrorMapBufferObjectFailed = ccudart.cudaError.cudaErrorMapBufferObjectFailed
 *     cudaErrorUnmapBufferObjectFailed = ccudart.cudaError.cudaErrorUnmapBufferObjectFailed
 *     cudaErrorArrayIsMapped = ccudart.cudaError.cudaErrorArrayIsMapped             # <<<<<<<<<<<<<<
 *     cudaErrorAlreadyMapped = ccudart.cudaError.cudaErrorAlreadyMapped
 *     cudaErrorNoKernelImageForDevice = ccudart.cudaError.cudaErrorNoKernelImageForDevice
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorArrayIsMapped); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 174, __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, 174, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":175
 *     cudaErrorUnmapBufferObjectFailed = ccudart.cudaError.cudaErrorUnmapBufferObjectFailed
 *     cudaErrorArrayIsMapped = ccudart.cudaError.cudaErrorArrayIsMapped
 *     cudaErrorAlreadyMapped = ccudart.cudaError.cudaErrorAlreadyMapped             # <<<<<<<<<<<<<<
 *     cudaErrorNoKernelImageForDevice = ccudart.cudaError.cudaErrorNoKernelImageForDevice
 *     cudaErrorAlreadyAcquired = ccudart.cudaError.cudaErrorAlreadyAcquired
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorAlreadyMapped); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 175, __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, 175, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":176
 *     cudaErrorArrayIsMapped = ccudart.cudaError.cudaErrorArrayIsMapped
 *     cudaErrorAlreadyMapped = ccudart.cudaError.cudaErrorAlreadyMapped
 *     cudaErrorNoKernelImageForDevice = ccudart.cudaError.cudaErrorNoKernelImageForDevice             # <<<<<<<<<<<<<<
 *     cudaErrorAlreadyAcquired = ccudart.cudaError.cudaErrorAlreadyAcquired
 *     cudaErrorNotMapped = ccudart.cudaError.cudaErrorNotMapped
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorNoKernelImageForDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 176, __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, 176, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":177
 *     cudaErrorAlreadyMapped = ccudart.cudaError.cudaErrorAlreadyMapped
 *     cudaErrorNoKernelImageForDevice = ccudart.cudaError.cudaErrorNoKernelImageForDevice
 *     cudaErrorAlreadyAcquired = ccudart.cudaError.cudaErrorAlreadyAcquired             # <<<<<<<<<<<<<<
 *     cudaErrorNotMapped = ccudart.cudaError.cudaErrorNotMapped
 *     cudaErrorNotMappedAsArray = ccudart.cudaError.cudaErrorNotMappedAsArray
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorAlreadyAcquired); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 177, __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, 177, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":178
 *     cudaErrorNoKernelImageForDevice = ccudart.cudaError.cudaErrorNoKernelImageForDevice
 *     cudaErrorAlreadyAcquired = ccudart.cudaError.cudaErrorAlreadyAcquired
 *     cudaErrorNotMapped = ccudart.cudaError.cudaErrorNotMapped             # <<<<<<<<<<<<<<
 *     cudaErrorNotMappedAsArray = ccudart.cudaError.cudaErrorNotMappedAsArray
 *     cudaErrorNotMappedAsPointer = ccudart.cudaError.cudaErrorNotMappedAsPointer
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorNotMapped); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 178, __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, 178, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":179
 *     cudaErrorAlreadyAcquired = ccudart.cudaError.cudaErrorAlreadyAcquired
 *     cudaErrorNotMapped = ccudart.cudaError.cudaErrorNotMapped
 *     cudaErrorNotMappedAsArray = ccudart.cudaError.cudaErrorNotMappedAsArray             # <<<<<<<<<<<<<<
 *     cudaErrorNotMappedAsPointer = ccudart.cudaError.cudaErrorNotMappedAsPointer
 *     cudaErrorECCUncorrectable = ccudart.cudaError.cudaErrorECCUncorrectable
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorNotMappedAsArray); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 179, __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, 179, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":180
 *     cudaErrorNotMapped = ccudart.cudaError.cudaErrorNotMapped
 *     cudaErrorNotMappedAsArray = ccudart.cudaError.cudaErrorNotMappedAsArray
 *     cudaErrorNotMappedAsPointer = ccudart.cudaError.cudaErrorNotMappedAsPointer             # <<<<<<<<<<<<<<
 *     cudaErrorECCUncorrectable = ccudart.cudaError.cudaErrorECCUncorrectable
 *     cudaErrorUnsupportedLimit = ccudart.cudaError.cudaErrorUnsupportedLimit
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorNotMappedAsPointer); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 180, __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, 180, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":181
 *     cudaErrorNotMappedAsArray = ccudart.cudaError.cudaErrorNotMappedAsArray
 *     cudaErrorNotMappedAsPointer = ccudart.cudaError.cudaErrorNotMappedAsPointer
 *     cudaErrorECCUncorrectable = ccudart.cudaError.cudaErrorECCUncorrectable             # <<<<<<<<<<<<<<
 *     cudaErrorUnsupportedLimit = ccudart.cudaError.cudaErrorUnsupportedLimit
 *     cudaErrorDeviceAlreadyInUse = ccudart.cudaError.cudaErrorDeviceAlreadyInUse
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorECCUncorrectable); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 181, __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, 181, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":182
 *     cudaErrorNotMappedAsPointer = ccudart.cudaError.cudaErrorNotMappedAsPointer
 *     cudaErrorECCUncorrectable = ccudart.cudaError.cudaErrorECCUncorrectable
 *     cudaErrorUnsupportedLimit = ccudart.cudaError.cudaErrorUnsupportedLimit             # <<<<<<<<<<<<<<
 *     cudaErrorDeviceAlreadyInUse = ccudart.cudaError.cudaErrorDeviceAlreadyInUse
 *     cudaErrorPeerAccessUnsupported = ccudart.cudaError.cudaErrorPeerAccessUnsupported
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorUnsupportedLimit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 182, __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, 182, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":183
 *     cudaErrorECCUncorrectable = ccudart.cudaError.cudaErrorECCUncorrectable
 *     cudaErrorUnsupportedLimit = ccudart.cudaError.cudaErrorUnsupportedLimit
 *     cudaErrorDeviceAlreadyInUse = ccudart.cudaError.cudaErrorDeviceAlreadyInUse             # <<<<<<<<<<<<<<
 *     cudaErrorPeerAccessUnsupported = ccudart.cudaError.cudaErrorPeerAccessUnsupported
 *     cudaErrorInvalidPtx = ccudart.cudaError.cudaErrorInvalidPtx
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorDeviceAlreadyInUse); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 183, __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, 183, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":184
 *     cudaErrorUnsupportedLimit = ccudart.cudaError.cudaErrorUnsupportedLimit
 *     cudaErrorDeviceAlreadyInUse = ccudart.cudaError.cudaErrorDeviceAlreadyInUse
 *     cudaErrorPeerAccessUnsupported = ccudart.cudaError.cudaErrorPeerAccessUnsupported             # <<<<<<<<<<<<<<
 *     cudaErrorInvalidPtx = ccudart.cudaError.cudaErrorInvalidPtx
 *     cudaErrorInvalidGraphicsContext = ccudart.cudaError.cudaErrorInvalidGraphicsContext
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorPeerAccessUnsupported); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 184, __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, 184, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":185
 *     cudaErrorDeviceAlreadyInUse = ccudart.cudaError.cudaErrorDeviceAlreadyInUse
 *     cudaErrorPeerAccessUnsupported = ccudart.cudaError.cudaErrorPeerAccessUnsupported
 *     cudaErrorInvalidPtx = ccudart.cudaError.cudaErrorInvalidPtx             # <<<<<<<<<<<<<<
 *     cudaErrorInvalidGraphicsContext = ccudart.cudaError.cudaErrorInvalidGraphicsContext
 *     cudaErrorNvlinkUncorrectable = ccudart.cudaError.cudaErrorNvlinkUncorrectable
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorInvalidPtx); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 185, __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, 185, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":186
 *     cudaErrorPeerAccessUnsupported = ccudart.cudaError.cudaErrorPeerAccessUnsupported
 *     cudaErrorInvalidPtx = ccudart.cudaError.cudaErrorInvalidPtx
 *     cudaErrorInvalidGraphicsContext = ccudart.cudaError.cudaErrorInvalidGraphicsContext             # <<<<<<<<<<<<<<
 *     cudaErrorNvlinkUncorrectable = ccudart.cudaError.cudaErrorNvlinkUncorrectable
 *     cudaErrorJitCompilerNotFound = ccudart.cudaError.cudaErrorJitCompilerNotFound
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorInvalidGraphicsContext); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 186, __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, 186, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":187
 *     cudaErrorInvalidPtx = ccudart.cudaError.cudaErrorInvalidPtx
 *     cudaErrorInvalidGraphicsContext = ccudart.cudaError.cudaErrorInvalidGraphicsContext
 *     cudaErrorNvlinkUncorrectable = ccudart.cudaError.cudaErrorNvlinkUncorrectable             # <<<<<<<<<<<<<<
 *     cudaErrorJitCompilerNotFound = ccudart.cudaError.cudaErrorJitCompilerNotFound
 *     cudaErrorUnsupportedPtxVersion = ccudart.cudaError.cudaErrorUnsupportedPtxVersion
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorNvlinkUncorrectable); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 187, __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, 187, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":188
 *     cudaErrorInvalidGraphicsContext = ccudart.cudaError.cudaErrorInvalidGraphicsContext
 *     cudaErrorNvlinkUncorrectable = ccudart.cudaError.cudaErrorNvlinkUncorrectable
 *     cudaErrorJitCompilerNotFound = ccudart.cudaError.cudaErrorJitCompilerNotFound             # <<<<<<<<<<<<<<
 *     cudaErrorUnsupportedPtxVersion = ccudart.cudaError.cudaErrorUnsupportedPtxVersion
 *     cudaErrorJitCompilationDisabled = ccudart.cudaError.cudaErrorJitCompilationDisabled
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorJitCompilerNotFound); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 188, __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, 188, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":189
 *     cudaErrorNvlinkUncorrectable = ccudart.cudaError.cudaErrorNvlinkUncorrectable
 *     cudaErrorJitCompilerNotFound = ccudart.cudaError.cudaErrorJitCompilerNotFound
 *     cudaErrorUnsupportedPtxVersion = ccudart.cudaError.cudaErrorUnsupportedPtxVersion             # <<<<<<<<<<<<<<
 *     cudaErrorJitCompilationDisabled = ccudart.cudaError.cudaErrorJitCompilationDisabled
 *     cudaErrorUnsupportedExecAffinity = ccudart.cudaError.cudaErrorUnsupportedExecAffinity
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorUnsupportedPtxVersion); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 189, __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, 189, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":190
 *     cudaErrorJitCompilerNotFound = ccudart.cudaError.cudaErrorJitCompilerNotFound
 *     cudaErrorUnsupportedPtxVersion = ccudart.cudaError.cudaErrorUnsupportedPtxVersion
 *     cudaErrorJitCompilationDisabled = ccudart.cudaError.cudaErrorJitCompilationDisabled             # <<<<<<<<<<<<<<
 *     cudaErrorUnsupportedExecAffinity = ccudart.cudaError.cudaErrorUnsupportedExecAffinity
 *     cudaErrorInvalidSource = ccudart.cudaError.cudaErrorInvalidSource
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorJitCompilationDisabled); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 190, __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, 190, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":191
 *     cudaErrorUnsupportedPtxVersion = ccudart.cudaError.cudaErrorUnsupportedPtxVersion
 *     cudaErrorJitCompilationDisabled = ccudart.cudaError.cudaErrorJitCompilationDisabled
 *     cudaErrorUnsupportedExecAffinity = ccudart.cudaError.cudaErrorUnsupportedExecAffinity             # <<<<<<<<<<<<<<
 *     cudaErrorInvalidSource = ccudart.cudaError.cudaErrorInvalidSource
 *     cudaErrorFileNotFound = ccudart.cudaError.cudaErrorFileNotFound
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorUnsupportedExecAffinity); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 191, __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, 191, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":192
 *     cudaErrorJitCompilationDisabled = ccudart.cudaError.cudaErrorJitCompilationDisabled
 *     cudaErrorUnsupportedExecAffinity = ccudart.cudaError.cudaErrorUnsupportedExecAffinity
 *     cudaErrorInvalidSource = ccudart.cudaError.cudaErrorInvalidSource             # <<<<<<<<<<<<<<
 *     cudaErrorFileNotFound = ccudart.cudaError.cudaErrorFileNotFound
 *     cudaErrorSharedObjectSymbolNotFound = ccudart.cudaError.cudaErrorSharedObjectSymbolNotFound
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorInvalidSource); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 192, __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, 192, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":193
 *     cudaErrorUnsupportedExecAffinity = ccudart.cudaError.cudaErrorUnsupportedExecAffinity
 *     cudaErrorInvalidSource = ccudart.cudaError.cudaErrorInvalidSource
 *     cudaErrorFileNotFound = ccudart.cudaError.cudaErrorFileNotFound             # <<<<<<<<<<<<<<
 *     cudaErrorSharedObjectSymbolNotFound = ccudart.cudaError.cudaErrorSharedObjectSymbolNotFound
 *     cudaErrorSharedObjectInitFailed = ccudart.cudaError.cudaErrorSharedObjectInitFailed
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorFileNotFound); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 193, __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, 193, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":194
 *     cudaErrorInvalidSource = ccudart.cudaError.cudaErrorInvalidSource
 *     cudaErrorFileNotFound = ccudart.cudaError.cudaErrorFileNotFound
 *     cudaErrorSharedObjectSymbolNotFound = ccudart.cudaError.cudaErrorSharedObjectSymbolNotFound             # <<<<<<<<<<<<<<
 *     cudaErrorSharedObjectInitFailed = ccudart.cudaError.cudaErrorSharedObjectInitFailed
 *     cudaErrorOperatingSystem = ccudart.cudaError.cudaErrorOperatingSystem
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorSharedObjectSymbolNotFound); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 194, __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, 194, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":195
 *     cudaErrorFileNotFound = ccudart.cudaError.cudaErrorFileNotFound
 *     cudaErrorSharedObjectSymbolNotFound = ccudart.cudaError.cudaErrorSharedObjectSymbolNotFound
 *     cudaErrorSharedObjectInitFailed = ccudart.cudaError.cudaErrorSharedObjectInitFailed             # <<<<<<<<<<<<<<
 *     cudaErrorOperatingSystem = ccudart.cudaError.cudaErrorOperatingSystem
 *     cudaErrorInvalidResourceHandle = ccudart.cudaError.cudaErrorInvalidResourceHandle
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorSharedObjectInitFailed); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 195, __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, 195, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":196
 *     cudaErrorSharedObjectSymbolNotFound = ccudart.cudaError.cudaErrorSharedObjectSymbolNotFound
 *     cudaErrorSharedObjectInitFailed = ccudart.cudaError.cudaErrorSharedObjectInitFailed
 *     cudaErrorOperatingSystem = ccudart.cudaError.cudaErrorOperatingSystem             # <<<<<<<<<<<<<<
 *     cudaErrorInvalidResourceHandle = ccudart.cudaError.cudaErrorInvalidResourceHandle
 *     cudaErrorIllegalState = ccudart.cudaError.cudaErrorIllegalState
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorOperatingSystem); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 196, __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, 196, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":197
 *     cudaErrorSharedObjectInitFailed = ccudart.cudaError.cudaErrorSharedObjectInitFailed
 *     cudaErrorOperatingSystem = ccudart.cudaError.cudaErrorOperatingSystem
 *     cudaErrorInvalidResourceHandle = ccudart.cudaError.cudaErrorInvalidResourceHandle             # <<<<<<<<<<<<<<
 *     cudaErrorIllegalState = ccudart.cudaError.cudaErrorIllegalState
 *     cudaErrorSymbolNotFound = ccudart.cudaError.cudaErrorSymbolNotFound
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorInvalidResourceHandle); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 197, __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, 197, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":198
 *     cudaErrorOperatingSystem = ccudart.cudaError.cudaErrorOperatingSystem
 *     cudaErrorInvalidResourceHandle = ccudart.cudaError.cudaErrorInvalidResourceHandle
 *     cudaErrorIllegalState = ccudart.cudaError.cudaErrorIllegalState             # <<<<<<<<<<<<<<
 *     cudaErrorSymbolNotFound = ccudart.cudaError.cudaErrorSymbolNotFound
 *     cudaErrorNotReady = ccudart.cudaError.cudaErrorNotReady
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorIllegalState); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 198, __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, 198, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":199
 *     cudaErrorInvalidResourceHandle = ccudart.cudaError.cudaErrorInvalidResourceHandle
 *     cudaErrorIllegalState = ccudart.cudaError.cudaErrorIllegalState
 *     cudaErrorSymbolNotFound = ccudart.cudaError.cudaErrorSymbolNotFound             # <<<<<<<<<<<<<<
 *     cudaErrorNotReady = ccudart.cudaError.cudaErrorNotReady
 *     cudaErrorIllegalAddress = ccudart.cudaError.cudaErrorIllegalAddress
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorSymbolNotFound); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 199, __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, 199, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":200
 *     cudaErrorIllegalState = ccudart.cudaError.cudaErrorIllegalState
 *     cudaErrorSymbolNotFound = ccudart.cudaError.cudaErrorSymbolNotFound
 *     cudaErrorNotReady = ccudart.cudaError.cudaErrorNotReady             # <<<<<<<<<<<<<<
 *     cudaErrorIllegalAddress = ccudart.cudaError.cudaErrorIllegalAddress
 *     cudaErrorLaunchOutOfResources = ccudart.cudaError.cudaErrorLaunchOutOfResources
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorNotReady); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 200, __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, 200, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":201
 *     cudaErrorSymbolNotFound = ccudart.cudaError.cudaErrorSymbolNotFound
 *     cudaErrorNotReady = ccudart.cudaError.cudaErrorNotReady
 *     cudaErrorIllegalAddress = ccudart.cudaError.cudaErrorIllegalAddress             # <<<<<<<<<<<<<<
 *     cudaErrorLaunchOutOfResources = ccudart.cudaError.cudaErrorLaunchOutOfResources
 *     cudaErrorLaunchTimeout = ccudart.cudaError.cudaErrorLaunchTimeout
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorIllegalAddress); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 201, __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, 201, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":202
 *     cudaErrorNotReady = ccudart.cudaError.cudaErrorNotReady
 *     cudaErrorIllegalAddress = ccudart.cudaError.cudaErrorIllegalAddress
 *     cudaErrorLaunchOutOfResources = ccudart.cudaError.cudaErrorLaunchOutOfResources             # <<<<<<<<<<<<<<
 *     cudaErrorLaunchTimeout = ccudart.cudaError.cudaErrorLaunchTimeout
 *     cudaErrorLaunchIncompatibleTexturing = ccudart.cudaError.cudaErrorLaunchIncompatibleTexturing
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorLaunchOutOfResources); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 202, __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, 202, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":203
 *     cudaErrorIllegalAddress = ccudart.cudaError.cudaErrorIllegalAddress
 *     cudaErrorLaunchOutOfResources = ccudart.cudaError.cudaErrorLaunchOutOfResources
 *     cudaErrorLaunchTimeout = ccudart.cudaError.cudaErrorLaunchTimeout             # <<<<<<<<<<<<<<
 *     cudaErrorLaunchIncompatibleTexturing = ccudart.cudaError.cudaErrorLaunchIncompatibleTexturing
 *     cudaErrorPeerAccessAlreadyEnabled = ccudart.cudaError.cudaErrorPeerAccessAlreadyEnabled
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorLaunchTimeout); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 203, __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, 203, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":204
 *     cudaErrorLaunchOutOfResources = ccudart.cudaError.cudaErrorLaunchOutOfResources
 *     cudaErrorLaunchTimeout = ccudart.cudaError.cudaErrorLaunchTimeout
 *     cudaErrorLaunchIncompatibleTexturing = ccudart.cudaError.cudaErrorLaunchIncompatibleTexturing             # <<<<<<<<<<<<<<
 *     cudaErrorPeerAccessAlreadyEnabled = ccudart.cudaError.cudaErrorPeerAccessAlreadyEnabled
 *     cudaErrorPeerAccessNotEnabled = ccudart.cudaError.cudaErrorPeerAccessNotEnabled
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorLaunchIncompatibleTexturing); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 204, __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, 204, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":205
 *     cudaErrorLaunchTimeout = ccudart.cudaError.cudaErrorLaunchTimeout
 *     cudaErrorLaunchIncompatibleTexturing = ccudart.cudaError.cudaErrorLaunchIncompatibleTexturing
 *     cudaErrorPeerAccessAlreadyEnabled = ccudart.cudaError.cudaErrorPeerAccessAlreadyEnabled             # <<<<<<<<<<<<<<
 *     cudaErrorPeerAccessNotEnabled = ccudart.cudaError.cudaErrorPeerAccessNotEnabled
 *     cudaErrorSetOnActiveProcess = ccudart.cudaError.cudaErrorSetOnActiveProcess
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorPeerAccessAlreadyEnabled); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 205, __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, 205, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":206
 *     cudaErrorLaunchIncompatibleTexturing = ccudart.cudaError.cudaErrorLaunchIncompatibleTexturing
 *     cudaErrorPeerAccessAlreadyEnabled = ccudart.cudaError.cudaErrorPeerAccessAlreadyEnabled
 *     cudaErrorPeerAccessNotEnabled = ccudart.cudaError.cudaErrorPeerAccessNotEnabled             # <<<<<<<<<<<<<<
 *     cudaErrorSetOnActiveProcess = ccudart.cudaError.cudaErrorSetOnActiveProcess
 *     cudaErrorContextIsDestroyed = ccudart.cudaError.cudaErrorContextIsDestroyed
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorPeerAccessNotEnabled); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 206, __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, 206, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":207
 *     cudaErrorPeerAccessAlreadyEnabled = ccudart.cudaError.cudaErrorPeerAccessAlreadyEnabled
 *     cudaErrorPeerAccessNotEnabled = ccudart.cudaError.cudaErrorPeerAccessNotEnabled
 *     cudaErrorSetOnActiveProcess = ccudart.cudaError.cudaErrorSetOnActiveProcess             # <<<<<<<<<<<<<<
 *     cudaErrorContextIsDestroyed = ccudart.cudaError.cudaErrorContextIsDestroyed
 *     cudaErrorAssert = ccudart.cudaError.cudaErrorAssert
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorSetOnActiveProcess); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 207, __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, 207, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":208
 *     cudaErrorPeerAccessNotEnabled = ccudart.cudaError.cudaErrorPeerAccessNotEnabled
 *     cudaErrorSetOnActiveProcess = ccudart.cudaError.cudaErrorSetOnActiveProcess
 *     cudaErrorContextIsDestroyed = ccudart.cudaError.cudaErrorContextIsDestroyed             # <<<<<<<<<<<<<<
 *     cudaErrorAssert = ccudart.cudaError.cudaErrorAssert
 *     cudaErrorTooManyPeers = ccudart.cudaError.cudaErrorTooManyPeers
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorContextIsDestroyed); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 208, __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, 208, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":209
 *     cudaErrorSetOnActiveProcess = ccudart.cudaError.cudaErrorSetOnActiveProcess
 *     cudaErrorContextIsDestroyed = ccudart.cudaError.cudaErrorContextIsDestroyed
 *     cudaErrorAssert = ccudart.cudaError.cudaErrorAssert             # <<<<<<<<<<<<<<
 *     cudaErrorTooManyPeers = ccudart.cudaError.cudaErrorTooManyPeers
 *     cudaErrorHostMemoryAlreadyRegistered = ccudart.cudaError.cudaErrorHostMemoryAlreadyRegistered
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorAssert); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 209, __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, 209, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":210
 *     cudaErrorContextIsDestroyed = ccudart.cudaError.cudaErrorContextIsDestroyed
 *     cudaErrorAssert = ccudart.cudaError.cudaErrorAssert
 *     cudaErrorTooManyPeers = ccudart.cudaError.cudaErrorTooManyPeers             # <<<<<<<<<<<<<<
 *     cudaErrorHostMemoryAlreadyRegistered = ccudart.cudaError.cudaErrorHostMemoryAlreadyRegistered
 *     cudaErrorHostMemoryNotRegistered = ccudart.cudaError.cudaErrorHostMemoryNotRegistered
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorTooManyPeers); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 210, __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, 210, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":211
 *     cudaErrorAssert = ccudart.cudaError.cudaErrorAssert
 *     cudaErrorTooManyPeers = ccudart.cudaError.cudaErrorTooManyPeers
 *     cudaErrorHostMemoryAlreadyRegistered = ccudart.cudaError.cudaErrorHostMemoryAlreadyRegistered             # <<<<<<<<<<<<<<
 *     cudaErrorHostMemoryNotRegistered = ccudart.cudaError.cudaErrorHostMemoryNotRegistered
 *     cudaErrorHardwareStackError = ccudart.cudaError.cudaErrorHardwareStackError
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorHostMemoryAlreadyRegistered); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 211, __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, 211, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":212
 *     cudaErrorTooManyPeers = ccudart.cudaError.cudaErrorTooManyPeers
 *     cudaErrorHostMemoryAlreadyRegistered = ccudart.cudaError.cudaErrorHostMemoryAlreadyRegistered
 *     cudaErrorHostMemoryNotRegistered = ccudart.cudaError.cudaErrorHostMemoryNotRegistered             # <<<<<<<<<<<<<<
 *     cudaErrorHardwareStackError = ccudart.cudaError.cudaErrorHardwareStackError
 *     cudaErrorIllegalInstruction = ccudart.cudaError.cudaErrorIllegalInstruction
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorHostMemoryNotRegistered); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 212, __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, 212, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":213
 *     cudaErrorHostMemoryAlreadyRegistered = ccudart.cudaError.cudaErrorHostMemoryAlreadyRegistered
 *     cudaErrorHostMemoryNotRegistered = ccudart.cudaError.cudaErrorHostMemoryNotRegistered
 *     cudaErrorHardwareStackError = ccudart.cudaError.cudaErrorHardwareStackError             # <<<<<<<<<<<<<<
 *     cudaErrorIllegalInstruction = ccudart.cudaError.cudaErrorIllegalInstruction
 *     cudaErrorMisalignedAddress = ccudart.cudaError.cudaErrorMisalignedAddress
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorHardwareStackError); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 213, __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, 213, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":214
 *     cudaErrorHostMemoryNotRegistered = ccudart.cudaError.cudaErrorHostMemoryNotRegistered
 *     cudaErrorHardwareStackError = ccudart.cudaError.cudaErrorHardwareStackError
 *     cudaErrorIllegalInstruction = ccudart.cudaError.cudaErrorIllegalInstruction             # <<<<<<<<<<<<<<
 *     cudaErrorMisalignedAddress = ccudart.cudaError.cudaErrorMisalignedAddress
 *     cudaErrorInvalidAddressSpace = ccudart.cudaError.cudaErrorInvalidAddressSpace
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorIllegalInstruction); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 214, __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, 214, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":215
 *     cudaErrorHardwareStackError = ccudart.cudaError.cudaErrorHardwareStackError
 *     cudaErrorIllegalInstruction = ccudart.cudaError.cudaErrorIllegalInstruction
 *     cudaErrorMisalignedAddress = ccudart.cudaError.cudaErrorMisalignedAddress             # <<<<<<<<<<<<<<
 *     cudaErrorInvalidAddressSpace = ccudart.cudaError.cudaErrorInvalidAddressSpace
 *     cudaErrorInvalidPc = ccudart.cudaError.cudaErrorInvalidPc
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorMisalignedAddress); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 215, __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, 215, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":216
 *     cudaErrorIllegalInstruction = ccudart.cudaError.cudaErrorIllegalInstruction
 *     cudaErrorMisalignedAddress = ccudart.cudaError.cudaErrorMisalignedAddress
 *     cudaErrorInvalidAddressSpace = ccudart.cudaError.cudaErrorInvalidAddressSpace             # <<<<<<<<<<<<<<
 *     cudaErrorInvalidPc = ccudart.cudaError.cudaErrorInvalidPc
 *     cudaErrorLaunchFailure = ccudart.cudaError.cudaErrorLaunchFailure
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorInvalidAddressSpace); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 216, __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, 216, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":217
 *     cudaErrorMisalignedAddress = ccudart.cudaError.cudaErrorMisalignedAddress
 *     cudaErrorInvalidAddressSpace = ccudart.cudaError.cudaErrorInvalidAddressSpace
 *     cudaErrorInvalidPc = ccudart.cudaError.cudaErrorInvalidPc             # <<<<<<<<<<<<<<
 *     cudaErrorLaunchFailure = ccudart.cudaError.cudaErrorLaunchFailure
 *     cudaErrorCooperativeLaunchTooLarge = ccudart.cudaError.cudaErrorCooperativeLaunchTooLarge
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorInvalidPc); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 217, __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, 217, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":218
 *     cudaErrorInvalidAddressSpace = ccudart.cudaError.cudaErrorInvalidAddressSpace
 *     cudaErrorInvalidPc = ccudart.cudaError.cudaErrorInvalidPc
 *     cudaErrorLaunchFailure = ccudart.cudaError.cudaErrorLaunchFailure             # <<<<<<<<<<<<<<
 *     cudaErrorCooperativeLaunchTooLarge = ccudart.cudaError.cudaErrorCooperativeLaunchTooLarge
 *     cudaErrorNotPermitted = ccudart.cudaError.cudaErrorNotPermitted
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorLaunchFailure); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 218, __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, 218, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":219
 *     cudaErrorInvalidPc = ccudart.cudaError.cudaErrorInvalidPc
 *     cudaErrorLaunchFailure = ccudart.cudaError.cudaErrorLaunchFailure
 *     cudaErrorCooperativeLaunchTooLarge = ccudart.cudaError.cudaErrorCooperativeLaunchTooLarge             # <<<<<<<<<<<<<<
 *     cudaErrorNotPermitted = ccudart.cudaError.cudaErrorNotPermitted
 *     cudaErrorNotSupported = ccudart.cudaError.cudaErrorNotSupported
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorCooperativeLaunchTooLarge); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 219, __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, 219, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":220
 *     cudaErrorLaunchFailure = ccudart.cudaError.cudaErrorLaunchFailure
 *     cudaErrorCooperativeLaunchTooLarge = ccudart.cudaError.cudaErrorCooperativeLaunchTooLarge
 *     cudaErrorNotPermitted = ccudart.cudaError.cudaErrorNotPermitted             # <<<<<<<<<<<<<<
 *     cudaErrorNotSupported = ccudart.cudaError.cudaErrorNotSupported
 *     cudaErrorSystemNotReady = ccudart.cudaError.cudaErrorSystemNotReady
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorNotPermitted); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 220, __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, 220, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":221
 *     cudaErrorCooperativeLaunchTooLarge = ccudart.cudaError.cudaErrorCooperativeLaunchTooLarge
 *     cudaErrorNotPermitted = ccudart.cudaError.cudaErrorNotPermitted
 *     cudaErrorNotSupported = ccudart.cudaError.cudaErrorNotSupported             # <<<<<<<<<<<<<<
 *     cudaErrorSystemNotReady = ccudart.cudaError.cudaErrorSystemNotReady
 *     cudaErrorSystemDriverMismatch = ccudart.cudaError.cudaErrorSystemDriverMismatch
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorNotSupported); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 221, __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, 221, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":222
 *     cudaErrorNotPermitted = ccudart.cudaError.cudaErrorNotPermitted
 *     cudaErrorNotSupported = ccudart.cudaError.cudaErrorNotSupported
 *     cudaErrorSystemNotReady = ccudart.cudaError.cudaErrorSystemNotReady             # <<<<<<<<<<<<<<
 *     cudaErrorSystemDriverMismatch = ccudart.cudaError.cudaErrorSystemDriverMismatch
 *     cudaErrorCompatNotSupportedOnDevice = ccudart.cudaError.cudaErrorCompatNotSupportedOnDevice
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorSystemNotReady); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 222, __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, 222, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":223
 *     cudaErrorNotSupported = ccudart.cudaError.cudaErrorNotSupported
 *     cudaErrorSystemNotReady = ccudart.cudaError.cudaErrorSystemNotReady
 *     cudaErrorSystemDriverMismatch = ccudart.cudaError.cudaErrorSystemDriverMismatch             # <<<<<<<<<<<<<<
 *     cudaErrorCompatNotSupportedOnDevice = ccudart.cudaError.cudaErrorCompatNotSupportedOnDevice
 *     cudaErrorMpsConnectionFailed = ccudart.cudaError.cudaErrorMpsConnectionFailed
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorSystemDriverMismatch); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 223, __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, 223, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":224
 *     cudaErrorSystemNotReady = ccudart.cudaError.cudaErrorSystemNotReady
 *     cudaErrorSystemDriverMismatch = ccudart.cudaError.cudaErrorSystemDriverMismatch
 *     cudaErrorCompatNotSupportedOnDevice = ccudart.cudaError.cudaErrorCompatNotSupportedOnDevice             # <<<<<<<<<<<<<<
 *     cudaErrorMpsConnectionFailed = ccudart.cudaError.cudaErrorMpsConnectionFailed
 *     cudaErrorMpsRpcFailure = ccudart.cudaError.cudaErrorMpsRpcFailure
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorCompatNotSupportedOnDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 224, __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, 224, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":225
 *     cudaErrorSystemDriverMismatch = ccudart.cudaError.cudaErrorSystemDriverMismatch
 *     cudaErrorCompatNotSupportedOnDevice = ccudart.cudaError.cudaErrorCompatNotSupportedOnDevice
 *     cudaErrorMpsConnectionFailed = ccudart.cudaError.cudaErrorMpsConnectionFailed             # <<<<<<<<<<<<<<
 *     cudaErrorMpsRpcFailure = ccudart.cudaError.cudaErrorMpsRpcFailure
 *     cudaErrorMpsServerNotReady = ccudart.cudaError.cudaErrorMpsServerNotReady
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorMpsConnectionFailed); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 225, __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, 225, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":226
 *     cudaErrorCompatNotSupportedOnDevice = ccudart.cudaError.cudaErrorCompatNotSupportedOnDevice
 *     cudaErrorMpsConnectionFailed = ccudart.cudaError.cudaErrorMpsConnectionFailed
 *     cudaErrorMpsRpcFailure = ccudart.cudaError.cudaErrorMpsRpcFailure             # <<<<<<<<<<<<<<
 *     cudaErrorMpsServerNotReady = ccudart.cudaError.cudaErrorMpsServerNotReady
 *     cudaErrorMpsMaxClientsReached = ccudart.cudaError.cudaErrorMpsMaxClientsReached
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorMpsRpcFailure); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 226, __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, 226, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":227
 *     cudaErrorMpsConnectionFailed = ccudart.cudaError.cudaErrorMpsConnectionFailed
 *     cudaErrorMpsRpcFailure = ccudart.cudaError.cudaErrorMpsRpcFailure
 *     cudaErrorMpsServerNotReady = ccudart.cudaError.cudaErrorMpsServerNotReady             # <<<<<<<<<<<<<<
 *     cudaErrorMpsMaxClientsReached = ccudart.cudaError.cudaErrorMpsMaxClientsReached
 *     cudaErrorMpsMaxConnectionsReached = ccudart.cudaError.cudaErrorMpsMaxConnectionsReached
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorMpsServerNotReady); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 227, __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, 227, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":228
 *     cudaErrorMpsRpcFailure = ccudart.cudaError.cudaErrorMpsRpcFailure
 *     cudaErrorMpsServerNotReady = ccudart.cudaError.cudaErrorMpsServerNotReady
 *     cudaErrorMpsMaxClientsReached = ccudart.cudaError.cudaErrorMpsMaxClientsReached             # <<<<<<<<<<<<<<
 *     cudaErrorMpsMaxConnectionsReached = ccudart.cudaError.cudaErrorMpsMaxConnectionsReached
 *     cudaErrorStreamCaptureUnsupported = ccudart.cudaError.cudaErrorStreamCaptureUnsupported
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorMpsMaxClientsReached); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 228, __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, 228, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":229
 *     cudaErrorMpsServerNotReady = ccudart.cudaError.cudaErrorMpsServerNotReady
 *     cudaErrorMpsMaxClientsReached = ccudart.cudaError.cudaErrorMpsMaxClientsReached
 *     cudaErrorMpsMaxConnectionsReached = ccudart.cudaError.cudaErrorMpsMaxConnectionsReached             # <<<<<<<<<<<<<<
 *     cudaErrorStreamCaptureUnsupported = ccudart.cudaError.cudaErrorStreamCaptureUnsupported
 *     cudaErrorStreamCaptureInvalidated = ccudart.cudaError.cudaErrorStreamCaptureInvalidated
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorMpsMaxConnectionsReached); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 229, __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, 229, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":230
 *     cudaErrorMpsMaxClientsReached = ccudart.cudaError.cudaErrorMpsMaxClientsReached
 *     cudaErrorMpsMaxConnectionsReached = ccudart.cudaError.cudaErrorMpsMaxConnectionsReached
 *     cudaErrorStreamCaptureUnsupported = ccudart.cudaError.cudaErrorStreamCaptureUnsupported             # <<<<<<<<<<<<<<
 *     cudaErrorStreamCaptureInvalidated = ccudart.cudaError.cudaErrorStreamCaptureInvalidated
 *     cudaErrorStreamCaptureMerge = ccudart.cudaError.cudaErrorStreamCaptureMerge
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorStreamCaptureUnsupported); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 230, __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, 230, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":231
 *     cudaErrorMpsMaxConnectionsReached = ccudart.cudaError.cudaErrorMpsMaxConnectionsReached
 *     cudaErrorStreamCaptureUnsupported = ccudart.cudaError.cudaErrorStreamCaptureUnsupported
 *     cudaErrorStreamCaptureInvalidated = ccudart.cudaError.cudaErrorStreamCaptureInvalidated             # <<<<<<<<<<<<<<
 *     cudaErrorStreamCaptureMerge = ccudart.cudaError.cudaErrorStreamCaptureMerge
 *     cudaErrorStreamCaptureUnmatched = ccudart.cudaError.cudaErrorStreamCaptureUnmatched
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorStreamCaptureInvalidated); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 231, __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, 231, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":232
 *     cudaErrorStreamCaptureUnsupported = ccudart.cudaError.cudaErrorStreamCaptureUnsupported
 *     cudaErrorStreamCaptureInvalidated = ccudart.cudaError.cudaErrorStreamCaptureInvalidated
 *     cudaErrorStreamCaptureMerge = ccudart.cudaError.cudaErrorStreamCaptureMerge             # <<<<<<<<<<<<<<
 *     cudaErrorStreamCaptureUnmatched = ccudart.cudaError.cudaErrorStreamCaptureUnmatched
 *     cudaErrorStreamCaptureUnjoined = ccudart.cudaError.cudaErrorStreamCaptureUnjoined
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorStreamCaptureMerge); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 232, __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, 232, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":233
 *     cudaErrorStreamCaptureInvalidated = ccudart.cudaError.cudaErrorStreamCaptureInvalidated
 *     cudaErrorStreamCaptureMerge = ccudart.cudaError.cudaErrorStreamCaptureMerge
 *     cudaErrorStreamCaptureUnmatched = ccudart.cudaError.cudaErrorStreamCaptureUnmatched             # <<<<<<<<<<<<<<
 *     cudaErrorStreamCaptureUnjoined = ccudart.cudaError.cudaErrorStreamCaptureUnjoined
 *     cudaErrorStreamCaptureIsolation = ccudart.cudaError.cudaErrorStreamCaptureIsolation
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorStreamCaptureUnmatched); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 233, __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, 233, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":234
 *     cudaErrorStreamCaptureMerge = ccudart.cudaError.cudaErrorStreamCaptureMerge
 *     cudaErrorStreamCaptureUnmatched = ccudart.cudaError.cudaErrorStreamCaptureUnmatched
 *     cudaErrorStreamCaptureUnjoined = ccudart.cudaError.cudaErrorStreamCaptureUnjoined             # <<<<<<<<<<<<<<
 *     cudaErrorStreamCaptureIsolation = ccudart.cudaError.cudaErrorStreamCaptureIsolation
 *     cudaErrorStreamCaptureImplicit = ccudart.cudaError.cudaErrorStreamCaptureImplicit
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorStreamCaptureUnjoined); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 234, __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, 234, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":235
 *     cudaErrorStreamCaptureUnmatched = ccudart.cudaError.cudaErrorStreamCaptureUnmatched
 *     cudaErrorStreamCaptureUnjoined = ccudart.cudaError.cudaErrorStreamCaptureUnjoined
 *     cudaErrorStreamCaptureIsolation = ccudart.cudaError.cudaErrorStreamCaptureIsolation             # <<<<<<<<<<<<<<
 *     cudaErrorStreamCaptureImplicit = ccudart.cudaError.cudaErrorStreamCaptureImplicit
 *     cudaErrorCapturedEvent = ccudart.cudaError.cudaErrorCapturedEvent
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorStreamCaptureIsolation); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 235, __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, 235, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":236
 *     cudaErrorStreamCaptureUnjoined = ccudart.cudaError.cudaErrorStreamCaptureUnjoined
 *     cudaErrorStreamCaptureIsolation = ccudart.cudaError.cudaErrorStreamCaptureIsolation
 *     cudaErrorStreamCaptureImplicit = ccudart.cudaError.cudaErrorStreamCaptureImplicit             # <<<<<<<<<<<<<<
 *     cudaErrorCapturedEvent = ccudart.cudaError.cudaErrorCapturedEvent
 *     cudaErrorStreamCaptureWrongThread = ccudart.cudaError.cudaErrorStreamCaptureWrongThread
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorStreamCaptureImplicit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 236, __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, 236, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":237
 *     cudaErrorStreamCaptureIsolation = ccudart.cudaError.cudaErrorStreamCaptureIsolation
 *     cudaErrorStreamCaptureImplicit = ccudart.cudaError.cudaErrorStreamCaptureImplicit
 *     cudaErrorCapturedEvent = ccudart.cudaError.cudaErrorCapturedEvent             # <<<<<<<<<<<<<<
 *     cudaErrorStreamCaptureWrongThread = ccudart.cudaError.cudaErrorStreamCaptureWrongThread
 *     cudaErrorTimeout = ccudart.cudaError.cudaErrorTimeout
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorCapturedEvent); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 237, __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, 237, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":238
 *     cudaErrorStreamCaptureImplicit = ccudart.cudaError.cudaErrorStreamCaptureImplicit
 *     cudaErrorCapturedEvent = ccudart.cudaError.cudaErrorCapturedEvent
 *     cudaErrorStreamCaptureWrongThread = ccudart.cudaError.cudaErrorStreamCaptureWrongThread             # <<<<<<<<<<<<<<
 *     cudaErrorTimeout = ccudart.cudaError.cudaErrorTimeout
 *     cudaErrorGraphExecUpdateFailure = ccudart.cudaError.cudaErrorGraphExecUpdateFailure
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorStreamCaptureWrongThread); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 238, __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, 238, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":239
 *     cudaErrorCapturedEvent = ccudart.cudaError.cudaErrorCapturedEvent
 *     cudaErrorStreamCaptureWrongThread = ccudart.cudaError.cudaErrorStreamCaptureWrongThread
 *     cudaErrorTimeout = ccudart.cudaError.cudaErrorTimeout             # <<<<<<<<<<<<<<
 *     cudaErrorGraphExecUpdateFailure = ccudart.cudaError.cudaErrorGraphExecUpdateFailure
 *     cudaErrorExternalDevice = ccudart.cudaError.cudaErrorExternalDevice
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorTimeout); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 239, __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, 239, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":240
 *     cudaErrorStreamCaptureWrongThread = ccudart.cudaError.cudaErrorStreamCaptureWrongThread
 *     cudaErrorTimeout = ccudart.cudaError.cudaErrorTimeout
 *     cudaErrorGraphExecUpdateFailure = ccudart.cudaError.cudaErrorGraphExecUpdateFailure             # <<<<<<<<<<<<<<
 *     cudaErrorExternalDevice = ccudart.cudaError.cudaErrorExternalDevice
 *     cudaErrorUnknown = ccudart.cudaError.cudaErrorUnknown
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorGraphExecUpdateFailure); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 240, __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, 240, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":241
 *     cudaErrorTimeout = ccudart.cudaError.cudaErrorTimeout
 *     cudaErrorGraphExecUpdateFailure = ccudart.cudaError.cudaErrorGraphExecUpdateFailure
 *     cudaErrorExternalDevice = ccudart.cudaError.cudaErrorExternalDevice             # <<<<<<<<<<<<<<
 *     cudaErrorUnknown = ccudart.cudaError.cudaErrorUnknown
 *     cudaErrorApiFailureBase = ccudart.cudaError.cudaErrorApiFailureBase
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorExternalDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 241, __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, 241, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":242
 *     cudaErrorGraphExecUpdateFailure = ccudart.cudaError.cudaErrorGraphExecUpdateFailure
 *     cudaErrorExternalDevice = ccudart.cudaError.cudaErrorExternalDevice
 *     cudaErrorUnknown = ccudart.cudaError.cudaErrorUnknown             # <<<<<<<<<<<<<<
 *     cudaErrorApiFailureBase = ccudart.cudaError.cudaErrorApiFailureBase
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorUnknown); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 242, __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, 242, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":243
 *     cudaErrorExternalDevice = ccudart.cudaError.cudaErrorExternalDevice
 *     cudaErrorUnknown = ccudart.cudaError.cudaErrorUnknown
 *     cudaErrorApiFailureBase = ccudart.cudaError.cudaErrorApiFailureBase             # <<<<<<<<<<<<<<
 * 
 * class cudaChannelFormatKind(Enum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(__pyx_e_4cuda_7ccudart_cudaErrorApiFailureBase); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 243, __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, 243, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":120
 *     cudaRoundMinInf = ccudart.cudaRoundMode.cudaRoundMinInf
 * 
 * class cudaError_t(Enum):             # <<<<<<<<<<<<<<
 *     cudaSuccess = ccudart.cudaError.cudaSuccess
 *     cudaErrorInvalidValue = ccudart.cudaError.cudaErrorInvalidValue
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_cudaError_t, __pyx_t_1, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 120, __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, 120, __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":245
 *     cudaErrorApiFailureBase = ccudart.cudaError.cudaErrorApiFailureBase
 * 
 * class cudaChannelFormatKind(Enum):             # <<<<<<<<<<<<<<
 *     cudaChannelFormatKindSigned = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSigned
 *     cudaChannelFormatKindUnsigned = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsigned
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Enum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 245, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 245, __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, 245, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_2, __pyx_n_s_cudaChannelFormatKind, __pyx_n_s_cudaChannelFormatKind, (PyObject *) NULL, __pyx_n_s_cuda_cudart, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 245, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":246
 * 
 * class cudaChannelFormatKind(Enum):
 *     cudaChannelFormatKindSigned = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSigned             # <<<<<<<<<<<<<<
 *     cudaChannelFormatKindUnsigned = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsigned
 *     cudaChannelFormatKindFloat = ccudart.cudaChannelFormatKind.cudaChannelFormatKindFloat
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaChannelFormatKind(__pyx_e_4cuda_7ccudart_cudaChannelFormatKindSigned); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 246, __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, 246, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":247
 * class cudaChannelFormatKind(Enum):
 *     cudaChannelFormatKindSigned = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSigned
 *     cudaChannelFormatKindUnsigned = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsigned             # <<<<<<<<<<<<<<
 *     cudaChannelFormatKindFloat = ccudart.cudaChannelFormatKind.cudaChannelFormatKindFloat
 *     cudaChannelFormatKindNone = ccudart.cudaChannelFormatKind.cudaChannelFormatKindNone
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaChannelFormatKind(__pyx_e_4cuda_7ccudart_cudaChannelFormatKindUnsigned); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 247, __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, 247, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":248
 *     cudaChannelFormatKindSigned = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSigned
 *     cudaChannelFormatKindUnsigned = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsigned
 *     cudaChannelFormatKindFloat = ccudart.cudaChannelFormatKind.cudaChannelFormatKindFloat             # <<<<<<<<<<<<<<
 *     cudaChannelFormatKindNone = ccudart.cudaChannelFormatKind.cudaChannelFormatKindNone
 *     cudaChannelFormatKindNV12 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindNV12
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaChannelFormatKind(__pyx_e_4cuda_7ccudart_cudaChannelFormatKindFloat); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 248, __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, 248, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":249
 *     cudaChannelFormatKindUnsigned = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsigned
 *     cudaChannelFormatKindFloat = ccudart.cudaChannelFormatKind.cudaChannelFormatKindFloat
 *     cudaChannelFormatKindNone = ccudart.cudaChannelFormatKind.cudaChannelFormatKindNone             # <<<<<<<<<<<<<<
 *     cudaChannelFormatKindNV12 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindNV12
 *     cudaChannelFormatKindUnsignedNormalized8X1 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedNormalized8X1
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaChannelFormatKind(__pyx_e_4cuda_7ccudart_cudaChannelFormatKindNone); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 249, __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, 249, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":250
 *     cudaChannelFormatKindFloat = ccudart.cudaChannelFormatKind.cudaChannelFormatKindFloat
 *     cudaChannelFormatKindNone = ccudart.cudaChannelFormatKind.cudaChannelFormatKindNone
 *     cudaChannelFormatKindNV12 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindNV12             # <<<<<<<<<<<<<<
 *     cudaChannelFormatKindUnsignedNormalized8X1 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedNormalized8X1
 *     cudaChannelFormatKindUnsignedNormalized8X2 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedNormalized8X2
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaChannelFormatKind(__pyx_e_4cuda_7ccudart_cudaChannelFormatKindNV12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 250, __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, 250, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":251
 *     cudaChannelFormatKindNone = ccudart.cudaChannelFormatKind.cudaChannelFormatKindNone
 *     cudaChannelFormatKindNV12 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindNV12
 *     cudaChannelFormatKindUnsignedNormalized8X1 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedNormalized8X1             # <<<<<<<<<<<<<<
 *     cudaChannelFormatKindUnsignedNormalized8X2 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedNormalized8X2
 *     cudaChannelFormatKindUnsignedNormalized8X4 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedNormalized8X4
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaChannelFormatKind(__pyx_e_4cuda_7ccudart_cudaChannelFormatKindUnsignedNormalized8X1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 251, __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, 251, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":252
 *     cudaChannelFormatKindNV12 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindNV12
 *     cudaChannelFormatKindUnsignedNormalized8X1 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedNormalized8X1
 *     cudaChannelFormatKindUnsignedNormalized8X2 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedNormalized8X2             # <<<<<<<<<<<<<<
 *     cudaChannelFormatKindUnsignedNormalized8X4 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedNormalized8X4
 *     cudaChannelFormatKindUnsignedNormalized16X1 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedNormalized16X1
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaChannelFormatKind(__pyx_e_4cuda_7ccudart_cudaChannelFormatKindUnsignedNormalized8X2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 252, __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, 252, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":253
 *     cudaChannelFormatKindUnsignedNormalized8X1 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedNormalized8X1
 *     cudaChannelFormatKindUnsignedNormalized8X2 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedNormalized8X2
 *     cudaChannelFormatKindUnsignedNormalized8X4 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedNormalized8X4             # <<<<<<<<<<<<<<
 *     cudaChannelFormatKindUnsignedNormalized16X1 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedNormalized16X1
 *     cudaChannelFormatKindUnsignedNormalized16X2 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedNormalized16X2
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaChannelFormatKind(__pyx_e_4cuda_7ccudart_cudaChannelFormatKindUnsignedNormalized8X4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 253, __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, 253, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":254
 *     cudaChannelFormatKindUnsignedNormalized8X2 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedNormalized8X2
 *     cudaChannelFormatKindUnsignedNormalized8X4 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedNormalized8X4
 *     cudaChannelFormatKindUnsignedNormalized16X1 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedNormalized16X1             # <<<<<<<<<<<<<<
 *     cudaChannelFormatKindUnsignedNormalized16X2 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedNormalized16X2
 *     cudaChannelFormatKindUnsignedNormalized16X4 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedNormalized16X4
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaChannelFormatKind(__pyx_e_4cuda_7ccudart_cudaChannelFormatKindUnsignedNormalized16X1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 254, __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, 254, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":255
 *     cudaChannelFormatKindUnsignedNormalized8X4 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedNormalized8X4
 *     cudaChannelFormatKindUnsignedNormalized16X1 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedNormalized16X1
 *     cudaChannelFormatKindUnsignedNormalized16X2 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedNormalized16X2             # <<<<<<<<<<<<<<
 *     cudaChannelFormatKindUnsignedNormalized16X4 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedNormalized16X4
 *     cudaChannelFormatKindSignedNormalized8X1 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSignedNormalized8X1
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaChannelFormatKind(__pyx_e_4cuda_7ccudart_cudaChannelFormatKindUnsignedNormalized16X2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 255, __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, 255, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":256
 *     cudaChannelFormatKindUnsignedNormalized16X1 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedNormalized16X1
 *     cudaChannelFormatKindUnsignedNormalized16X2 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedNormalized16X2
 *     cudaChannelFormatKindUnsignedNormalized16X4 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedNormalized16X4             # <<<<<<<<<<<<<<
 *     cudaChannelFormatKindSignedNormalized8X1 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSignedNormalized8X1
 *     cudaChannelFormatKindSignedNormalized8X2 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSignedNormalized8X2
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaChannelFormatKind(__pyx_e_4cuda_7ccudart_cudaChannelFormatKindUnsignedNormalized16X4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 256, __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, 256, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":257
 *     cudaChannelFormatKindUnsignedNormalized16X2 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedNormalized16X2
 *     cudaChannelFormatKindUnsignedNormalized16X4 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedNormalized16X4
 *     cudaChannelFormatKindSignedNormalized8X1 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSignedNormalized8X1             # <<<<<<<<<<<<<<
 *     cudaChannelFormatKindSignedNormalized8X2 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSignedNormalized8X2
 *     cudaChannelFormatKindSignedNormalized8X4 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSignedNormalized8X4
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaChannelFormatKind(__pyx_e_4cuda_7ccudart_cudaChannelFormatKindSignedNormalized8X1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 257, __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, 257, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":258
 *     cudaChannelFormatKindUnsignedNormalized16X4 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedNormalized16X4
 *     cudaChannelFormatKindSignedNormalized8X1 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSignedNormalized8X1
 *     cudaChannelFormatKindSignedNormalized8X2 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSignedNormalized8X2             # <<<<<<<<<<<<<<
 *     cudaChannelFormatKindSignedNormalized8X4 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSignedNormalized8X4
 *     cudaChannelFormatKindSignedNormalized16X1 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSignedNormalized16X1
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaChannelFormatKind(__pyx_e_4cuda_7ccudart_cudaChannelFormatKindSignedNormalized8X2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 258, __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, 258, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":259
 *     cudaChannelFormatKindSignedNormalized8X1 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSignedNormalized8X1
 *     cudaChannelFormatKindSignedNormalized8X2 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSignedNormalized8X2
 *     cudaChannelFormatKindSignedNormalized8X4 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSignedNormalized8X4             # <<<<<<<<<<<<<<
 *     cudaChannelFormatKindSignedNormalized16X1 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSignedNormalized16X1
 *     cudaChannelFormatKindSignedNormalized16X2 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSignedNormalized16X2
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaChannelFormatKind(__pyx_e_4cuda_7ccudart_cudaChannelFormatKindSignedNormalized8X4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 259, __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, 259, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":260
 *     cudaChannelFormatKindSignedNormalized8X2 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSignedNormalized8X2
 *     cudaChannelFormatKindSignedNormalized8X4 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSignedNormalized8X4
 *     cudaChannelFormatKindSignedNormalized16X1 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSignedNormalized16X1             # <<<<<<<<<<<<<<
 *     cudaChannelFormatKindSignedNormalized16X2 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSignedNormalized16X2
 *     cudaChannelFormatKindSignedNormalized16X4 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSignedNormalized16X4
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaChannelFormatKind(__pyx_e_4cuda_7ccudart_cudaChannelFormatKindSignedNormalized16X1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 260, __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, 260, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":261
 *     cudaChannelFormatKindSignedNormalized8X4 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSignedNormalized8X4
 *     cudaChannelFormatKindSignedNormalized16X1 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSignedNormalized16X1
 *     cudaChannelFormatKindSignedNormalized16X2 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSignedNormalized16X2             # <<<<<<<<<<<<<<
 *     cudaChannelFormatKindSignedNormalized16X4 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSignedNormalized16X4
 *     cudaChannelFormatKindUnsignedBlockCompressed1 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed1
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaChannelFormatKind(__pyx_e_4cuda_7ccudart_cudaChannelFormatKindSignedNormalized16X2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 261, __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, 261, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":262
 *     cudaChannelFormatKindSignedNormalized16X1 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSignedNormalized16X1
 *     cudaChannelFormatKindSignedNormalized16X2 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSignedNormalized16X2
 *     cudaChannelFormatKindSignedNormalized16X4 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSignedNormalized16X4             # <<<<<<<<<<<<<<
 *     cudaChannelFormatKindUnsignedBlockCompressed1 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed1
 *     cudaChannelFormatKindUnsignedBlockCompressed1SRGB = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed1SRGB
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaChannelFormatKind(__pyx_e_4cuda_7ccudart_cudaChannelFormatKindSignedNormalized16X4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 262, __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, 262, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":263
 *     cudaChannelFormatKindSignedNormalized16X2 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSignedNormalized16X2
 *     cudaChannelFormatKindSignedNormalized16X4 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSignedNormalized16X4
 *     cudaChannelFormatKindUnsignedBlockCompressed1 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed1             # <<<<<<<<<<<<<<
 *     cudaChannelFormatKindUnsignedBlockCompressed1SRGB = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed1SRGB
 *     cudaChannelFormatKindUnsignedBlockCompressed2 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed2
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaChannelFormatKind(__pyx_e_4cuda_7ccudart_cudaChannelFormatKindUnsignedBlockCompressed1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 263, __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, 263, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":264
 *     cudaChannelFormatKindSignedNormalized16X4 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSignedNormalized16X4
 *     cudaChannelFormatKindUnsignedBlockCompressed1 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed1
 *     cudaChannelFormatKindUnsignedBlockCompressed1SRGB = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed1SRGB             # <<<<<<<<<<<<<<
 *     cudaChannelFormatKindUnsignedBlockCompressed2 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed2
 *     cudaChannelFormatKindUnsignedBlockCompressed2SRGB = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed2SRGB
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaChannelFormatKind(__pyx_e_4cuda_7ccudart_cudaChannelFormatKindUnsignedBlockCompressed1SRGB); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 264, __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, 264, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":265
 *     cudaChannelFormatKindUnsignedBlockCompressed1 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed1
 *     cudaChannelFormatKindUnsignedBlockCompressed1SRGB = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed1SRGB
 *     cudaChannelFormatKindUnsignedBlockCompressed2 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed2             # <<<<<<<<<<<<<<
 *     cudaChannelFormatKindUnsignedBlockCompressed2SRGB = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed2SRGB
 *     cudaChannelFormatKindUnsignedBlockCompressed3 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed3
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaChannelFormatKind(__pyx_e_4cuda_7ccudart_cudaChannelFormatKindUnsignedBlockCompressed2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 265, __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, 265, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":266
 *     cudaChannelFormatKindUnsignedBlockCompressed1SRGB = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed1SRGB
 *     cudaChannelFormatKindUnsignedBlockCompressed2 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed2
 *     cudaChannelFormatKindUnsignedBlockCompressed2SRGB = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed2SRGB             # <<<<<<<<<<<<<<
 *     cudaChannelFormatKindUnsignedBlockCompressed3 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed3
 *     cudaChannelFormatKindUnsignedBlockCompressed3SRGB = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed3SRGB
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaChannelFormatKind(__pyx_e_4cuda_7ccudart_cudaChannelFormatKindUnsignedBlockCompressed2SRGB); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 266, __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, 266, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":267
 *     cudaChannelFormatKindUnsignedBlockCompressed2 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed2
 *     cudaChannelFormatKindUnsignedBlockCompressed2SRGB = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed2SRGB
 *     cudaChannelFormatKindUnsignedBlockCompressed3 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed3             # <<<<<<<<<<<<<<
 *     cudaChannelFormatKindUnsignedBlockCompressed3SRGB = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed3SRGB
 *     cudaChannelFormatKindUnsignedBlockCompressed4 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed4
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaChannelFormatKind(__pyx_e_4cuda_7ccudart_cudaChannelFormatKindUnsignedBlockCompressed3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 267, __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, 267, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":268
 *     cudaChannelFormatKindUnsignedBlockCompressed2SRGB = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed2SRGB
 *     cudaChannelFormatKindUnsignedBlockCompressed3 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed3
 *     cudaChannelFormatKindUnsignedBlockCompressed3SRGB = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed3SRGB             # <<<<<<<<<<<<<<
 *     cudaChannelFormatKindUnsignedBlockCompressed4 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed4
 *     cudaChannelFormatKindSignedBlockCompressed4 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSignedBlockCompressed4
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaChannelFormatKind(__pyx_e_4cuda_7ccudart_cudaChannelFormatKindUnsignedBlockCompressed3SRGB); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 268, __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, 268, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":269
 *     cudaChannelFormatKindUnsignedBlockCompressed3 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed3
 *     cudaChannelFormatKindUnsignedBlockCompressed3SRGB = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed3SRGB
 *     cudaChannelFormatKindUnsignedBlockCompressed4 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed4             # <<<<<<<<<<<<<<
 *     cudaChannelFormatKindSignedBlockCompressed4 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSignedBlockCompressed4
 *     cudaChannelFormatKindUnsignedBlockCompressed5 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed5
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaChannelFormatKind(__pyx_e_4cuda_7ccudart_cudaChannelFormatKindUnsignedBlockCompressed4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 269, __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, 269, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":270
 *     cudaChannelFormatKindUnsignedBlockCompressed3SRGB = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed3SRGB
 *     cudaChannelFormatKindUnsignedBlockCompressed4 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed4
 *     cudaChannelFormatKindSignedBlockCompressed4 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSignedBlockCompressed4             # <<<<<<<<<<<<<<
 *     cudaChannelFormatKindUnsignedBlockCompressed5 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed5
 *     cudaChannelFormatKindSignedBlockCompressed5 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSignedBlockCompressed5
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaChannelFormatKind(__pyx_e_4cuda_7ccudart_cudaChannelFormatKindSignedBlockCompressed4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 270, __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, 270, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":271
 *     cudaChannelFormatKindUnsignedBlockCompressed4 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed4
 *     cudaChannelFormatKindSignedBlockCompressed4 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSignedBlockCompressed4
 *     cudaChannelFormatKindUnsignedBlockCompressed5 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed5             # <<<<<<<<<<<<<<
 *     cudaChannelFormatKindSignedBlockCompressed5 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSignedBlockCompressed5
 *     cudaChannelFormatKindUnsignedBlockCompressed6H = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed6H
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaChannelFormatKind(__pyx_e_4cuda_7ccudart_cudaChannelFormatKindUnsignedBlockCompressed5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 271, __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, 271, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":272
 *     cudaChannelFormatKindSignedBlockCompressed4 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSignedBlockCompressed4
 *     cudaChannelFormatKindUnsignedBlockCompressed5 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed5
 *     cudaChannelFormatKindSignedBlockCompressed5 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSignedBlockCompressed5             # <<<<<<<<<<<<<<
 *     cudaChannelFormatKindUnsignedBlockCompressed6H = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed6H
 *     cudaChannelFormatKindSignedBlockCompressed6H = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSignedBlockCompressed6H
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaChannelFormatKind(__pyx_e_4cuda_7ccudart_cudaChannelFormatKindSignedBlockCompressed5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 272, __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, 272, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":273
 *     cudaChannelFormatKindUnsignedBlockCompressed5 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed5
 *     cudaChannelFormatKindSignedBlockCompressed5 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSignedBlockCompressed5
 *     cudaChannelFormatKindUnsignedBlockCompressed6H = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed6H             # <<<<<<<<<<<<<<
 *     cudaChannelFormatKindSignedBlockCompressed6H = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSignedBlockCompressed6H
 *     cudaChannelFormatKindUnsignedBlockCompressed7 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed7
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaChannelFormatKind(__pyx_e_4cuda_7ccudart_cudaChannelFormatKindUnsignedBlockCompressed6H); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 273, __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, 273, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":274
 *     cudaChannelFormatKindSignedBlockCompressed5 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSignedBlockCompressed5
 *     cudaChannelFormatKindUnsignedBlockCompressed6H = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed6H
 *     cudaChannelFormatKindSignedBlockCompressed6H = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSignedBlockCompressed6H             # <<<<<<<<<<<<<<
 *     cudaChannelFormatKindUnsignedBlockCompressed7 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed7
 *     cudaChannelFormatKindUnsignedBlockCompressed7SRGB = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed7SRGB
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaChannelFormatKind(__pyx_e_4cuda_7ccudart_cudaChannelFormatKindSignedBlockCompressed6H); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 274, __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, 274, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":275
 *     cudaChannelFormatKindUnsignedBlockCompressed6H = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed6H
 *     cudaChannelFormatKindSignedBlockCompressed6H = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSignedBlockCompressed6H
 *     cudaChannelFormatKindUnsignedBlockCompressed7 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed7             # <<<<<<<<<<<<<<
 *     cudaChannelFormatKindUnsignedBlockCompressed7SRGB = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed7SRGB
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaChannelFormatKind(__pyx_e_4cuda_7ccudart_cudaChannelFormatKindUnsignedBlockCompressed7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 275, __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, 275, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":276
 *     cudaChannelFormatKindSignedBlockCompressed6H = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSignedBlockCompressed6H
 *     cudaChannelFormatKindUnsignedBlockCompressed7 = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed7
 *     cudaChannelFormatKindUnsignedBlockCompressed7SRGB = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed7SRGB             # <<<<<<<<<<<<<<
 * 
 * class cudaMemoryType(Enum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaChannelFormatKind(__pyx_e_4cuda_7ccudart_cudaChannelFormatKindUnsignedBlockCompressed7SRGB); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 276, __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, 276, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":245
 *     cudaErrorApiFailureBase = ccudart.cudaError.cudaErrorApiFailureBase
 * 
 * class cudaChannelFormatKind(Enum):             # <<<<<<<<<<<<<<
 *     cudaChannelFormatKindSigned = ccudart.cudaChannelFormatKind.cudaChannelFormatKindSigned
 *     cudaChannelFormatKindUnsigned = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsigned
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_cudaChannelFormatKind, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 245, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaChannelFormatKind, __pyx_t_4) < 0) __PYX_ERR(0, 245, __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":278
 *     cudaChannelFormatKindUnsignedBlockCompressed7SRGB = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed7SRGB
 * 
 * class cudaMemoryType(Enum):             # <<<<<<<<<<<<<<
 *     cudaMemoryTypeUnregistered = ccudart.cudaMemoryType.cudaMemoryTypeUnregistered
 *     cudaMemoryTypeHost = ccudart.cudaMemoryType.cudaMemoryTypeHost
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Enum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 278, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 278, __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, 278, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_cudaMemoryType, __pyx_n_s_cudaMemoryType, (PyObject *) NULL, __pyx_n_s_cuda_cudart, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 278, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":279
 * 
 * class cudaMemoryType(Enum):
 *     cudaMemoryTypeUnregistered = ccudart.cudaMemoryType.cudaMemoryTypeUnregistered             # <<<<<<<<<<<<<<
 *     cudaMemoryTypeHost = ccudart.cudaMemoryType.cudaMemoryTypeHost
 *     cudaMemoryTypeDevice = ccudart.cudaMemoryType.cudaMemoryTypeDevice
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemoryType(__pyx_e_4cuda_7ccudart_cudaMemoryTypeUnregistered); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 279, __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, 279, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":280
 * class cudaMemoryType(Enum):
 *     cudaMemoryTypeUnregistered = ccudart.cudaMemoryType.cudaMemoryTypeUnregistered
 *     cudaMemoryTypeHost = ccudart.cudaMemoryType.cudaMemoryTypeHost             # <<<<<<<<<<<<<<
 *     cudaMemoryTypeDevice = ccudart.cudaMemoryType.cudaMemoryTypeDevice
 *     cudaMemoryTypeManaged = ccudart.cudaMemoryType.cudaMemoryTypeManaged
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemoryType(__pyx_e_4cuda_7ccudart_cudaMemoryTypeHost); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 280, __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, 280, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":281
 *     cudaMemoryTypeUnregistered = ccudart.cudaMemoryType.cudaMemoryTypeUnregistered
 *     cudaMemoryTypeHost = ccudart.cudaMemoryType.cudaMemoryTypeHost
 *     cudaMemoryTypeDevice = ccudart.cudaMemoryType.cudaMemoryTypeDevice             # <<<<<<<<<<<<<<
 *     cudaMemoryTypeManaged = ccudart.cudaMemoryType.cudaMemoryTypeManaged
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemoryType(__pyx_e_4cuda_7ccudart_cudaMemoryTypeDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 281, __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, 281, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":282
 *     cudaMemoryTypeHost = ccudart.cudaMemoryType.cudaMemoryTypeHost
 *     cudaMemoryTypeDevice = ccudart.cudaMemoryType.cudaMemoryTypeDevice
 *     cudaMemoryTypeManaged = ccudart.cudaMemoryType.cudaMemoryTypeManaged             # <<<<<<<<<<<<<<
 * 
 * class cudaMemcpyKind(Enum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemoryType(__pyx_e_4cuda_7ccudart_cudaMemoryTypeManaged); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 282, __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, 282, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":278
 *     cudaChannelFormatKindUnsignedBlockCompressed7SRGB = ccudart.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed7SRGB
 * 
 * class cudaMemoryType(Enum):             # <<<<<<<<<<<<<<
 *     cudaMemoryTypeUnregistered = ccudart.cudaMemoryType.cudaMemoryTypeUnregistered
 *     cudaMemoryTypeHost = ccudart.cudaMemoryType.cudaMemoryTypeHost
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_cudaMemoryType, __pyx_t_1, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 278, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemoryType, __pyx_t_4) < 0) __PYX_ERR(0, 278, __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":284
 *     cudaMemoryTypeManaged = ccudart.cudaMemoryType.cudaMemoryTypeManaged
 * 
 * class cudaMemcpyKind(Enum):             # <<<<<<<<<<<<<<
 *     cudaMemcpyHostToHost = ccudart.cudaMemcpyKind.cudaMemcpyHostToHost
 *     cudaMemcpyHostToDevice = ccudart.cudaMemcpyKind.cudaMemcpyHostToDevice
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Enum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 284, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 284, __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, 284, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_2, __pyx_n_s_cudaMemcpyKind, __pyx_n_s_cudaMemcpyKind, (PyObject *) NULL, __pyx_n_s_cuda_cudart, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 284, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":285
 * 
 * class cudaMemcpyKind(Enum):
 *     cudaMemcpyHostToHost = ccudart.cudaMemcpyKind.cudaMemcpyHostToHost             # <<<<<<<<<<<<<<
 *     cudaMemcpyHostToDevice = ccudart.cudaMemcpyKind.cudaMemcpyHostToDevice
 *     cudaMemcpyDeviceToHost = ccudart.cudaMemcpyKind.cudaMemcpyDeviceToHost
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemcpyKind(__pyx_e_4cuda_7ccudart_cudaMemcpyHostToHost); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 285, __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, 285, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":286
 * class cudaMemcpyKind(Enum):
 *     cudaMemcpyHostToHost = ccudart.cudaMemcpyKind.cudaMemcpyHostToHost
 *     cudaMemcpyHostToDevice = ccudart.cudaMemcpyKind.cudaMemcpyHostToDevice             # <<<<<<<<<<<<<<
 *     cudaMemcpyDeviceToHost = ccudart.cudaMemcpyKind.cudaMemcpyDeviceToHost
 *     cudaMemcpyDeviceToDevice = ccudart.cudaMemcpyKind.cudaMemcpyDeviceToDevice
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemcpyKind(__pyx_e_4cuda_7ccudart_cudaMemcpyHostToDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 286, __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, 286, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":287
 *     cudaMemcpyHostToHost = ccudart.cudaMemcpyKind.cudaMemcpyHostToHost
 *     cudaMemcpyHostToDevice = ccudart.cudaMemcpyKind.cudaMemcpyHostToDevice
 *     cudaMemcpyDeviceToHost = ccudart.cudaMemcpyKind.cudaMemcpyDeviceToHost             # <<<<<<<<<<<<<<
 *     cudaMemcpyDeviceToDevice = ccudart.cudaMemcpyKind.cudaMemcpyDeviceToDevice
 *     cudaMemcpyDefault = ccudart.cudaMemcpyKind.cudaMemcpyDefault
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemcpyKind(__pyx_e_4cuda_7ccudart_cudaMemcpyDeviceToHost); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 287, __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, 287, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":288
 *     cudaMemcpyHostToDevice = ccudart.cudaMemcpyKind.cudaMemcpyHostToDevice
 *     cudaMemcpyDeviceToHost = ccudart.cudaMemcpyKind.cudaMemcpyDeviceToHost
 *     cudaMemcpyDeviceToDevice = ccudart.cudaMemcpyKind.cudaMemcpyDeviceToDevice             # <<<<<<<<<<<<<<
 *     cudaMemcpyDefault = ccudart.cudaMemcpyKind.cudaMemcpyDefault
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemcpyKind(__pyx_e_4cuda_7ccudart_cudaMemcpyDeviceToDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 288, __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, 288, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":289
 *     cudaMemcpyDeviceToHost = ccudart.cudaMemcpyKind.cudaMemcpyDeviceToHost
 *     cudaMemcpyDeviceToDevice = ccudart.cudaMemcpyKind.cudaMemcpyDeviceToDevice
 *     cudaMemcpyDefault = ccudart.cudaMemcpyKind.cudaMemcpyDefault             # <<<<<<<<<<<<<<
 * 
 * class cudaAccessProperty(Enum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemcpyKind(__pyx_e_4cuda_7ccudart_cudaMemcpyDefault); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 289, __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, 289, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":284
 *     cudaMemoryTypeManaged = ccudart.cudaMemoryType.cudaMemoryTypeManaged
 * 
 * class cudaMemcpyKind(Enum):             # <<<<<<<<<<<<<<
 *     cudaMemcpyHostToHost = ccudart.cudaMemcpyKind.cudaMemcpyHostToHost
 *     cudaMemcpyHostToDevice = ccudart.cudaMemcpyKind.cudaMemcpyHostToDevice
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_cudaMemcpyKind, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 284, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemcpyKind, __pyx_t_4) < 0) __PYX_ERR(0, 284, __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":291
 *     cudaMemcpyDefault = ccudart.cudaMemcpyKind.cudaMemcpyDefault
 * 
 * class cudaAccessProperty(Enum):             # <<<<<<<<<<<<<<
 *     cudaAccessPropertyNormal = ccudart.cudaAccessProperty.cudaAccessPropertyNormal
 *     cudaAccessPropertyStreaming = ccudart.cudaAccessProperty.cudaAccessPropertyStreaming
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Enum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 291, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 291, __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, 291, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_cudaAccessProperty, __pyx_n_s_cudaAccessProperty, (PyObject *) NULL, __pyx_n_s_cuda_cudart, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 291, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":292
 * 
 * class cudaAccessProperty(Enum):
 *     cudaAccessPropertyNormal = ccudart.cudaAccessProperty.cudaAccessPropertyNormal             # <<<<<<<<<<<<<<
 *     cudaAccessPropertyStreaming = ccudart.cudaAccessProperty.cudaAccessPropertyStreaming
 *     cudaAccessPropertyPersisting = ccudart.cudaAccessProperty.cudaAccessPropertyPersisting
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaAccessProperty(__pyx_e_4cuda_7ccudart_cudaAccessPropertyNormal); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 292, __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, 292, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":293
 * class cudaAccessProperty(Enum):
 *     cudaAccessPropertyNormal = ccudart.cudaAccessProperty.cudaAccessPropertyNormal
 *     cudaAccessPropertyStreaming = ccudart.cudaAccessProperty.cudaAccessPropertyStreaming             # <<<<<<<<<<<<<<
 *     cudaAccessPropertyPersisting = ccudart.cudaAccessProperty.cudaAccessPropertyPersisting
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaAccessProperty(__pyx_e_4cuda_7ccudart_cudaAccessPropertyStreaming); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 293, __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, 293, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":294
 *     cudaAccessPropertyNormal = ccudart.cudaAccessProperty.cudaAccessPropertyNormal
 *     cudaAccessPropertyStreaming = ccudart.cudaAccessProperty.cudaAccessPropertyStreaming
 *     cudaAccessPropertyPersisting = ccudart.cudaAccessProperty.cudaAccessPropertyPersisting             # <<<<<<<<<<<<<<
 * 
 * class cudaStreamCaptureStatus(Enum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaAccessProperty(__pyx_e_4cuda_7ccudart_cudaAccessPropertyPersisting); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 294, __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, 294, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":291
 *     cudaMemcpyDefault = ccudart.cudaMemcpyKind.cudaMemcpyDefault
 * 
 * class cudaAccessProperty(Enum):             # <<<<<<<<<<<<<<
 *     cudaAccessPropertyNormal = ccudart.cudaAccessProperty.cudaAccessPropertyNormal
 *     cudaAccessPropertyStreaming = ccudart.cudaAccessProperty.cudaAccessPropertyStreaming
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_cudaAccessProperty, __pyx_t_1, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 291, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaAccessProperty, __pyx_t_4) < 0) __PYX_ERR(0, 291, __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":296
 *     cudaAccessPropertyPersisting = ccudart.cudaAccessProperty.cudaAccessPropertyPersisting
 * 
 * class cudaStreamCaptureStatus(Enum):             # <<<<<<<<<<<<<<
 *     cudaStreamCaptureStatusNone = ccudart.cudaStreamCaptureStatus.cudaStreamCaptureStatusNone
 *     cudaStreamCaptureStatusActive = ccudart.cudaStreamCaptureStatus.cudaStreamCaptureStatusActive
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Enum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 296, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 296, __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, 296, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_2, __pyx_n_s_cudaStreamCaptureStatus, __pyx_n_s_cudaStreamCaptureStatus, (PyObject *) NULL, __pyx_n_s_cuda_cudart, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 296, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":297
 * 
 * class cudaStreamCaptureStatus(Enum):
 *     cudaStreamCaptureStatusNone = ccudart.cudaStreamCaptureStatus.cudaStreamCaptureStatusNone             # <<<<<<<<<<<<<<
 *     cudaStreamCaptureStatusActive = ccudart.cudaStreamCaptureStatus.cudaStreamCaptureStatusActive
 *     cudaStreamCaptureStatusInvalidated = ccudart.cudaStreamCaptureStatus.cudaStreamCaptureStatusInvalidated
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaStreamCaptureStatus(__pyx_e_4cuda_7ccudart_cudaStreamCaptureStatusNone); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 297, __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, 297, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":298
 * class cudaStreamCaptureStatus(Enum):
 *     cudaStreamCaptureStatusNone = ccudart.cudaStreamCaptureStatus.cudaStreamCaptureStatusNone
 *     cudaStreamCaptureStatusActive = ccudart.cudaStreamCaptureStatus.cudaStreamCaptureStatusActive             # <<<<<<<<<<<<<<
 *     cudaStreamCaptureStatusInvalidated = ccudart.cudaStreamCaptureStatus.cudaStreamCaptureStatusInvalidated
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaStreamCaptureStatus(__pyx_e_4cuda_7ccudart_cudaStreamCaptureStatusActive); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 298, __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, 298, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":299
 *     cudaStreamCaptureStatusNone = ccudart.cudaStreamCaptureStatus.cudaStreamCaptureStatusNone
 *     cudaStreamCaptureStatusActive = ccudart.cudaStreamCaptureStatus.cudaStreamCaptureStatusActive
 *     cudaStreamCaptureStatusInvalidated = ccudart.cudaStreamCaptureStatus.cudaStreamCaptureStatusInvalidated             # <<<<<<<<<<<<<<
 * 
 * class cudaStreamCaptureMode(Enum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaStreamCaptureStatus(__pyx_e_4cuda_7ccudart_cudaStreamCaptureStatusInvalidated); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 299, __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, 299, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":296
 *     cudaAccessPropertyPersisting = ccudart.cudaAccessProperty.cudaAccessPropertyPersisting
 * 
 * class cudaStreamCaptureStatus(Enum):             # <<<<<<<<<<<<<<
 *     cudaStreamCaptureStatusNone = ccudart.cudaStreamCaptureStatus.cudaStreamCaptureStatusNone
 *     cudaStreamCaptureStatusActive = ccudart.cudaStreamCaptureStatus.cudaStreamCaptureStatusActive
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_cudaStreamCaptureStatus, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 296, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaStreamCaptureStatus, __pyx_t_4) < 0) __PYX_ERR(0, 296, __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":301
 *     cudaStreamCaptureStatusInvalidated = ccudart.cudaStreamCaptureStatus.cudaStreamCaptureStatusInvalidated
 * 
 * class cudaStreamCaptureMode(Enum):             # <<<<<<<<<<<<<<
 *     cudaStreamCaptureModeGlobal = ccudart.cudaStreamCaptureMode.cudaStreamCaptureModeGlobal
 *     cudaStreamCaptureModeThreadLocal = ccudart.cudaStreamCaptureMode.cudaStreamCaptureModeThreadLocal
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Enum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 301, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 301, __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, 301, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_cudaStreamCaptureMode, __pyx_n_s_cudaStreamCaptureMode, (PyObject *) NULL, __pyx_n_s_cuda_cudart, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 301, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":302
 * 
 * class cudaStreamCaptureMode(Enum):
 *     cudaStreamCaptureModeGlobal = ccudart.cudaStreamCaptureMode.cudaStreamCaptureModeGlobal             # <<<<<<<<<<<<<<
 *     cudaStreamCaptureModeThreadLocal = ccudart.cudaStreamCaptureMode.cudaStreamCaptureModeThreadLocal
 *     cudaStreamCaptureModeRelaxed = ccudart.cudaStreamCaptureMode.cudaStreamCaptureModeRelaxed
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaStreamCaptureMode(__pyx_e_4cuda_7ccudart_cudaStreamCaptureModeGlobal); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 302, __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, 302, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":303
 * class cudaStreamCaptureMode(Enum):
 *     cudaStreamCaptureModeGlobal = ccudart.cudaStreamCaptureMode.cudaStreamCaptureModeGlobal
 *     cudaStreamCaptureModeThreadLocal = ccudart.cudaStreamCaptureMode.cudaStreamCaptureModeThreadLocal             # <<<<<<<<<<<<<<
 *     cudaStreamCaptureModeRelaxed = ccudart.cudaStreamCaptureMode.cudaStreamCaptureModeRelaxed
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaStreamCaptureMode(__pyx_e_4cuda_7ccudart_cudaStreamCaptureModeThreadLocal); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 303, __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, 303, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":304
 *     cudaStreamCaptureModeGlobal = ccudart.cudaStreamCaptureMode.cudaStreamCaptureModeGlobal
 *     cudaStreamCaptureModeThreadLocal = ccudart.cudaStreamCaptureMode.cudaStreamCaptureModeThreadLocal
 *     cudaStreamCaptureModeRelaxed = ccudart.cudaStreamCaptureMode.cudaStreamCaptureModeRelaxed             # <<<<<<<<<<<<<<
 * 
 * class cudaSynchronizationPolicy(Enum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaStreamCaptureMode(__pyx_e_4cuda_7ccudart_cudaStreamCaptureModeRelaxed); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 304, __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, 304, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":301
 *     cudaStreamCaptureStatusInvalidated = ccudart.cudaStreamCaptureStatus.cudaStreamCaptureStatusInvalidated
 * 
 * class cudaStreamCaptureMode(Enum):             # <<<<<<<<<<<<<<
 *     cudaStreamCaptureModeGlobal = ccudart.cudaStreamCaptureMode.cudaStreamCaptureModeGlobal
 *     cudaStreamCaptureModeThreadLocal = ccudart.cudaStreamCaptureMode.cudaStreamCaptureModeThreadLocal
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_cudaStreamCaptureMode, __pyx_t_1, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 301, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaStreamCaptureMode, __pyx_t_4) < 0) __PYX_ERR(0, 301, __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":306
 *     cudaStreamCaptureModeRelaxed = ccudart.cudaStreamCaptureMode.cudaStreamCaptureModeRelaxed
 * 
 * class cudaSynchronizationPolicy(Enum):             # <<<<<<<<<<<<<<
 *     cudaSyncPolicyAuto = ccudart.cudaSynchronizationPolicy.cudaSyncPolicyAuto
 *     cudaSyncPolicySpin = ccudart.cudaSynchronizationPolicy.cudaSyncPolicySpin
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Enum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 306, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 306, __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, 306, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_2, __pyx_n_s_cudaSynchronizationPolicy, __pyx_n_s_cudaSynchronizationPolicy, (PyObject *) NULL, __pyx_n_s_cuda_cudart, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 306, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":307
 * 
 * class cudaSynchronizationPolicy(Enum):
 *     cudaSyncPolicyAuto = ccudart.cudaSynchronizationPolicy.cudaSyncPolicyAuto             # <<<<<<<<<<<<<<
 *     cudaSyncPolicySpin = ccudart.cudaSynchronizationPolicy.cudaSyncPolicySpin
 *     cudaSyncPolicyYield = ccudart.cudaSynchronizationPolicy.cudaSyncPolicyYield
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy(__pyx_e_4cuda_7ccudart_cudaSyncPolicyAuto); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 307, __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, 307, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":308
 * class cudaSynchronizationPolicy(Enum):
 *     cudaSyncPolicyAuto = ccudart.cudaSynchronizationPolicy.cudaSyncPolicyAuto
 *     cudaSyncPolicySpin = ccudart.cudaSynchronizationPolicy.cudaSyncPolicySpin             # <<<<<<<<<<<<<<
 *     cudaSyncPolicyYield = ccudart.cudaSynchronizationPolicy.cudaSyncPolicyYield
 *     cudaSyncPolicyBlockingSync = ccudart.cudaSynchronizationPolicy.cudaSyncPolicyBlockingSync
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy(__pyx_e_4cuda_7ccudart_cudaSyncPolicySpin); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 308, __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, 308, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":309
 *     cudaSyncPolicyAuto = ccudart.cudaSynchronizationPolicy.cudaSyncPolicyAuto
 *     cudaSyncPolicySpin = ccudart.cudaSynchronizationPolicy.cudaSyncPolicySpin
 *     cudaSyncPolicyYield = ccudart.cudaSynchronizationPolicy.cudaSyncPolicyYield             # <<<<<<<<<<<<<<
 *     cudaSyncPolicyBlockingSync = ccudart.cudaSynchronizationPolicy.cudaSyncPolicyBlockingSync
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy(__pyx_e_4cuda_7ccudart_cudaSyncPolicyYield); 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_cudaSyncPolicyYield, __pyx_t_4) < 0) __PYX_ERR(0, 309, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":310
 *     cudaSyncPolicySpin = ccudart.cudaSynchronizationPolicy.cudaSyncPolicySpin
 *     cudaSyncPolicyYield = ccudart.cudaSynchronizationPolicy.cudaSyncPolicyYield
 *     cudaSyncPolicyBlockingSync = ccudart.cudaSynchronizationPolicy.cudaSyncPolicyBlockingSync             # <<<<<<<<<<<<<<
 * 
 * class cudaStreamAttrID(Enum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy(__pyx_e_4cuda_7ccudart_cudaSyncPolicyBlockingSync); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 310, __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, 310, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":306
 *     cudaStreamCaptureModeRelaxed = ccudart.cudaStreamCaptureMode.cudaStreamCaptureModeRelaxed
 * 
 * class cudaSynchronizationPolicy(Enum):             # <<<<<<<<<<<<<<
 *     cudaSyncPolicyAuto = ccudart.cudaSynchronizationPolicy.cudaSyncPolicyAuto
 *     cudaSyncPolicySpin = ccudart.cudaSynchronizationPolicy.cudaSyncPolicySpin
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_cudaSynchronizationPolicy, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 306, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaSynchronizationPolicy, __pyx_t_4) < 0) __PYX_ERR(0, 306, __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":312
 *     cudaSyncPolicyBlockingSync = ccudart.cudaSynchronizationPolicy.cudaSyncPolicyBlockingSync
 * 
 * class cudaStreamAttrID(Enum):             # <<<<<<<<<<<<<<
 *     cudaStreamAttributeAccessPolicyWindow = ccudart.cudaStreamAttrID.cudaStreamAttributeAccessPolicyWindow
 *     cudaStreamAttributeSynchronizationPolicy = ccudart.cudaStreamAttrID.cudaStreamAttributeSynchronizationPolicy
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Enum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 312, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 312, __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, 312, __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, 312, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":313
 * 
 * class cudaStreamAttrID(Enum):
 *     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, 313, __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, 313, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":314
 * class cudaStreamAttrID(Enum):
 *     cudaStreamAttributeAccessPolicyWindow = ccudart.cudaStreamAttrID.cudaStreamAttributeAccessPolicyWindow
 *     cudaStreamAttributeSynchronizationPolicy = ccudart.cudaStreamAttrID.cudaStreamAttributeSynchronizationPolicy             # <<<<<<<<<<<<<<
 * 
 * class cudaStreamUpdateCaptureDependenciesFlags(Enum):
 */
  __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, 314, __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, 314, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":312
 *     cudaSyncPolicyBlockingSync = ccudart.cudaSynchronizationPolicy.cudaSyncPolicyBlockingSync
 * 
 * class cudaStreamAttrID(Enum):             # <<<<<<<<<<<<<<
 *     cudaStreamAttributeAccessPolicyWindow = ccudart.cudaStreamAttrID.cudaStreamAttributeAccessPolicyWindow
 *     cudaStreamAttributeSynchronizationPolicy = ccudart.cudaStreamAttrID.cudaStreamAttributeSynchronizationPolicy
 */
  __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, 312, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaStreamAttrID, __pyx_t_4) < 0) __PYX_ERR(0, 312, __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":316
 *     cudaStreamAttributeSynchronizationPolicy = ccudart.cudaStreamAttrID.cudaStreamAttributeSynchronizationPolicy
 * 
 * class cudaStreamUpdateCaptureDependenciesFlags(Enum):             # <<<<<<<<<<<<<<
 *     cudaStreamAddCaptureDependencies = ccudart.cudaStreamUpdateCaptureDependenciesFlags.cudaStreamAddCaptureDependencies
 *     cudaStreamSetCaptureDependencies = ccudart.cudaStreamUpdateCaptureDependenciesFlags.cudaStreamSetCaptureDependencies
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Enum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 316, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 316, __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, 316, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_2, __pyx_n_s_cudaStreamUpdateCaptureDependenc_2, __pyx_n_s_cudaStreamUpdateCaptureDependenc_2, (PyObject *) NULL, __pyx_n_s_cuda_cudart, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 316, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":317
 * 
 * class cudaStreamUpdateCaptureDependenciesFlags(Enum):
 *     cudaStreamAddCaptureDependencies = ccudart.cudaStreamUpdateCaptureDependenciesFlags.cudaStreamAddCaptureDependencies             # <<<<<<<<<<<<<<
 *     cudaStreamSetCaptureDependencies = ccudart.cudaStreamUpdateCaptureDependenciesFlags.cudaStreamSetCaptureDependencies
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaStreamUpdateCaptureDependenciesFlags(__pyx_e_4cuda_7ccudart_cudaStreamAddCaptureDependencies); 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_cudaStreamAddCaptureDependencies, __pyx_t_4) < 0) __PYX_ERR(0, 317, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":318
 * class cudaStreamUpdateCaptureDependenciesFlags(Enum):
 *     cudaStreamAddCaptureDependencies = ccudart.cudaStreamUpdateCaptureDependenciesFlags.cudaStreamAddCaptureDependencies
 *     cudaStreamSetCaptureDependencies = ccudart.cudaStreamUpdateCaptureDependenciesFlags.cudaStreamSetCaptureDependencies             # <<<<<<<<<<<<<<
 * 
 * class cudaUserObjectFlags(Enum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaStreamUpdateCaptureDependenciesFlags(__pyx_e_4cuda_7ccudart_cudaStreamSetCaptureDependencies); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 318, __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, 318, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":316
 *     cudaStreamAttributeSynchronizationPolicy = ccudart.cudaStreamAttrID.cudaStreamAttributeSynchronizationPolicy
 * 
 * class cudaStreamUpdateCaptureDependenciesFlags(Enum):             # <<<<<<<<<<<<<<
 *     cudaStreamAddCaptureDependencies = ccudart.cudaStreamUpdateCaptureDependenciesFlags.cudaStreamAddCaptureDependencies
 *     cudaStreamSetCaptureDependencies = ccudart.cudaStreamUpdateCaptureDependenciesFlags.cudaStreamSetCaptureDependencies
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_cudaStreamUpdateCaptureDependenc_2, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 316, __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, 316, __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":320
 *     cudaStreamSetCaptureDependencies = ccudart.cudaStreamUpdateCaptureDependenciesFlags.cudaStreamSetCaptureDependencies
 * 
 * class cudaUserObjectFlags(Enum):             # <<<<<<<<<<<<<<
 *     cudaUserObjectNoDestructorSync = ccudart.cudaUserObjectFlags.cudaUserObjectNoDestructorSync
 * 
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Enum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 320, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 320, __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, 320, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_cudaUserObjectFlags, __pyx_n_s_cudaUserObjectFlags, (PyObject *) NULL, __pyx_n_s_cuda_cudart, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 320, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":321
 * 
 * class cudaUserObjectFlags(Enum):
 *     cudaUserObjectNoDestructorSync = ccudart.cudaUserObjectFlags.cudaUserObjectNoDestructorSync             # <<<<<<<<<<<<<<
 * 
 * class cudaUserObjectRetainFlags(Enum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaUserObjectFlags(__pyx_e_4cuda_7ccudart_cudaUserObjectNoDestructorSync); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 321, __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, 321, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":320
 *     cudaStreamSetCaptureDependencies = ccudart.cudaStreamUpdateCaptureDependenciesFlags.cudaStreamSetCaptureDependencies
 * 
 * class cudaUserObjectFlags(Enum):             # <<<<<<<<<<<<<<
 *     cudaUserObjectNoDestructorSync = ccudart.cudaUserObjectFlags.cudaUserObjectNoDestructorSync
 * 
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_cudaUserObjectFlags, __pyx_t_1, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 320, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaUserObjectFlags, __pyx_t_4) < 0) __PYX_ERR(0, 320, __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":323
 *     cudaUserObjectNoDestructorSync = ccudart.cudaUserObjectFlags.cudaUserObjectNoDestructorSync
 * 
 * class cudaUserObjectRetainFlags(Enum):             # <<<<<<<<<<<<<<
 *     cudaGraphUserObjectMove = ccudart.cudaUserObjectRetainFlags.cudaGraphUserObjectMove
 * 
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Enum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 323, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 323, __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, 323, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_2, __pyx_n_s_cudaUserObjectRetainFlags, __pyx_n_s_cudaUserObjectRetainFlags, (PyObject *) NULL, __pyx_n_s_cuda_cudart, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 323, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":324
 * 
 * class cudaUserObjectRetainFlags(Enum):
 *     cudaGraphUserObjectMove = ccudart.cudaUserObjectRetainFlags.cudaGraphUserObjectMove             # <<<<<<<<<<<<<<
 * 
 * class cudaGraphicsRegisterFlags(Enum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaUserObjectRetainFlags(__pyx_e_4cuda_7ccudart_cudaGraphUserObjectMove); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 324, __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, 324, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":323
 *     cudaUserObjectNoDestructorSync = ccudart.cudaUserObjectFlags.cudaUserObjectNoDestructorSync
 * 
 * class cudaUserObjectRetainFlags(Enum):             # <<<<<<<<<<<<<<
 *     cudaGraphUserObjectMove = ccudart.cudaUserObjectRetainFlags.cudaGraphUserObjectMove
 * 
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_cudaUserObjectRetainFlags, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 323, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaUserObjectRetainFlags, __pyx_t_4) < 0) __PYX_ERR(0, 323, __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":326
 *     cudaGraphUserObjectMove = ccudart.cudaUserObjectRetainFlags.cudaGraphUserObjectMove
 * 
 * class cudaGraphicsRegisterFlags(Enum):             # <<<<<<<<<<<<<<
 *     cudaGraphicsRegisterFlagsNone = ccudart.cudaGraphicsRegisterFlags.cudaGraphicsRegisterFlagsNone
 *     cudaGraphicsRegisterFlagsReadOnly = ccudart.cudaGraphicsRegisterFlags.cudaGraphicsRegisterFlagsReadOnly
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Enum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 326, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 326, __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, 326, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_cudaGraphicsRegisterFlags, __pyx_n_s_cudaGraphicsRegisterFlags, (PyObject *) NULL, __pyx_n_s_cuda_cudart, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 326, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":327
 * 
 * class cudaGraphicsRegisterFlags(Enum):
 *     cudaGraphicsRegisterFlagsNone = ccudart.cudaGraphicsRegisterFlags.cudaGraphicsRegisterFlagsNone             # <<<<<<<<<<<<<<
 *     cudaGraphicsRegisterFlagsReadOnly = ccudart.cudaGraphicsRegisterFlags.cudaGraphicsRegisterFlagsReadOnly
 *     cudaGraphicsRegisterFlagsWriteDiscard = ccudart.cudaGraphicsRegisterFlags.cudaGraphicsRegisterFlagsWriteDiscard
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphicsRegisterFlags(__pyx_e_4cuda_7ccudart_cudaGraphicsRegisterFlagsNone); 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_cudaGraphicsRegisterFlagsNone, __pyx_t_4) < 0) __PYX_ERR(0, 327, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":328
 * class cudaGraphicsRegisterFlags(Enum):
 *     cudaGraphicsRegisterFlagsNone = ccudart.cudaGraphicsRegisterFlags.cudaGraphicsRegisterFlagsNone
 *     cudaGraphicsRegisterFlagsReadOnly = ccudart.cudaGraphicsRegisterFlags.cudaGraphicsRegisterFlagsReadOnly             # <<<<<<<<<<<<<<
 *     cudaGraphicsRegisterFlagsWriteDiscard = ccudart.cudaGraphicsRegisterFlags.cudaGraphicsRegisterFlagsWriteDiscard
 *     cudaGraphicsRegisterFlagsSurfaceLoadStore = ccudart.cudaGraphicsRegisterFlags.cudaGraphicsRegisterFlagsSurfaceLoadStore
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphicsRegisterFlags(__pyx_e_4cuda_7ccudart_cudaGraphicsRegisterFlagsReadOnly); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 328, __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, 328, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":329
 *     cudaGraphicsRegisterFlagsNone = ccudart.cudaGraphicsRegisterFlags.cudaGraphicsRegisterFlagsNone
 *     cudaGraphicsRegisterFlagsReadOnly = ccudart.cudaGraphicsRegisterFlags.cudaGraphicsRegisterFlagsReadOnly
 *     cudaGraphicsRegisterFlagsWriteDiscard = ccudart.cudaGraphicsRegisterFlags.cudaGraphicsRegisterFlagsWriteDiscard             # <<<<<<<<<<<<<<
 *     cudaGraphicsRegisterFlagsSurfaceLoadStore = ccudart.cudaGraphicsRegisterFlags.cudaGraphicsRegisterFlagsSurfaceLoadStore
 *     cudaGraphicsRegisterFlagsTextureGather = ccudart.cudaGraphicsRegisterFlags.cudaGraphicsRegisterFlagsTextureGather
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphicsRegisterFlags(__pyx_e_4cuda_7ccudart_cudaGraphicsRegisterFlagsWriteDiscard); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 329, __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, 329, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":330
 *     cudaGraphicsRegisterFlagsReadOnly = ccudart.cudaGraphicsRegisterFlags.cudaGraphicsRegisterFlagsReadOnly
 *     cudaGraphicsRegisterFlagsWriteDiscard = ccudart.cudaGraphicsRegisterFlags.cudaGraphicsRegisterFlagsWriteDiscard
 *     cudaGraphicsRegisterFlagsSurfaceLoadStore = ccudart.cudaGraphicsRegisterFlags.cudaGraphicsRegisterFlagsSurfaceLoadStore             # <<<<<<<<<<<<<<
 *     cudaGraphicsRegisterFlagsTextureGather = ccudart.cudaGraphicsRegisterFlags.cudaGraphicsRegisterFlagsTextureGather
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphicsRegisterFlags(__pyx_e_4cuda_7ccudart_cudaGraphicsRegisterFlagsSurfaceLoadStore); 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_cudaGraphicsRegisterFlagsSurface, __pyx_t_4) < 0) __PYX_ERR(0, 330, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":331
 *     cudaGraphicsRegisterFlagsWriteDiscard = ccudart.cudaGraphicsRegisterFlags.cudaGraphicsRegisterFlagsWriteDiscard
 *     cudaGraphicsRegisterFlagsSurfaceLoadStore = ccudart.cudaGraphicsRegisterFlags.cudaGraphicsRegisterFlagsSurfaceLoadStore
 *     cudaGraphicsRegisterFlagsTextureGather = ccudart.cudaGraphicsRegisterFlags.cudaGraphicsRegisterFlagsTextureGather             # <<<<<<<<<<<<<<
 * 
 * class cudaGraphicsMapFlags(Enum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphicsRegisterFlags(__pyx_e_4cuda_7ccudart_cudaGraphicsRegisterFlagsTextureGather); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 331, __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, 331, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":326
 *     cudaGraphUserObjectMove = ccudart.cudaUserObjectRetainFlags.cudaGraphUserObjectMove
 * 
 * class cudaGraphicsRegisterFlags(Enum):             # <<<<<<<<<<<<<<
 *     cudaGraphicsRegisterFlagsNone = ccudart.cudaGraphicsRegisterFlags.cudaGraphicsRegisterFlagsNone
 *     cudaGraphicsRegisterFlagsReadOnly = ccudart.cudaGraphicsRegisterFlags.cudaGraphicsRegisterFlagsReadOnly
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_cudaGraphicsRegisterFlags, __pyx_t_1, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 326, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphicsRegisterFlags, __pyx_t_4) < 0) __PYX_ERR(0, 326, __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":333
 *     cudaGraphicsRegisterFlagsTextureGather = ccudart.cudaGraphicsRegisterFlags.cudaGraphicsRegisterFlagsTextureGather
 * 
 * class cudaGraphicsMapFlags(Enum):             # <<<<<<<<<<<<<<
 *     cudaGraphicsMapFlagsNone = ccudart.cudaGraphicsMapFlags.cudaGraphicsMapFlagsNone
 *     cudaGraphicsMapFlagsReadOnly = ccudart.cudaGraphicsMapFlags.cudaGraphicsMapFlagsReadOnly
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Enum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 333, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 333, __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, 333, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_2, __pyx_n_s_cudaGraphicsMapFlags, __pyx_n_s_cudaGraphicsMapFlags, (PyObject *) NULL, __pyx_n_s_cuda_cudart, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 333, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":334
 * 
 * class cudaGraphicsMapFlags(Enum):
 *     cudaGraphicsMapFlagsNone = ccudart.cudaGraphicsMapFlags.cudaGraphicsMapFlagsNone             # <<<<<<<<<<<<<<
 *     cudaGraphicsMapFlagsReadOnly = ccudart.cudaGraphicsMapFlags.cudaGraphicsMapFlagsReadOnly
 *     cudaGraphicsMapFlagsWriteDiscard = ccudart.cudaGraphicsMapFlags.cudaGraphicsMapFlagsWriteDiscard
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphicsMapFlags(__pyx_e_4cuda_7ccudart_cudaGraphicsMapFlagsNone); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 334, __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, 334, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":335
 * class cudaGraphicsMapFlags(Enum):
 *     cudaGraphicsMapFlagsNone = ccudart.cudaGraphicsMapFlags.cudaGraphicsMapFlagsNone
 *     cudaGraphicsMapFlagsReadOnly = ccudart.cudaGraphicsMapFlags.cudaGraphicsMapFlagsReadOnly             # <<<<<<<<<<<<<<
 *     cudaGraphicsMapFlagsWriteDiscard = ccudart.cudaGraphicsMapFlags.cudaGraphicsMapFlagsWriteDiscard
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphicsMapFlags(__pyx_e_4cuda_7ccudart_cudaGraphicsMapFlagsReadOnly); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 335, __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, 335, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":336
 *     cudaGraphicsMapFlagsNone = ccudart.cudaGraphicsMapFlags.cudaGraphicsMapFlagsNone
 *     cudaGraphicsMapFlagsReadOnly = ccudart.cudaGraphicsMapFlags.cudaGraphicsMapFlagsReadOnly
 *     cudaGraphicsMapFlagsWriteDiscard = ccudart.cudaGraphicsMapFlags.cudaGraphicsMapFlagsWriteDiscard             # <<<<<<<<<<<<<<
 * 
 * class cudaGraphicsCubeFace(Enum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphicsMapFlags(__pyx_e_4cuda_7ccudart_cudaGraphicsMapFlagsWriteDiscard); 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_cudaGraphicsMapFlagsWriteDiscard, __pyx_t_4) < 0) __PYX_ERR(0, 336, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":333
 *     cudaGraphicsRegisterFlagsTextureGather = ccudart.cudaGraphicsRegisterFlags.cudaGraphicsRegisterFlagsTextureGather
 * 
 * class cudaGraphicsMapFlags(Enum):             # <<<<<<<<<<<<<<
 *     cudaGraphicsMapFlagsNone = ccudart.cudaGraphicsMapFlags.cudaGraphicsMapFlagsNone
 *     cudaGraphicsMapFlagsReadOnly = ccudart.cudaGraphicsMapFlags.cudaGraphicsMapFlagsReadOnly
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_cudaGraphicsMapFlags, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 333, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphicsMapFlags, __pyx_t_4) < 0) __PYX_ERR(0, 333, __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":338
 *     cudaGraphicsMapFlagsWriteDiscard = ccudart.cudaGraphicsMapFlags.cudaGraphicsMapFlagsWriteDiscard
 * 
 * class cudaGraphicsCubeFace(Enum):             # <<<<<<<<<<<<<<
 *     cudaGraphicsCubeFacePositiveX = ccudart.cudaGraphicsCubeFace.cudaGraphicsCubeFacePositiveX
 *     cudaGraphicsCubeFaceNegativeX = ccudart.cudaGraphicsCubeFace.cudaGraphicsCubeFaceNegativeX
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Enum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 338, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 338, __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, 338, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_cudaGraphicsCubeFace, __pyx_n_s_cudaGraphicsCubeFace, (PyObject *) NULL, __pyx_n_s_cuda_cudart, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 338, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":339
 * 
 * class cudaGraphicsCubeFace(Enum):
 *     cudaGraphicsCubeFacePositiveX = ccudart.cudaGraphicsCubeFace.cudaGraphicsCubeFacePositiveX             # <<<<<<<<<<<<<<
 *     cudaGraphicsCubeFaceNegativeX = ccudart.cudaGraphicsCubeFace.cudaGraphicsCubeFaceNegativeX
 *     cudaGraphicsCubeFacePositiveY = ccudart.cudaGraphicsCubeFace.cudaGraphicsCubeFacePositiveY
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphicsCubeFace(__pyx_e_4cuda_7ccudart_cudaGraphicsCubeFacePositiveX); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 339, __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, 339, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":340
 * class cudaGraphicsCubeFace(Enum):
 *     cudaGraphicsCubeFacePositiveX = ccudart.cudaGraphicsCubeFace.cudaGraphicsCubeFacePositiveX
 *     cudaGraphicsCubeFaceNegativeX = ccudart.cudaGraphicsCubeFace.cudaGraphicsCubeFaceNegativeX             # <<<<<<<<<<<<<<
 *     cudaGraphicsCubeFacePositiveY = ccudart.cudaGraphicsCubeFace.cudaGraphicsCubeFacePositiveY
 *     cudaGraphicsCubeFaceNegativeY = ccudart.cudaGraphicsCubeFace.cudaGraphicsCubeFaceNegativeY
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphicsCubeFace(__pyx_e_4cuda_7ccudart_cudaGraphicsCubeFaceNegativeX); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 340, __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, 340, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":341
 *     cudaGraphicsCubeFacePositiveX = ccudart.cudaGraphicsCubeFace.cudaGraphicsCubeFacePositiveX
 *     cudaGraphicsCubeFaceNegativeX = ccudart.cudaGraphicsCubeFace.cudaGraphicsCubeFaceNegativeX
 *     cudaGraphicsCubeFacePositiveY = ccudart.cudaGraphicsCubeFace.cudaGraphicsCubeFacePositiveY             # <<<<<<<<<<<<<<
 *     cudaGraphicsCubeFaceNegativeY = ccudart.cudaGraphicsCubeFace.cudaGraphicsCubeFaceNegativeY
 *     cudaGraphicsCubeFacePositiveZ = ccudart.cudaGraphicsCubeFace.cudaGraphicsCubeFacePositiveZ
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphicsCubeFace(__pyx_e_4cuda_7ccudart_cudaGraphicsCubeFacePositiveY); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 341, __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, 341, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":342
 *     cudaGraphicsCubeFaceNegativeX = ccudart.cudaGraphicsCubeFace.cudaGraphicsCubeFaceNegativeX
 *     cudaGraphicsCubeFacePositiveY = ccudart.cudaGraphicsCubeFace.cudaGraphicsCubeFacePositiveY
 *     cudaGraphicsCubeFaceNegativeY = ccudart.cudaGraphicsCubeFace.cudaGraphicsCubeFaceNegativeY             # <<<<<<<<<<<<<<
 *     cudaGraphicsCubeFacePositiveZ = ccudart.cudaGraphicsCubeFace.cudaGraphicsCubeFacePositiveZ
 *     cudaGraphicsCubeFaceNegativeZ = ccudart.cudaGraphicsCubeFace.cudaGraphicsCubeFaceNegativeZ
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphicsCubeFace(__pyx_e_4cuda_7ccudart_cudaGraphicsCubeFaceNegativeY); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 342, __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, 342, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":343
 *     cudaGraphicsCubeFacePositiveY = ccudart.cudaGraphicsCubeFace.cudaGraphicsCubeFacePositiveY
 *     cudaGraphicsCubeFaceNegativeY = ccudart.cudaGraphicsCubeFace.cudaGraphicsCubeFaceNegativeY
 *     cudaGraphicsCubeFacePositiveZ = ccudart.cudaGraphicsCubeFace.cudaGraphicsCubeFacePositiveZ             # <<<<<<<<<<<<<<
 *     cudaGraphicsCubeFaceNegativeZ = ccudart.cudaGraphicsCubeFace.cudaGraphicsCubeFaceNegativeZ
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphicsCubeFace(__pyx_e_4cuda_7ccudart_cudaGraphicsCubeFacePositiveZ); 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_cudaGraphicsCubeFacePositiveZ, __pyx_t_4) < 0) __PYX_ERR(0, 343, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":344
 *     cudaGraphicsCubeFaceNegativeY = ccudart.cudaGraphicsCubeFace.cudaGraphicsCubeFaceNegativeY
 *     cudaGraphicsCubeFacePositiveZ = ccudart.cudaGraphicsCubeFace.cudaGraphicsCubeFacePositiveZ
 *     cudaGraphicsCubeFaceNegativeZ = ccudart.cudaGraphicsCubeFace.cudaGraphicsCubeFaceNegativeZ             # <<<<<<<<<<<<<<
 * 
 * class cudaKernelNodeAttrID(Enum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphicsCubeFace(__pyx_e_4cuda_7ccudart_cudaGraphicsCubeFaceNegativeZ); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 344, __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, 344, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":338
 *     cudaGraphicsMapFlagsWriteDiscard = ccudart.cudaGraphicsMapFlags.cudaGraphicsMapFlagsWriteDiscard
 * 
 * class cudaGraphicsCubeFace(Enum):             # <<<<<<<<<<<<<<
 *     cudaGraphicsCubeFacePositiveX = ccudart.cudaGraphicsCubeFace.cudaGraphicsCubeFacePositiveX
 *     cudaGraphicsCubeFaceNegativeX = ccudart.cudaGraphicsCubeFace.cudaGraphicsCubeFaceNegativeX
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_cudaGraphicsCubeFace, __pyx_t_1, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 338, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphicsCubeFace, __pyx_t_4) < 0) __PYX_ERR(0, 338, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":346
 *     cudaGraphicsCubeFaceNegativeZ = ccudart.cudaGraphicsCubeFace.cudaGraphicsCubeFaceNegativeZ
 * 
 * class cudaKernelNodeAttrID(Enum):             # <<<<<<<<<<<<<<
 *     cudaKernelNodeAttributeAccessPolicyWindow = ccudart.cudaKernelNodeAttrID.cudaKernelNodeAttributeAccessPolicyWindow
 *     cudaKernelNodeAttributeCooperative = ccudart.cudaKernelNodeAttrID.cudaKernelNodeAttributeCooperative
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Enum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 346, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 346, __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, 346, __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, 346, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":347
 * 
 * class cudaKernelNodeAttrID(Enum):
 *     cudaKernelNodeAttributeAccessPolicyWindow = ccudart.cudaKernelNodeAttrID.cudaKernelNodeAttributeAccessPolicyWindow             # <<<<<<<<<<<<<<
 *     cudaKernelNodeAttributeCooperative = ccudart.cudaKernelNodeAttrID.cudaKernelNodeAttributeCooperative
 * 
 */
  __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, 347, __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, 347, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":348
 * class cudaKernelNodeAttrID(Enum):
 *     cudaKernelNodeAttributeAccessPolicyWindow = ccudart.cudaKernelNodeAttrID.cudaKernelNodeAttributeAccessPolicyWindow
 *     cudaKernelNodeAttributeCooperative = ccudart.cudaKernelNodeAttrID.cudaKernelNodeAttributeCooperative             # <<<<<<<<<<<<<<
 * 
 * class cudaResourceType(Enum):
 */
  __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, 348, __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, 348, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":346
 *     cudaGraphicsCubeFaceNegativeZ = ccudart.cudaGraphicsCubeFace.cudaGraphicsCubeFaceNegativeZ
 * 
 * class cudaKernelNodeAttrID(Enum):             # <<<<<<<<<<<<<<
 *     cudaKernelNodeAttributeAccessPolicyWindow = ccudart.cudaKernelNodeAttrID.cudaKernelNodeAttributeAccessPolicyWindow
 *     cudaKernelNodeAttributeCooperative = ccudart.cudaKernelNodeAttrID.cudaKernelNodeAttributeCooperative
 */
  __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, 346, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaKernelNodeAttrID, __pyx_t_4) < 0) __PYX_ERR(0, 346, __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":350
 *     cudaKernelNodeAttributeCooperative = ccudart.cudaKernelNodeAttrID.cudaKernelNodeAttributeCooperative
 * 
 * class cudaResourceType(Enum):             # <<<<<<<<<<<<<<
 *     cudaResourceTypeArray = ccudart.cudaResourceType.cudaResourceTypeArray
 *     cudaResourceTypeMipmappedArray = ccudart.cudaResourceType.cudaResourceTypeMipmappedArray
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Enum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 350, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 350, __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, 350, __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, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 350, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":351
 * 
 * class cudaResourceType(Enum):
 *     cudaResourceTypeArray = ccudart.cudaResourceType.cudaResourceTypeArray             # <<<<<<<<<<<<<<
 *     cudaResourceTypeMipmappedArray = ccudart.cudaResourceType.cudaResourceTypeMipmappedArray
 *     cudaResourceTypeLinear = ccudart.cudaResourceType.cudaResourceTypeLinear
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaResourceType(__pyx_e_4cuda_7ccudart_cudaResourceTypeArray); 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_cudaResourceTypeArray, __pyx_t_4) < 0) __PYX_ERR(0, 351, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":352
 * class cudaResourceType(Enum):
 *     cudaResourceTypeArray = ccudart.cudaResourceType.cudaResourceTypeArray
 *     cudaResourceTypeMipmappedArray = ccudart.cudaResourceType.cudaResourceTypeMipmappedArray             # <<<<<<<<<<<<<<
 *     cudaResourceTypeLinear = ccudart.cudaResourceType.cudaResourceTypeLinear
 *     cudaResourceTypePitch2D = ccudart.cudaResourceType.cudaResourceTypePitch2D
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaResourceType(__pyx_e_4cuda_7ccudart_cudaResourceTypeMipmappedArray); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 352, __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, 352, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":353
 *     cudaResourceTypeArray = ccudart.cudaResourceType.cudaResourceTypeArray
 *     cudaResourceTypeMipmappedArray = ccudart.cudaResourceType.cudaResourceTypeMipmappedArray
 *     cudaResourceTypeLinear = ccudart.cudaResourceType.cudaResourceTypeLinear             # <<<<<<<<<<<<<<
 *     cudaResourceTypePitch2D = ccudart.cudaResourceType.cudaResourceTypePitch2D
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaResourceType(__pyx_e_4cuda_7ccudart_cudaResourceTypeLinear); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 353, __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, 353, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":354
 *     cudaResourceTypeMipmappedArray = ccudart.cudaResourceType.cudaResourceTypeMipmappedArray
 *     cudaResourceTypeLinear = ccudart.cudaResourceType.cudaResourceTypeLinear
 *     cudaResourceTypePitch2D = ccudart.cudaResourceType.cudaResourceTypePitch2D             # <<<<<<<<<<<<<<
 * 
 * class cudaResourceViewFormat(Enum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaResourceType(__pyx_e_4cuda_7ccudart_cudaResourceTypePitch2D); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 354, __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, 354, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":350
 *     cudaKernelNodeAttributeCooperative = ccudart.cudaKernelNodeAttrID.cudaKernelNodeAttributeCooperative
 * 
 * class cudaResourceType(Enum):             # <<<<<<<<<<<<<<
 *     cudaResourceTypeArray = ccudart.cudaResourceType.cudaResourceTypeArray
 *     cudaResourceTypeMipmappedArray = ccudart.cudaResourceType.cudaResourceTypeMipmappedArray
 */
  __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, 350, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaResourceType, __pyx_t_4) < 0) __PYX_ERR(0, 350, __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":356
 *     cudaResourceTypePitch2D = ccudart.cudaResourceType.cudaResourceTypePitch2D
 * 
 * class cudaResourceViewFormat(Enum):             # <<<<<<<<<<<<<<
 *     cudaResViewFormatNone = ccudart.cudaResourceViewFormat.cudaResViewFormatNone
 *     cudaResViewFormatUnsignedChar1 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedChar1
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Enum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 356, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 356, __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, 356, __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, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 356, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":357
 * 
 * class cudaResourceViewFormat(Enum):
 *     cudaResViewFormatNone = ccudart.cudaResourceViewFormat.cudaResViewFormatNone             # <<<<<<<<<<<<<<
 *     cudaResViewFormatUnsignedChar1 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedChar1
 *     cudaResViewFormatUnsignedChar2 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedChar2
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaResourceViewFormat(__pyx_e_4cuda_7ccudart_cudaResViewFormatNone); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 357, __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, 357, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":358
 * class cudaResourceViewFormat(Enum):
 *     cudaResViewFormatNone = ccudart.cudaResourceViewFormat.cudaResViewFormatNone
 *     cudaResViewFormatUnsignedChar1 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedChar1             # <<<<<<<<<<<<<<
 *     cudaResViewFormatUnsignedChar2 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedChar2
 *     cudaResViewFormatUnsignedChar4 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedChar4
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaResourceViewFormat(__pyx_e_4cuda_7ccudart_cudaResViewFormatUnsignedChar1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 358, __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, 358, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":359
 *     cudaResViewFormatNone = ccudart.cudaResourceViewFormat.cudaResViewFormatNone
 *     cudaResViewFormatUnsignedChar1 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedChar1
 *     cudaResViewFormatUnsignedChar2 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedChar2             # <<<<<<<<<<<<<<
 *     cudaResViewFormatUnsignedChar4 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedChar4
 *     cudaResViewFormatSignedChar1 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedChar1
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaResourceViewFormat(__pyx_e_4cuda_7ccudart_cudaResViewFormatUnsignedChar2); 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_cudaResViewFormatUnsignedChar2, __pyx_t_4) < 0) __PYX_ERR(0, 359, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":360
 *     cudaResViewFormatUnsignedChar1 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedChar1
 *     cudaResViewFormatUnsignedChar2 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedChar2
 *     cudaResViewFormatUnsignedChar4 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedChar4             # <<<<<<<<<<<<<<
 *     cudaResViewFormatSignedChar1 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedChar1
 *     cudaResViewFormatSignedChar2 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedChar2
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaResourceViewFormat(__pyx_e_4cuda_7ccudart_cudaResViewFormatUnsignedChar4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 360, __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, 360, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":361
 *     cudaResViewFormatUnsignedChar2 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedChar2
 *     cudaResViewFormatUnsignedChar4 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedChar4
 *     cudaResViewFormatSignedChar1 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedChar1             # <<<<<<<<<<<<<<
 *     cudaResViewFormatSignedChar2 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedChar2
 *     cudaResViewFormatSignedChar4 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedChar4
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaResourceViewFormat(__pyx_e_4cuda_7ccudart_cudaResViewFormatSignedChar1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 361, __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, 361, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":362
 *     cudaResViewFormatUnsignedChar4 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedChar4
 *     cudaResViewFormatSignedChar1 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedChar1
 *     cudaResViewFormatSignedChar2 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedChar2             # <<<<<<<<<<<<<<
 *     cudaResViewFormatSignedChar4 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedChar4
 *     cudaResViewFormatUnsignedShort1 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedShort1
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaResourceViewFormat(__pyx_e_4cuda_7ccudart_cudaResViewFormatSignedChar2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 362, __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, 362, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":363
 *     cudaResViewFormatSignedChar1 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedChar1
 *     cudaResViewFormatSignedChar2 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedChar2
 *     cudaResViewFormatSignedChar4 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedChar4             # <<<<<<<<<<<<<<
 *     cudaResViewFormatUnsignedShort1 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedShort1
 *     cudaResViewFormatUnsignedShort2 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedShort2
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaResourceViewFormat(__pyx_e_4cuda_7ccudart_cudaResViewFormatSignedChar4); 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_cudaResViewFormatSignedChar4, __pyx_t_4) < 0) __PYX_ERR(0, 363, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":364
 *     cudaResViewFormatSignedChar2 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedChar2
 *     cudaResViewFormatSignedChar4 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedChar4
 *     cudaResViewFormatUnsignedShort1 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedShort1             # <<<<<<<<<<<<<<
 *     cudaResViewFormatUnsignedShort2 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedShort2
 *     cudaResViewFormatUnsignedShort4 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedShort4
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaResourceViewFormat(__pyx_e_4cuda_7ccudart_cudaResViewFormatUnsignedShort1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 364, __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, 364, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":365
 *     cudaResViewFormatSignedChar4 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedChar4
 *     cudaResViewFormatUnsignedShort1 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedShort1
 *     cudaResViewFormatUnsignedShort2 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedShort2             # <<<<<<<<<<<<<<
 *     cudaResViewFormatUnsignedShort4 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedShort4
 *     cudaResViewFormatSignedShort1 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedShort1
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaResourceViewFormat(__pyx_e_4cuda_7ccudart_cudaResViewFormatUnsignedShort2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 365, __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, 365, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":366
 *     cudaResViewFormatUnsignedShort1 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedShort1
 *     cudaResViewFormatUnsignedShort2 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedShort2
 *     cudaResViewFormatUnsignedShort4 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedShort4             # <<<<<<<<<<<<<<
 *     cudaResViewFormatSignedShort1 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedShort1
 *     cudaResViewFormatSignedShort2 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedShort2
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaResourceViewFormat(__pyx_e_4cuda_7ccudart_cudaResViewFormatUnsignedShort4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 366, __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, 366, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":367
 *     cudaResViewFormatUnsignedShort2 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedShort2
 *     cudaResViewFormatUnsignedShort4 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedShort4
 *     cudaResViewFormatSignedShort1 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedShort1             # <<<<<<<<<<<<<<
 *     cudaResViewFormatSignedShort2 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedShort2
 *     cudaResViewFormatSignedShort4 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedShort4
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaResourceViewFormat(__pyx_e_4cuda_7ccudart_cudaResViewFormatSignedShort1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 367, __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, 367, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":368
 *     cudaResViewFormatUnsignedShort4 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedShort4
 *     cudaResViewFormatSignedShort1 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedShort1
 *     cudaResViewFormatSignedShort2 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedShort2             # <<<<<<<<<<<<<<
 *     cudaResViewFormatSignedShort4 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedShort4
 *     cudaResViewFormatUnsignedInt1 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedInt1
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaResourceViewFormat(__pyx_e_4cuda_7ccudart_cudaResViewFormatSignedShort2); 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_cudaResViewFormatSignedShort2, __pyx_t_4) < 0) __PYX_ERR(0, 368, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":369
 *     cudaResViewFormatSignedShort1 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedShort1
 *     cudaResViewFormatSignedShort2 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedShort2
 *     cudaResViewFormatSignedShort4 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedShort4             # <<<<<<<<<<<<<<
 *     cudaResViewFormatUnsignedInt1 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedInt1
 *     cudaResViewFormatUnsignedInt2 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedInt2
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaResourceViewFormat(__pyx_e_4cuda_7ccudart_cudaResViewFormatSignedShort4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 369, __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, 369, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":370
 *     cudaResViewFormatSignedShort2 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedShort2
 *     cudaResViewFormatSignedShort4 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedShort4
 *     cudaResViewFormatUnsignedInt1 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedInt1             # <<<<<<<<<<<<<<
 *     cudaResViewFormatUnsignedInt2 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedInt2
 *     cudaResViewFormatUnsignedInt4 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedInt4
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaResourceViewFormat(__pyx_e_4cuda_7ccudart_cudaResViewFormatUnsignedInt1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 370, __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, 370, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":371
 *     cudaResViewFormatSignedShort4 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedShort4
 *     cudaResViewFormatUnsignedInt1 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedInt1
 *     cudaResViewFormatUnsignedInt2 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedInt2             # <<<<<<<<<<<<<<
 *     cudaResViewFormatUnsignedInt4 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedInt4
 *     cudaResViewFormatSignedInt1 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedInt1
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaResourceViewFormat(__pyx_e_4cuda_7ccudart_cudaResViewFormatUnsignedInt2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 371, __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, 371, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":372
 *     cudaResViewFormatUnsignedInt1 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedInt1
 *     cudaResViewFormatUnsignedInt2 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedInt2
 *     cudaResViewFormatUnsignedInt4 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedInt4             # <<<<<<<<<<<<<<
 *     cudaResViewFormatSignedInt1 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedInt1
 *     cudaResViewFormatSignedInt2 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedInt2
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaResourceViewFormat(__pyx_e_4cuda_7ccudart_cudaResViewFormatUnsignedInt4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 372, __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, 372, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":373
 *     cudaResViewFormatUnsignedInt2 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedInt2
 *     cudaResViewFormatUnsignedInt4 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedInt4
 *     cudaResViewFormatSignedInt1 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedInt1             # <<<<<<<<<<<<<<
 *     cudaResViewFormatSignedInt2 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedInt2
 *     cudaResViewFormatSignedInt4 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedInt4
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaResourceViewFormat(__pyx_e_4cuda_7ccudart_cudaResViewFormatSignedInt1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 373, __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, 373, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":374
 *     cudaResViewFormatUnsignedInt4 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedInt4
 *     cudaResViewFormatSignedInt1 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedInt1
 *     cudaResViewFormatSignedInt2 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedInt2             # <<<<<<<<<<<<<<
 *     cudaResViewFormatSignedInt4 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedInt4
 *     cudaResViewFormatHalf1 = ccudart.cudaResourceViewFormat.cudaResViewFormatHalf1
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaResourceViewFormat(__pyx_e_4cuda_7ccudart_cudaResViewFormatSignedInt2); 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_cudaResViewFormatSignedInt2, __pyx_t_4) < 0) __PYX_ERR(0, 374, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":375
 *     cudaResViewFormatSignedInt1 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedInt1
 *     cudaResViewFormatSignedInt2 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedInt2
 *     cudaResViewFormatSignedInt4 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedInt4             # <<<<<<<<<<<<<<
 *     cudaResViewFormatHalf1 = ccudart.cudaResourceViewFormat.cudaResViewFormatHalf1
 *     cudaResViewFormatHalf2 = ccudart.cudaResourceViewFormat.cudaResViewFormatHalf2
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaResourceViewFormat(__pyx_e_4cuda_7ccudart_cudaResViewFormatSignedInt4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 375, __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, 375, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":376
 *     cudaResViewFormatSignedInt2 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedInt2
 *     cudaResViewFormatSignedInt4 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedInt4
 *     cudaResViewFormatHalf1 = ccudart.cudaResourceViewFormat.cudaResViewFormatHalf1             # <<<<<<<<<<<<<<
 *     cudaResViewFormatHalf2 = ccudart.cudaResourceViewFormat.cudaResViewFormatHalf2
 *     cudaResViewFormatHalf4 = ccudart.cudaResourceViewFormat.cudaResViewFormatHalf4
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaResourceViewFormat(__pyx_e_4cuda_7ccudart_cudaResViewFormatHalf1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 376, __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, 376, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":377
 *     cudaResViewFormatSignedInt4 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedInt4
 *     cudaResViewFormatHalf1 = ccudart.cudaResourceViewFormat.cudaResViewFormatHalf1
 *     cudaResViewFormatHalf2 = ccudart.cudaResourceViewFormat.cudaResViewFormatHalf2             # <<<<<<<<<<<<<<
 *     cudaResViewFormatHalf4 = ccudart.cudaResourceViewFormat.cudaResViewFormatHalf4
 *     cudaResViewFormatFloat1 = ccudart.cudaResourceViewFormat.cudaResViewFormatFloat1
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaResourceViewFormat(__pyx_e_4cuda_7ccudart_cudaResViewFormatHalf2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 377, __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, 377, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":378
 *     cudaResViewFormatHalf1 = ccudart.cudaResourceViewFormat.cudaResViewFormatHalf1
 *     cudaResViewFormatHalf2 = ccudart.cudaResourceViewFormat.cudaResViewFormatHalf2
 *     cudaResViewFormatHalf4 = ccudart.cudaResourceViewFormat.cudaResViewFormatHalf4             # <<<<<<<<<<<<<<
 *     cudaResViewFormatFloat1 = ccudart.cudaResourceViewFormat.cudaResViewFormatFloat1
 *     cudaResViewFormatFloat2 = ccudart.cudaResourceViewFormat.cudaResViewFormatFloat2
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaResourceViewFormat(__pyx_e_4cuda_7ccudart_cudaResViewFormatHalf4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 378, __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, 378, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":379
 *     cudaResViewFormatHalf2 = ccudart.cudaResourceViewFormat.cudaResViewFormatHalf2
 *     cudaResViewFormatHalf4 = ccudart.cudaResourceViewFormat.cudaResViewFormatHalf4
 *     cudaResViewFormatFloat1 = ccudart.cudaResourceViewFormat.cudaResViewFormatFloat1             # <<<<<<<<<<<<<<
 *     cudaResViewFormatFloat2 = ccudart.cudaResourceViewFormat.cudaResViewFormatFloat2
 *     cudaResViewFormatFloat4 = ccudart.cudaResourceViewFormat.cudaResViewFormatFloat4
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaResourceViewFormat(__pyx_e_4cuda_7ccudart_cudaResViewFormatFloat1); 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_cudaResViewFormatFloat1, __pyx_t_4) < 0) __PYX_ERR(0, 379, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":380
 *     cudaResViewFormatHalf4 = ccudart.cudaResourceViewFormat.cudaResViewFormatHalf4
 *     cudaResViewFormatFloat1 = ccudart.cudaResourceViewFormat.cudaResViewFormatFloat1
 *     cudaResViewFormatFloat2 = ccudart.cudaResourceViewFormat.cudaResViewFormatFloat2             # <<<<<<<<<<<<<<
 *     cudaResViewFormatFloat4 = ccudart.cudaResourceViewFormat.cudaResViewFormatFloat4
 *     cudaResViewFormatUnsignedBlockCompressed1 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedBlockCompressed1
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaResourceViewFormat(__pyx_e_4cuda_7ccudart_cudaResViewFormatFloat2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 380, __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, 380, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":381
 *     cudaResViewFormatFloat1 = ccudart.cudaResourceViewFormat.cudaResViewFormatFloat1
 *     cudaResViewFormatFloat2 = ccudart.cudaResourceViewFormat.cudaResViewFormatFloat2
 *     cudaResViewFormatFloat4 = ccudart.cudaResourceViewFormat.cudaResViewFormatFloat4             # <<<<<<<<<<<<<<
 *     cudaResViewFormatUnsignedBlockCompressed1 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedBlockCompressed1
 *     cudaResViewFormatUnsignedBlockCompressed2 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedBlockCompressed2
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaResourceViewFormat(__pyx_e_4cuda_7ccudart_cudaResViewFormatFloat4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 381, __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, 381, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":382
 *     cudaResViewFormatFloat2 = ccudart.cudaResourceViewFormat.cudaResViewFormatFloat2
 *     cudaResViewFormatFloat4 = ccudart.cudaResourceViewFormat.cudaResViewFormatFloat4
 *     cudaResViewFormatUnsignedBlockCompressed1 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedBlockCompressed1             # <<<<<<<<<<<<<<
 *     cudaResViewFormatUnsignedBlockCompressed2 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedBlockCompressed2
 *     cudaResViewFormatUnsignedBlockCompressed3 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedBlockCompressed3
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaResourceViewFormat(__pyx_e_4cuda_7ccudart_cudaResViewFormatUnsignedBlockCompressed1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 382, __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, 382, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":383
 *     cudaResViewFormatFloat4 = ccudart.cudaResourceViewFormat.cudaResViewFormatFloat4
 *     cudaResViewFormatUnsignedBlockCompressed1 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedBlockCompressed1
 *     cudaResViewFormatUnsignedBlockCompressed2 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedBlockCompressed2             # <<<<<<<<<<<<<<
 *     cudaResViewFormatUnsignedBlockCompressed3 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedBlockCompressed3
 *     cudaResViewFormatUnsignedBlockCompressed4 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedBlockCompressed4
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaResourceViewFormat(__pyx_e_4cuda_7ccudart_cudaResViewFormatUnsignedBlockCompressed2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 383, __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, 383, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":384
 *     cudaResViewFormatUnsignedBlockCompressed1 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedBlockCompressed1
 *     cudaResViewFormatUnsignedBlockCompressed2 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedBlockCompressed2
 *     cudaResViewFormatUnsignedBlockCompressed3 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedBlockCompressed3             # <<<<<<<<<<<<<<
 *     cudaResViewFormatUnsignedBlockCompressed4 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedBlockCompressed4
 *     cudaResViewFormatSignedBlockCompressed4 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedBlockCompressed4
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaResourceViewFormat(__pyx_e_4cuda_7ccudart_cudaResViewFormatUnsignedBlockCompressed3); 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_cudaResViewFormatUnsignedBlockCo_3, __pyx_t_4) < 0) __PYX_ERR(0, 384, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":385
 *     cudaResViewFormatUnsignedBlockCompressed2 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedBlockCompressed2
 *     cudaResViewFormatUnsignedBlockCompressed3 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedBlockCompressed3
 *     cudaResViewFormatUnsignedBlockCompressed4 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedBlockCompressed4             # <<<<<<<<<<<<<<
 *     cudaResViewFormatSignedBlockCompressed4 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedBlockCompressed4
 *     cudaResViewFormatUnsignedBlockCompressed5 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedBlockCompressed5
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaResourceViewFormat(__pyx_e_4cuda_7ccudart_cudaResViewFormatUnsignedBlockCompressed4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 385, __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, 385, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":386
 *     cudaResViewFormatUnsignedBlockCompressed3 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedBlockCompressed3
 *     cudaResViewFormatUnsignedBlockCompressed4 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedBlockCompressed4
 *     cudaResViewFormatSignedBlockCompressed4 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedBlockCompressed4             # <<<<<<<<<<<<<<
 *     cudaResViewFormatUnsignedBlockCompressed5 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedBlockCompressed5
 *     cudaResViewFormatSignedBlockCompressed5 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedBlockCompressed5
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaResourceViewFormat(__pyx_e_4cuda_7ccudart_cudaResViewFormatSignedBlockCompressed4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 386, __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, 386, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":387
 *     cudaResViewFormatUnsignedBlockCompressed4 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedBlockCompressed4
 *     cudaResViewFormatSignedBlockCompressed4 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedBlockCompressed4
 *     cudaResViewFormatUnsignedBlockCompressed5 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedBlockCompressed5             # <<<<<<<<<<<<<<
 *     cudaResViewFormatSignedBlockCompressed5 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedBlockCompressed5
 *     cudaResViewFormatUnsignedBlockCompressed6H = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedBlockCompressed6H
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaResourceViewFormat(__pyx_e_4cuda_7ccudart_cudaResViewFormatUnsignedBlockCompressed5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 387, __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, 387, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":388
 *     cudaResViewFormatSignedBlockCompressed4 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedBlockCompressed4
 *     cudaResViewFormatUnsignedBlockCompressed5 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedBlockCompressed5
 *     cudaResViewFormatSignedBlockCompressed5 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedBlockCompressed5             # <<<<<<<<<<<<<<
 *     cudaResViewFormatUnsignedBlockCompressed6H = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedBlockCompressed6H
 *     cudaResViewFormatSignedBlockCompressed6H = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedBlockCompressed6H
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaResourceViewFormat(__pyx_e_4cuda_7ccudart_cudaResViewFormatSignedBlockCompressed5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 388, __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, 388, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":389
 *     cudaResViewFormatUnsignedBlockCompressed5 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedBlockCompressed5
 *     cudaResViewFormatSignedBlockCompressed5 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedBlockCompressed5
 *     cudaResViewFormatUnsignedBlockCompressed6H = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedBlockCompressed6H             # <<<<<<<<<<<<<<
 *     cudaResViewFormatSignedBlockCompressed6H = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedBlockCompressed6H
 *     cudaResViewFormatUnsignedBlockCompressed7 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedBlockCompressed7
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaResourceViewFormat(__pyx_e_4cuda_7ccudart_cudaResViewFormatUnsignedBlockCompressed6H); 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_cudaResViewFormatUnsignedBlockCo_6, __pyx_t_4) < 0) __PYX_ERR(0, 389, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":390
 *     cudaResViewFormatSignedBlockCompressed5 = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedBlockCompressed5
 *     cudaResViewFormatUnsignedBlockCompressed6H = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedBlockCompressed6H
 *     cudaResViewFormatSignedBlockCompressed6H = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedBlockCompressed6H             # <<<<<<<<<<<<<<
 *     cudaResViewFormatUnsignedBlockCompressed7 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedBlockCompressed7
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaResourceViewFormat(__pyx_e_4cuda_7ccudart_cudaResViewFormatSignedBlockCompressed6H); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 390, __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, 390, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":391
 *     cudaResViewFormatUnsignedBlockCompressed6H = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedBlockCompressed6H
 *     cudaResViewFormatSignedBlockCompressed6H = ccudart.cudaResourceViewFormat.cudaResViewFormatSignedBlockCompressed6H
 *     cudaResViewFormatUnsignedBlockCompressed7 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedBlockCompressed7             # <<<<<<<<<<<<<<
 * 
 * class cudaFuncAttribute(Enum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaResourceViewFormat(__pyx_e_4cuda_7ccudart_cudaResViewFormatUnsignedBlockCompressed7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 391, __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, 391, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":356
 *     cudaResourceTypePitch2D = ccudart.cudaResourceType.cudaResourceTypePitch2D
 * 
 * class cudaResourceViewFormat(Enum):             # <<<<<<<<<<<<<<
 *     cudaResViewFormatNone = ccudart.cudaResourceViewFormat.cudaResViewFormatNone
 *     cudaResViewFormatUnsignedChar1 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedChar1
 */
  __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, 356, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaResourceViewFormat, __pyx_t_4) < 0) __PYX_ERR(0, 356, __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":393
 *     cudaResViewFormatUnsignedBlockCompressed7 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedBlockCompressed7
 * 
 * class cudaFuncAttribute(Enum):             # <<<<<<<<<<<<<<
 *     cudaFuncAttributeMaxDynamicSharedMemorySize = ccudart.cudaFuncAttribute.cudaFuncAttributeMaxDynamicSharedMemorySize
 *     cudaFuncAttributePreferredSharedMemoryCarveout = ccudart.cudaFuncAttribute.cudaFuncAttributePreferredSharedMemoryCarveout
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Enum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 393, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 393, __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, 393, __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, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 393, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":394
 * 
 * class cudaFuncAttribute(Enum):
 *     cudaFuncAttributeMaxDynamicSharedMemorySize = ccudart.cudaFuncAttribute.cudaFuncAttributeMaxDynamicSharedMemorySize             # <<<<<<<<<<<<<<
 *     cudaFuncAttributePreferredSharedMemoryCarveout = ccudart.cudaFuncAttribute.cudaFuncAttributePreferredSharedMemoryCarveout
 *     cudaFuncAttributeMax = ccudart.cudaFuncAttribute.cudaFuncAttributeMax
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaFuncAttribute(__pyx_e_4cuda_7ccudart_cudaFuncAttributeMaxDynamicSharedMemorySize); 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_cudaFuncAttributeMaxDynamicShare, __pyx_t_4) < 0) __PYX_ERR(0, 394, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":395
 * class cudaFuncAttribute(Enum):
 *     cudaFuncAttributeMaxDynamicSharedMemorySize = ccudart.cudaFuncAttribute.cudaFuncAttributeMaxDynamicSharedMemorySize
 *     cudaFuncAttributePreferredSharedMemoryCarveout = ccudart.cudaFuncAttribute.cudaFuncAttributePreferredSharedMemoryCarveout             # <<<<<<<<<<<<<<
 *     cudaFuncAttributeMax = ccudart.cudaFuncAttribute.cudaFuncAttributeMax
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaFuncAttribute(__pyx_e_4cuda_7ccudart_cudaFuncAttributePreferredSharedMemoryCarveout); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 395, __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, 395, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":396
 *     cudaFuncAttributeMaxDynamicSharedMemorySize = ccudart.cudaFuncAttribute.cudaFuncAttributeMaxDynamicSharedMemorySize
 *     cudaFuncAttributePreferredSharedMemoryCarveout = ccudart.cudaFuncAttribute.cudaFuncAttributePreferredSharedMemoryCarveout
 *     cudaFuncAttributeMax = ccudart.cudaFuncAttribute.cudaFuncAttributeMax             # <<<<<<<<<<<<<<
 * 
 * class cudaFuncCache(Enum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaFuncAttribute(__pyx_e_4cuda_7ccudart_cudaFuncAttributeMax); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 396, __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, 396, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":393
 *     cudaResViewFormatUnsignedBlockCompressed7 = ccudart.cudaResourceViewFormat.cudaResViewFormatUnsignedBlockCompressed7
 * 
 * class cudaFuncAttribute(Enum):             # <<<<<<<<<<<<<<
 *     cudaFuncAttributeMaxDynamicSharedMemorySize = ccudart.cudaFuncAttribute.cudaFuncAttributeMaxDynamicSharedMemorySize
 *     cudaFuncAttributePreferredSharedMemoryCarveout = ccudart.cudaFuncAttribute.cudaFuncAttributePreferredSharedMemoryCarveout
 */
  __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, 393, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaFuncAttribute, __pyx_t_4) < 0) __PYX_ERR(0, 393, __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":398
 *     cudaFuncAttributeMax = ccudart.cudaFuncAttribute.cudaFuncAttributeMax
 * 
 * class cudaFuncCache(Enum):             # <<<<<<<<<<<<<<
 *     cudaFuncCachePreferNone = ccudart.cudaFuncCache.cudaFuncCachePreferNone
 *     cudaFuncCachePreferShared = ccudart.cudaFuncCache.cudaFuncCachePreferShared
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Enum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 398, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 398, __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, 398, __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, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 398, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":399
 * 
 * class cudaFuncCache(Enum):
 *     cudaFuncCachePreferNone = ccudart.cudaFuncCache.cudaFuncCachePreferNone             # <<<<<<<<<<<<<<
 *     cudaFuncCachePreferShared = ccudart.cudaFuncCache.cudaFuncCachePreferShared
 *     cudaFuncCachePreferL1 = ccudart.cudaFuncCache.cudaFuncCachePreferL1
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaFuncCache(__pyx_e_4cuda_7ccudart_cudaFuncCachePreferNone); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 399, __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, 399, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":400
 * class cudaFuncCache(Enum):
 *     cudaFuncCachePreferNone = ccudart.cudaFuncCache.cudaFuncCachePreferNone
 *     cudaFuncCachePreferShared = ccudart.cudaFuncCache.cudaFuncCachePreferShared             # <<<<<<<<<<<<<<
 *     cudaFuncCachePreferL1 = ccudart.cudaFuncCache.cudaFuncCachePreferL1
 *     cudaFuncCachePreferEqual = ccudart.cudaFuncCache.cudaFuncCachePreferEqual
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaFuncCache(__pyx_e_4cuda_7ccudart_cudaFuncCachePreferShared); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 400, __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, 400, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":401
 *     cudaFuncCachePreferNone = ccudart.cudaFuncCache.cudaFuncCachePreferNone
 *     cudaFuncCachePreferShared = ccudart.cudaFuncCache.cudaFuncCachePreferShared
 *     cudaFuncCachePreferL1 = ccudart.cudaFuncCache.cudaFuncCachePreferL1             # <<<<<<<<<<<<<<
 *     cudaFuncCachePreferEqual = ccudart.cudaFuncCache.cudaFuncCachePreferEqual
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaFuncCache(__pyx_e_4cuda_7ccudart_cudaFuncCachePreferL1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 401, __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, 401, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":402
 *     cudaFuncCachePreferShared = ccudart.cudaFuncCache.cudaFuncCachePreferShared
 *     cudaFuncCachePreferL1 = ccudart.cudaFuncCache.cudaFuncCachePreferL1
 *     cudaFuncCachePreferEqual = ccudart.cudaFuncCache.cudaFuncCachePreferEqual             # <<<<<<<<<<<<<<
 * 
 * class cudaSharedMemConfig(Enum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaFuncCache(__pyx_e_4cuda_7ccudart_cudaFuncCachePreferEqual); 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_cudaFuncCachePreferEqual, __pyx_t_4) < 0) __PYX_ERR(0, 402, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":398
 *     cudaFuncAttributeMax = ccudart.cudaFuncAttribute.cudaFuncAttributeMax
 * 
 * class cudaFuncCache(Enum):             # <<<<<<<<<<<<<<
 *     cudaFuncCachePreferNone = ccudart.cudaFuncCache.cudaFuncCachePreferNone
 *     cudaFuncCachePreferShared = ccudart.cudaFuncCache.cudaFuncCachePreferShared
 */
  __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, 398, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaFuncCache, __pyx_t_4) < 0) __PYX_ERR(0, 398, __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":404
 *     cudaFuncCachePreferEqual = ccudart.cudaFuncCache.cudaFuncCachePreferEqual
 * 
 * class cudaSharedMemConfig(Enum):             # <<<<<<<<<<<<<<
 *     cudaSharedMemBankSizeDefault = ccudart.cudaSharedMemConfig.cudaSharedMemBankSizeDefault
 *     cudaSharedMemBankSizeFourByte = ccudart.cudaSharedMemConfig.cudaSharedMemBankSizeFourByte
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Enum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 404, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 404, __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, 404, __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, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 404, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":405
 * 
 * class cudaSharedMemConfig(Enum):
 *     cudaSharedMemBankSizeDefault = ccudart.cudaSharedMemConfig.cudaSharedMemBankSizeDefault             # <<<<<<<<<<<<<<
 *     cudaSharedMemBankSizeFourByte = ccudart.cudaSharedMemConfig.cudaSharedMemBankSizeFourByte
 *     cudaSharedMemBankSizeEightByte = ccudart.cudaSharedMemConfig.cudaSharedMemBankSizeEightByte
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaSharedMemConfig(__pyx_e_4cuda_7ccudart_cudaSharedMemBankSizeDefault); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 405, __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, 405, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":406
 * class cudaSharedMemConfig(Enum):
 *     cudaSharedMemBankSizeDefault = ccudart.cudaSharedMemConfig.cudaSharedMemBankSizeDefault
 *     cudaSharedMemBankSizeFourByte = ccudart.cudaSharedMemConfig.cudaSharedMemBankSizeFourByte             # <<<<<<<<<<<<<<
 *     cudaSharedMemBankSizeEightByte = ccudart.cudaSharedMemConfig.cudaSharedMemBankSizeEightByte
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaSharedMemConfig(__pyx_e_4cuda_7ccudart_cudaSharedMemBankSizeFourByte); 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_cudaSharedMemBankSizeFourByte, __pyx_t_4) < 0) __PYX_ERR(0, 406, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":407
 *     cudaSharedMemBankSizeDefault = ccudart.cudaSharedMemConfig.cudaSharedMemBankSizeDefault
 *     cudaSharedMemBankSizeFourByte = ccudart.cudaSharedMemConfig.cudaSharedMemBankSizeFourByte
 *     cudaSharedMemBankSizeEightByte = ccudart.cudaSharedMemConfig.cudaSharedMemBankSizeEightByte             # <<<<<<<<<<<<<<
 * 
 * class cudaSharedCarveout(Enum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaSharedMemConfig(__pyx_e_4cuda_7ccudart_cudaSharedMemBankSizeEightByte); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 407, __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, 407, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":404
 *     cudaFuncCachePreferEqual = ccudart.cudaFuncCache.cudaFuncCachePreferEqual
 * 
 * class cudaSharedMemConfig(Enum):             # <<<<<<<<<<<<<<
 *     cudaSharedMemBankSizeDefault = ccudart.cudaSharedMemConfig.cudaSharedMemBankSizeDefault
 *     cudaSharedMemBankSizeFourByte = ccudart.cudaSharedMemConfig.cudaSharedMemBankSizeFourByte
 */
  __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, 404, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaSharedMemConfig, __pyx_t_4) < 0) __PYX_ERR(0, 404, __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":409
 *     cudaSharedMemBankSizeEightByte = ccudart.cudaSharedMemConfig.cudaSharedMemBankSizeEightByte
 * 
 * class cudaSharedCarveout(Enum):             # <<<<<<<<<<<<<<
 *     cudaSharedmemCarveoutDefault = ccudart.cudaSharedCarveout.cudaSharedmemCarveoutDefault
 *     cudaSharedmemCarveoutMaxShared = ccudart.cudaSharedCarveout.cudaSharedmemCarveoutMaxShared
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Enum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 409, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 409, __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, 409, __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, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 409, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":410
 * 
 * class cudaSharedCarveout(Enum):
 *     cudaSharedmemCarveoutDefault = ccudart.cudaSharedCarveout.cudaSharedmemCarveoutDefault             # <<<<<<<<<<<<<<
 *     cudaSharedmemCarveoutMaxShared = ccudart.cudaSharedCarveout.cudaSharedmemCarveoutMaxShared
 *     cudaSharedmemCarveoutMaxL1 = ccudart.cudaSharedCarveout.cudaSharedmemCarveoutMaxL1
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaSharedCarveout(__pyx_e_4cuda_7ccudart_cudaSharedmemCarveoutDefault); 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_cudaSharedmemCarveoutDefault, __pyx_t_4) < 0) __PYX_ERR(0, 410, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":411
 * class cudaSharedCarveout(Enum):
 *     cudaSharedmemCarveoutDefault = ccudart.cudaSharedCarveout.cudaSharedmemCarveoutDefault
 *     cudaSharedmemCarveoutMaxShared = ccudart.cudaSharedCarveout.cudaSharedmemCarveoutMaxShared             # <<<<<<<<<<<<<<
 *     cudaSharedmemCarveoutMaxL1 = ccudart.cudaSharedCarveout.cudaSharedmemCarveoutMaxL1
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaSharedCarveout(__pyx_e_4cuda_7ccudart_cudaSharedmemCarveoutMaxShared); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 411, __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, 411, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":412
 *     cudaSharedmemCarveoutDefault = ccudart.cudaSharedCarveout.cudaSharedmemCarveoutDefault
 *     cudaSharedmemCarveoutMaxShared = ccudart.cudaSharedCarveout.cudaSharedmemCarveoutMaxShared
 *     cudaSharedmemCarveoutMaxL1 = ccudart.cudaSharedCarveout.cudaSharedmemCarveoutMaxL1             # <<<<<<<<<<<<<<
 * 
 * class cudaComputeMode(Enum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaSharedCarveout(__pyx_e_4cuda_7ccudart_cudaSharedmemCarveoutMaxL1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 412, __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, 412, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":409
 *     cudaSharedMemBankSizeEightByte = ccudart.cudaSharedMemConfig.cudaSharedMemBankSizeEightByte
 * 
 * class cudaSharedCarveout(Enum):             # <<<<<<<<<<<<<<
 *     cudaSharedmemCarveoutDefault = ccudart.cudaSharedCarveout.cudaSharedmemCarveoutDefault
 *     cudaSharedmemCarveoutMaxShared = ccudart.cudaSharedCarveout.cudaSharedmemCarveoutMaxShared
 */
  __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, 409, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaSharedCarveout, __pyx_t_4) < 0) __PYX_ERR(0, 409, __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":414
 *     cudaSharedmemCarveoutMaxL1 = ccudart.cudaSharedCarveout.cudaSharedmemCarveoutMaxL1
 * 
 * class cudaComputeMode(Enum):             # <<<<<<<<<<<<<<
 *     cudaComputeModeDefault = ccudart.cudaComputeMode.cudaComputeModeDefault
 *     cudaComputeModeExclusive = ccudart.cudaComputeMode.cudaComputeModeExclusive
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Enum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 414, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 414, __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, 414, __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, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 414, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":415
 * 
 * class cudaComputeMode(Enum):
 *     cudaComputeModeDefault = ccudart.cudaComputeMode.cudaComputeModeDefault             # <<<<<<<<<<<<<<
 *     cudaComputeModeExclusive = ccudart.cudaComputeMode.cudaComputeModeExclusive
 *     cudaComputeModeProhibited = ccudart.cudaComputeMode.cudaComputeModeProhibited
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaComputeMode(__pyx_e_4cuda_7ccudart_cudaComputeModeDefault); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 415, __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, 415, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":416
 * class cudaComputeMode(Enum):
 *     cudaComputeModeDefault = ccudart.cudaComputeMode.cudaComputeModeDefault
 *     cudaComputeModeExclusive = ccudart.cudaComputeMode.cudaComputeModeExclusive             # <<<<<<<<<<<<<<
 *     cudaComputeModeProhibited = ccudart.cudaComputeMode.cudaComputeModeProhibited
 *     cudaComputeModeExclusiveProcess = ccudart.cudaComputeMode.cudaComputeModeExclusiveProcess
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaComputeMode(__pyx_e_4cuda_7ccudart_cudaComputeModeExclusive); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 416, __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, 416, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":417
 *     cudaComputeModeDefault = ccudart.cudaComputeMode.cudaComputeModeDefault
 *     cudaComputeModeExclusive = ccudart.cudaComputeMode.cudaComputeModeExclusive
 *     cudaComputeModeProhibited = ccudart.cudaComputeMode.cudaComputeModeProhibited             # <<<<<<<<<<<<<<
 *     cudaComputeModeExclusiveProcess = ccudart.cudaComputeMode.cudaComputeModeExclusiveProcess
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaComputeMode(__pyx_e_4cuda_7ccudart_cudaComputeModeProhibited); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 417, __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, 417, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":418
 *     cudaComputeModeExclusive = ccudart.cudaComputeMode.cudaComputeModeExclusive
 *     cudaComputeModeProhibited = ccudart.cudaComputeMode.cudaComputeModeProhibited
 *     cudaComputeModeExclusiveProcess = ccudart.cudaComputeMode.cudaComputeModeExclusiveProcess             # <<<<<<<<<<<<<<
 * 
 * class cudaLimit(Enum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaComputeMode(__pyx_e_4cuda_7ccudart_cudaComputeModeExclusiveProcess); 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_cudaComputeModeExclusiveProcess, __pyx_t_4) < 0) __PYX_ERR(0, 418, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":414
 *     cudaSharedmemCarveoutMaxL1 = ccudart.cudaSharedCarveout.cudaSharedmemCarveoutMaxL1
 * 
 * class cudaComputeMode(Enum):             # <<<<<<<<<<<<<<
 *     cudaComputeModeDefault = ccudart.cudaComputeMode.cudaComputeModeDefault
 *     cudaComputeModeExclusive = ccudart.cudaComputeMode.cudaComputeModeExclusive
 */
  __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, 414, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaComputeMode, __pyx_t_4) < 0) __PYX_ERR(0, 414, __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":420
 *     cudaComputeModeExclusiveProcess = ccudart.cudaComputeMode.cudaComputeModeExclusiveProcess
 * 
 * class cudaLimit(Enum):             # <<<<<<<<<<<<<<
 *     cudaLimitStackSize = ccudart.cudaLimit.cudaLimitStackSize
 *     cudaLimitPrintfFifoSize = ccudart.cudaLimit.cudaLimitPrintfFifoSize
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Enum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 420, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 420, __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, 420, __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, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 420, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":421
 * 
 * class cudaLimit(Enum):
 *     cudaLimitStackSize = ccudart.cudaLimit.cudaLimitStackSize             # <<<<<<<<<<<<<<
 *     cudaLimitPrintfFifoSize = ccudart.cudaLimit.cudaLimitPrintfFifoSize
 *     cudaLimitMallocHeapSize = ccudart.cudaLimit.cudaLimitMallocHeapSize
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaLimit(__pyx_e_4cuda_7ccudart_cudaLimitStackSize); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 421, __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, 421, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":422
 * class cudaLimit(Enum):
 *     cudaLimitStackSize = ccudart.cudaLimit.cudaLimitStackSize
 *     cudaLimitPrintfFifoSize = ccudart.cudaLimit.cudaLimitPrintfFifoSize             # <<<<<<<<<<<<<<
 *     cudaLimitMallocHeapSize = ccudart.cudaLimit.cudaLimitMallocHeapSize
 *     cudaLimitDevRuntimeSyncDepth = ccudart.cudaLimit.cudaLimitDevRuntimeSyncDepth
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaLimit(__pyx_e_4cuda_7ccudart_cudaLimitPrintfFifoSize); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 422, __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, 422, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":423
 *     cudaLimitStackSize = ccudart.cudaLimit.cudaLimitStackSize
 *     cudaLimitPrintfFifoSize = ccudart.cudaLimit.cudaLimitPrintfFifoSize
 *     cudaLimitMallocHeapSize = ccudart.cudaLimit.cudaLimitMallocHeapSize             # <<<<<<<<<<<<<<
 *     cudaLimitDevRuntimeSyncDepth = ccudart.cudaLimit.cudaLimitDevRuntimeSyncDepth
 *     cudaLimitDevRuntimePendingLaunchCount = ccudart.cudaLimit.cudaLimitDevRuntimePendingLaunchCount
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaLimit(__pyx_e_4cuda_7ccudart_cudaLimitMallocHeapSize); 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_cudaLimitMallocHeapSize, __pyx_t_4) < 0) __PYX_ERR(0, 423, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":424
 *     cudaLimitPrintfFifoSize = ccudart.cudaLimit.cudaLimitPrintfFifoSize
 *     cudaLimitMallocHeapSize = ccudart.cudaLimit.cudaLimitMallocHeapSize
 *     cudaLimitDevRuntimeSyncDepth = ccudart.cudaLimit.cudaLimitDevRuntimeSyncDepth             # <<<<<<<<<<<<<<
 *     cudaLimitDevRuntimePendingLaunchCount = ccudart.cudaLimit.cudaLimitDevRuntimePendingLaunchCount
 *     cudaLimitMaxL2FetchGranularity = ccudart.cudaLimit.cudaLimitMaxL2FetchGranularity
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaLimit(__pyx_e_4cuda_7ccudart_cudaLimitDevRuntimeSyncDepth); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 424, __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, 424, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":425
 *     cudaLimitMallocHeapSize = ccudart.cudaLimit.cudaLimitMallocHeapSize
 *     cudaLimitDevRuntimeSyncDepth = ccudart.cudaLimit.cudaLimitDevRuntimeSyncDepth
 *     cudaLimitDevRuntimePendingLaunchCount = ccudart.cudaLimit.cudaLimitDevRuntimePendingLaunchCount             # <<<<<<<<<<<<<<
 *     cudaLimitMaxL2FetchGranularity = ccudart.cudaLimit.cudaLimitMaxL2FetchGranularity
 *     cudaLimitPersistingL2CacheSize = ccudart.cudaLimit.cudaLimitPersistingL2CacheSize
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaLimit(__pyx_e_4cuda_7ccudart_cudaLimitDevRuntimePendingLaunchCount); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 425, __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, 425, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":426
 *     cudaLimitDevRuntimeSyncDepth = ccudart.cudaLimit.cudaLimitDevRuntimeSyncDepth
 *     cudaLimitDevRuntimePendingLaunchCount = ccudart.cudaLimit.cudaLimitDevRuntimePendingLaunchCount
 *     cudaLimitMaxL2FetchGranularity = ccudart.cudaLimit.cudaLimitMaxL2FetchGranularity             # <<<<<<<<<<<<<<
 *     cudaLimitPersistingL2CacheSize = ccudart.cudaLimit.cudaLimitPersistingL2CacheSize
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaLimit(__pyx_e_4cuda_7ccudart_cudaLimitMaxL2FetchGranularity); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 426, __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, 426, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":427
 *     cudaLimitDevRuntimePendingLaunchCount = ccudart.cudaLimit.cudaLimitDevRuntimePendingLaunchCount
 *     cudaLimitMaxL2FetchGranularity = ccudart.cudaLimit.cudaLimitMaxL2FetchGranularity
 *     cudaLimitPersistingL2CacheSize = ccudart.cudaLimit.cudaLimitPersistingL2CacheSize             # <<<<<<<<<<<<<<
 * 
 * class cudaMemoryAdvise(Enum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaLimit(__pyx_e_4cuda_7ccudart_cudaLimitPersistingL2CacheSize); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 427, __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, 427, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":420
 *     cudaComputeModeExclusiveProcess = ccudart.cudaComputeMode.cudaComputeModeExclusiveProcess
 * 
 * class cudaLimit(Enum):             # <<<<<<<<<<<<<<
 *     cudaLimitStackSize = ccudart.cudaLimit.cudaLimitStackSize
 *     cudaLimitPrintfFifoSize = ccudart.cudaLimit.cudaLimitPrintfFifoSize
 */
  __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, 420, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaLimit, __pyx_t_4) < 0) __PYX_ERR(0, 420, __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":429
 *     cudaLimitPersistingL2CacheSize = ccudart.cudaLimit.cudaLimitPersistingL2CacheSize
 * 
 * class cudaMemoryAdvise(Enum):             # <<<<<<<<<<<<<<
 *     cudaMemAdviseSetReadMostly = ccudart.cudaMemoryAdvise.cudaMemAdviseSetReadMostly
 *     cudaMemAdviseUnsetReadMostly = ccudart.cudaMemoryAdvise.cudaMemAdviseUnsetReadMostly
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Enum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 429, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 429, __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, 429, __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, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 429, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":430
 * 
 * class cudaMemoryAdvise(Enum):
 *     cudaMemAdviseSetReadMostly = ccudart.cudaMemoryAdvise.cudaMemAdviseSetReadMostly             # <<<<<<<<<<<<<<
 *     cudaMemAdviseUnsetReadMostly = ccudart.cudaMemoryAdvise.cudaMemAdviseUnsetReadMostly
 *     cudaMemAdviseSetPreferredLocation = ccudart.cudaMemoryAdvise.cudaMemAdviseSetPreferredLocation
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemoryAdvise(__pyx_e_4cuda_7ccudart_cudaMemAdviseSetReadMostly); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 430, __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, 430, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":431
 * class cudaMemoryAdvise(Enum):
 *     cudaMemAdviseSetReadMostly = ccudart.cudaMemoryAdvise.cudaMemAdviseSetReadMostly
 *     cudaMemAdviseUnsetReadMostly = ccudart.cudaMemoryAdvise.cudaMemAdviseUnsetReadMostly             # <<<<<<<<<<<<<<
 *     cudaMemAdviseSetPreferredLocation = ccudart.cudaMemoryAdvise.cudaMemAdviseSetPreferredLocation
 *     cudaMemAdviseUnsetPreferredLocation = ccudart.cudaMemoryAdvise.cudaMemAdviseUnsetPreferredLocation
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemoryAdvise(__pyx_e_4cuda_7ccudart_cudaMemAdviseUnsetReadMostly); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 431, __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, 431, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":432
 *     cudaMemAdviseSetReadMostly = ccudart.cudaMemoryAdvise.cudaMemAdviseSetReadMostly
 *     cudaMemAdviseUnsetReadMostly = ccudart.cudaMemoryAdvise.cudaMemAdviseUnsetReadMostly
 *     cudaMemAdviseSetPreferredLocation = ccudart.cudaMemoryAdvise.cudaMemAdviseSetPreferredLocation             # <<<<<<<<<<<<<<
 *     cudaMemAdviseUnsetPreferredLocation = ccudart.cudaMemoryAdvise.cudaMemAdviseUnsetPreferredLocation
 *     cudaMemAdviseSetAccessedBy = ccudart.cudaMemoryAdvise.cudaMemAdviseSetAccessedBy
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemoryAdvise(__pyx_e_4cuda_7ccudart_cudaMemAdviseSetPreferredLocation); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 432, __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, 432, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":433
 *     cudaMemAdviseUnsetReadMostly = ccudart.cudaMemoryAdvise.cudaMemAdviseUnsetReadMostly
 *     cudaMemAdviseSetPreferredLocation = ccudart.cudaMemoryAdvise.cudaMemAdviseSetPreferredLocation
 *     cudaMemAdviseUnsetPreferredLocation = ccudart.cudaMemoryAdvise.cudaMemAdviseUnsetPreferredLocation             # <<<<<<<<<<<<<<
 *     cudaMemAdviseSetAccessedBy = ccudart.cudaMemoryAdvise.cudaMemAdviseSetAccessedBy
 *     cudaMemAdviseUnsetAccessedBy = ccudart.cudaMemoryAdvise.cudaMemAdviseUnsetAccessedBy
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemoryAdvise(__pyx_e_4cuda_7ccudart_cudaMemAdviseUnsetPreferredLocation); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 433, __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, 433, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":434
 *     cudaMemAdviseSetPreferredLocation = ccudart.cudaMemoryAdvise.cudaMemAdviseSetPreferredLocation
 *     cudaMemAdviseUnsetPreferredLocation = ccudart.cudaMemoryAdvise.cudaMemAdviseUnsetPreferredLocation
 *     cudaMemAdviseSetAccessedBy = ccudart.cudaMemoryAdvise.cudaMemAdviseSetAccessedBy             # <<<<<<<<<<<<<<
 *     cudaMemAdviseUnsetAccessedBy = ccudart.cudaMemoryAdvise.cudaMemAdviseUnsetAccessedBy
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemoryAdvise(__pyx_e_4cuda_7ccudart_cudaMemAdviseSetAccessedBy); 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_cudaMemAdviseSetAccessedBy, __pyx_t_4) < 0) __PYX_ERR(0, 434, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":435
 *     cudaMemAdviseUnsetPreferredLocation = ccudart.cudaMemoryAdvise.cudaMemAdviseUnsetPreferredLocation
 *     cudaMemAdviseSetAccessedBy = ccudart.cudaMemoryAdvise.cudaMemAdviseSetAccessedBy
 *     cudaMemAdviseUnsetAccessedBy = ccudart.cudaMemoryAdvise.cudaMemAdviseUnsetAccessedBy             # <<<<<<<<<<<<<<
 * 
 * class cudaMemRangeAttribute(Enum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemoryAdvise(__pyx_e_4cuda_7ccudart_cudaMemAdviseUnsetAccessedBy); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 435, __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, 435, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":429
 *     cudaLimitPersistingL2CacheSize = ccudart.cudaLimit.cudaLimitPersistingL2CacheSize
 * 
 * class cudaMemoryAdvise(Enum):             # <<<<<<<<<<<<<<
 *     cudaMemAdviseSetReadMostly = ccudart.cudaMemoryAdvise.cudaMemAdviseSetReadMostly
 *     cudaMemAdviseUnsetReadMostly = ccudart.cudaMemoryAdvise.cudaMemAdviseUnsetReadMostly
 */
  __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, 429, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemoryAdvise, __pyx_t_4) < 0) __PYX_ERR(0, 429, __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":437
 *     cudaMemAdviseUnsetAccessedBy = ccudart.cudaMemoryAdvise.cudaMemAdviseUnsetAccessedBy
 * 
 * class cudaMemRangeAttribute(Enum):             # <<<<<<<<<<<<<<
 *     cudaMemRangeAttributeReadMostly = ccudart.cudaMemRangeAttribute.cudaMemRangeAttributeReadMostly
 *     cudaMemRangeAttributePreferredLocation = ccudart.cudaMemRangeAttribute.cudaMemRangeAttributePreferredLocation
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Enum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 437, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 437, __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, 437, __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, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 437, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":438
 * 
 * class cudaMemRangeAttribute(Enum):
 *     cudaMemRangeAttributeReadMostly = ccudart.cudaMemRangeAttribute.cudaMemRangeAttributeReadMostly             # <<<<<<<<<<<<<<
 *     cudaMemRangeAttributePreferredLocation = ccudart.cudaMemRangeAttribute.cudaMemRangeAttributePreferredLocation
 *     cudaMemRangeAttributeAccessedBy = ccudart.cudaMemRangeAttribute.cudaMemRangeAttributeAccessedBy
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemRangeAttribute(__pyx_e_4cuda_7ccudart_cudaMemRangeAttributeReadMostly); 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_cudaMemRangeAttributeReadMostly, __pyx_t_4) < 0) __PYX_ERR(0, 438, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":439
 * class cudaMemRangeAttribute(Enum):
 *     cudaMemRangeAttributeReadMostly = ccudart.cudaMemRangeAttribute.cudaMemRangeAttributeReadMostly
 *     cudaMemRangeAttributePreferredLocation = ccudart.cudaMemRangeAttribute.cudaMemRangeAttributePreferredLocation             # <<<<<<<<<<<<<<
 *     cudaMemRangeAttributeAccessedBy = ccudart.cudaMemRangeAttribute.cudaMemRangeAttributeAccessedBy
 *     cudaMemRangeAttributeLastPrefetchLocation = ccudart.cudaMemRangeAttribute.cudaMemRangeAttributeLastPrefetchLocation
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemRangeAttribute(__pyx_e_4cuda_7ccudart_cudaMemRangeAttributePreferredLocation); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 439, __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, 439, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":440
 *     cudaMemRangeAttributeReadMostly = ccudart.cudaMemRangeAttribute.cudaMemRangeAttributeReadMostly
 *     cudaMemRangeAttributePreferredLocation = ccudart.cudaMemRangeAttribute.cudaMemRangeAttributePreferredLocation
 *     cudaMemRangeAttributeAccessedBy = ccudart.cudaMemRangeAttribute.cudaMemRangeAttributeAccessedBy             # <<<<<<<<<<<<<<
 *     cudaMemRangeAttributeLastPrefetchLocation = ccudart.cudaMemRangeAttribute.cudaMemRangeAttributeLastPrefetchLocation
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemRangeAttribute(__pyx_e_4cuda_7ccudart_cudaMemRangeAttributeAccessedBy); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 440, __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, 440, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":441
 *     cudaMemRangeAttributePreferredLocation = ccudart.cudaMemRangeAttribute.cudaMemRangeAttributePreferredLocation
 *     cudaMemRangeAttributeAccessedBy = ccudart.cudaMemRangeAttribute.cudaMemRangeAttributeAccessedBy
 *     cudaMemRangeAttributeLastPrefetchLocation = ccudart.cudaMemRangeAttribute.cudaMemRangeAttributeLastPrefetchLocation             # <<<<<<<<<<<<<<
 * 
 * class cudaOutputMode_t(Enum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemRangeAttribute(__pyx_e_4cuda_7ccudart_cudaMemRangeAttributeLastPrefetchLocation); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 441, __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, 441, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":437
 *     cudaMemAdviseUnsetAccessedBy = ccudart.cudaMemoryAdvise.cudaMemAdviseUnsetAccessedBy
 * 
 * class cudaMemRangeAttribute(Enum):             # <<<<<<<<<<<<<<
 *     cudaMemRangeAttributeReadMostly = ccudart.cudaMemRangeAttribute.cudaMemRangeAttributeReadMostly
 *     cudaMemRangeAttributePreferredLocation = ccudart.cudaMemRangeAttribute.cudaMemRangeAttributePreferredLocation
 */
  __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, 437, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemRangeAttribute, __pyx_t_4) < 0) __PYX_ERR(0, 437, __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":443
 *     cudaMemRangeAttributeLastPrefetchLocation = ccudart.cudaMemRangeAttribute.cudaMemRangeAttributeLastPrefetchLocation
 * 
 * class cudaOutputMode_t(Enum):             # <<<<<<<<<<<<<<
 *     cudaKeyValuePair = ccudart.cudaOutputMode.cudaKeyValuePair
 *     cudaCSV = ccudart.cudaOutputMode.cudaCSV
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Enum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 443, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 443, __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, 443, __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, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 443, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":444
 * 
 * class cudaOutputMode_t(Enum):
 *     cudaKeyValuePair = ccudart.cudaOutputMode.cudaKeyValuePair             # <<<<<<<<<<<<<<
 *     cudaCSV = ccudart.cudaOutputMode.cudaCSV
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaOutputMode(__pyx_e_4cuda_7ccudart_cudaKeyValuePair); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 444, __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, 444, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":445
 * class cudaOutputMode_t(Enum):
 *     cudaKeyValuePair = ccudart.cudaOutputMode.cudaKeyValuePair
 *     cudaCSV = ccudart.cudaOutputMode.cudaCSV             # <<<<<<<<<<<<<<
 * 
 * class cudaFlushGPUDirectRDMAWritesOptions(Enum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaOutputMode(__pyx_e_4cuda_7ccudart_cudaCSV); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 445, __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, 445, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":443
 *     cudaMemRangeAttributeLastPrefetchLocation = ccudart.cudaMemRangeAttribute.cudaMemRangeAttributeLastPrefetchLocation
 * 
 * class cudaOutputMode_t(Enum):             # <<<<<<<<<<<<<<
 *     cudaKeyValuePair = ccudart.cudaOutputMode.cudaKeyValuePair
 *     cudaCSV = ccudart.cudaOutputMode.cudaCSV
 */
  __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, 443, __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, 443, __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":447
 *     cudaCSV = ccudart.cudaOutputMode.cudaCSV
 * 
 * class cudaFlushGPUDirectRDMAWritesOptions(Enum):             # <<<<<<<<<<<<<<
 *     cudaFlushGPUDirectRDMAWritesOptionHost = ccudart.cudaFlushGPUDirectRDMAWritesOptions.cudaFlushGPUDirectRDMAWritesOptionHost
 *     cudaFlushGPUDirectRDMAWritesOptionMemOps = ccudart.cudaFlushGPUDirectRDMAWritesOptions.cudaFlushGPUDirectRDMAWritesOptionMemOps
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Enum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 447, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 447, __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, 447, __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, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 447, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":448
 * 
 * class cudaFlushGPUDirectRDMAWritesOptions(Enum):
 *     cudaFlushGPUDirectRDMAWritesOptionHost = ccudart.cudaFlushGPUDirectRDMAWritesOptions.cudaFlushGPUDirectRDMAWritesOptionHost             # <<<<<<<<<<<<<<
 *     cudaFlushGPUDirectRDMAWritesOptionMemOps = ccudart.cudaFlushGPUDirectRDMAWritesOptions.cudaFlushGPUDirectRDMAWritesOptionMemOps
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesOptions(__pyx_e_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesOptionHost); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 448, __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, 448, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":449
 * class cudaFlushGPUDirectRDMAWritesOptions(Enum):
 *     cudaFlushGPUDirectRDMAWritesOptionHost = ccudart.cudaFlushGPUDirectRDMAWritesOptions.cudaFlushGPUDirectRDMAWritesOptionHost
 *     cudaFlushGPUDirectRDMAWritesOptionMemOps = ccudart.cudaFlushGPUDirectRDMAWritesOptions.cudaFlushGPUDirectRDMAWritesOptionMemOps             # <<<<<<<<<<<<<<
 * 
 * class cudaGPUDirectRDMAWritesOrdering(Enum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesOptions(__pyx_e_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesOptionMemOps); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 449, __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, 449, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":447
 *     cudaCSV = ccudart.cudaOutputMode.cudaCSV
 * 
 * class cudaFlushGPUDirectRDMAWritesOptions(Enum):             # <<<<<<<<<<<<<<
 *     cudaFlushGPUDirectRDMAWritesOptionHost = ccudart.cudaFlushGPUDirectRDMAWritesOptions.cudaFlushGPUDirectRDMAWritesOptionHost
 *     cudaFlushGPUDirectRDMAWritesOptionMemOps = ccudart.cudaFlushGPUDirectRDMAWritesOptions.cudaFlushGPUDirectRDMAWritesOptionMemOps
 */
  __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, 447, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaFlushGPUDirectRDMAWritesOpti, __pyx_t_4) < 0) __PYX_ERR(0, 447, __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":451
 *     cudaFlushGPUDirectRDMAWritesOptionMemOps = ccudart.cudaFlushGPUDirectRDMAWritesOptions.cudaFlushGPUDirectRDMAWritesOptionMemOps
 * 
 * class cudaGPUDirectRDMAWritesOrdering(Enum):             # <<<<<<<<<<<<<<
 *     cudaGPUDirectRDMAWritesOrderingNone = ccudart.cudaGPUDirectRDMAWritesOrdering.cudaGPUDirectRDMAWritesOrderingNone
 *     cudaGPUDirectRDMAWritesOrderingOwner = ccudart.cudaGPUDirectRDMAWritesOrdering.cudaGPUDirectRDMAWritesOrderingOwner
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Enum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 451, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 451, __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, 451, __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, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 451, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":452
 * 
 * class cudaGPUDirectRDMAWritesOrdering(Enum):
 *     cudaGPUDirectRDMAWritesOrderingNone = ccudart.cudaGPUDirectRDMAWritesOrdering.cudaGPUDirectRDMAWritesOrderingNone             # <<<<<<<<<<<<<<
 *     cudaGPUDirectRDMAWritesOrderingOwner = ccudart.cudaGPUDirectRDMAWritesOrdering.cudaGPUDirectRDMAWritesOrderingOwner
 *     cudaGPUDirectRDMAWritesOrderingAllDevices = ccudart.cudaGPUDirectRDMAWritesOrdering.cudaGPUDirectRDMAWritesOrderingAllDevices
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGPUDirectRDMAWritesOrdering(__pyx_e_4cuda_7ccudart_cudaGPUDirectRDMAWritesOrderingNone); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 452, __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, 452, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":453
 * class cudaGPUDirectRDMAWritesOrdering(Enum):
 *     cudaGPUDirectRDMAWritesOrderingNone = ccudart.cudaGPUDirectRDMAWritesOrdering.cudaGPUDirectRDMAWritesOrderingNone
 *     cudaGPUDirectRDMAWritesOrderingOwner = ccudart.cudaGPUDirectRDMAWritesOrdering.cudaGPUDirectRDMAWritesOrderingOwner             # <<<<<<<<<<<<<<
 *     cudaGPUDirectRDMAWritesOrderingAllDevices = ccudart.cudaGPUDirectRDMAWritesOrdering.cudaGPUDirectRDMAWritesOrderingAllDevices
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGPUDirectRDMAWritesOrdering(__pyx_e_4cuda_7ccudart_cudaGPUDirectRDMAWritesOrderingOwner); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 453, __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, 453, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":454
 *     cudaGPUDirectRDMAWritesOrderingNone = ccudart.cudaGPUDirectRDMAWritesOrdering.cudaGPUDirectRDMAWritesOrderingNone
 *     cudaGPUDirectRDMAWritesOrderingOwner = ccudart.cudaGPUDirectRDMAWritesOrdering.cudaGPUDirectRDMAWritesOrderingOwner
 *     cudaGPUDirectRDMAWritesOrderingAllDevices = ccudart.cudaGPUDirectRDMAWritesOrdering.cudaGPUDirectRDMAWritesOrderingAllDevices             # <<<<<<<<<<<<<<
 * 
 * class cudaFlushGPUDirectRDMAWritesScope(Enum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGPUDirectRDMAWritesOrdering(__pyx_e_4cuda_7ccudart_cudaGPUDirectRDMAWritesOrderingAllDevices); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 454, __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, 454, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":451
 *     cudaFlushGPUDirectRDMAWritesOptionMemOps = ccudart.cudaFlushGPUDirectRDMAWritesOptions.cudaFlushGPUDirectRDMAWritesOptionMemOps
 * 
 * class cudaGPUDirectRDMAWritesOrdering(Enum):             # <<<<<<<<<<<<<<
 *     cudaGPUDirectRDMAWritesOrderingNone = ccudart.cudaGPUDirectRDMAWritesOrdering.cudaGPUDirectRDMAWritesOrderingNone
 *     cudaGPUDirectRDMAWritesOrderingOwner = ccudart.cudaGPUDirectRDMAWritesOrdering.cudaGPUDirectRDMAWritesOrderingOwner
 */
  __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, 451, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGPUDirectRDMAWritesOrdering, __pyx_t_4) < 0) __PYX_ERR(0, 451, __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":456
 *     cudaGPUDirectRDMAWritesOrderingAllDevices = ccudart.cudaGPUDirectRDMAWritesOrdering.cudaGPUDirectRDMAWritesOrderingAllDevices
 * 
 * class cudaFlushGPUDirectRDMAWritesScope(Enum):             # <<<<<<<<<<<<<<
 *     cudaFlushGPUDirectRDMAWritesToOwner = ccudart.cudaFlushGPUDirectRDMAWritesScope.cudaFlushGPUDirectRDMAWritesToOwner
 *     cudaFlushGPUDirectRDMAWritesToAllDevices = ccudart.cudaFlushGPUDirectRDMAWritesScope.cudaFlushGPUDirectRDMAWritesToAllDevices
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Enum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 456, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 456, __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, 456, __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, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 456, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":457
 * 
 * class cudaFlushGPUDirectRDMAWritesScope(Enum):
 *     cudaFlushGPUDirectRDMAWritesToOwner = ccudart.cudaFlushGPUDirectRDMAWritesScope.cudaFlushGPUDirectRDMAWritesToOwner             # <<<<<<<<<<<<<<
 *     cudaFlushGPUDirectRDMAWritesToAllDevices = ccudart.cudaFlushGPUDirectRDMAWritesScope.cudaFlushGPUDirectRDMAWritesToAllDevices
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope(__pyx_e_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesToOwner); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 457, __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, 457, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":458
 * class cudaFlushGPUDirectRDMAWritesScope(Enum):
 *     cudaFlushGPUDirectRDMAWritesToOwner = ccudart.cudaFlushGPUDirectRDMAWritesScope.cudaFlushGPUDirectRDMAWritesToOwner
 *     cudaFlushGPUDirectRDMAWritesToAllDevices = ccudart.cudaFlushGPUDirectRDMAWritesScope.cudaFlushGPUDirectRDMAWritesToAllDevices             # <<<<<<<<<<<<<<
 * 
 * class cudaFlushGPUDirectRDMAWritesTarget(Enum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope(__pyx_e_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesToAllDevices); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 458, __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, 458, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":456
 *     cudaGPUDirectRDMAWritesOrderingAllDevices = ccudart.cudaGPUDirectRDMAWritesOrdering.cudaGPUDirectRDMAWritesOrderingAllDevices
 * 
 * class cudaFlushGPUDirectRDMAWritesScope(Enum):             # <<<<<<<<<<<<<<
 *     cudaFlushGPUDirectRDMAWritesToOwner = ccudart.cudaFlushGPUDirectRDMAWritesScope.cudaFlushGPUDirectRDMAWritesToOwner
 *     cudaFlushGPUDirectRDMAWritesToAllDevices = ccudart.cudaFlushGPUDirectRDMAWritesScope.cudaFlushGPUDirectRDMAWritesToAllDevices
 */
  __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, 456, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaFlushGPUDirectRDMAWritesScop, __pyx_t_4) < 0) __PYX_ERR(0, 456, __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":460
 *     cudaFlushGPUDirectRDMAWritesToAllDevices = ccudart.cudaFlushGPUDirectRDMAWritesScope.cudaFlushGPUDirectRDMAWritesToAllDevices
 * 
 * class cudaFlushGPUDirectRDMAWritesTarget(Enum):             # <<<<<<<<<<<<<<
 *     cudaFlushGPUDirectRDMAWritesTargetCurrentDevice = ccudart.cudaFlushGPUDirectRDMAWritesTarget.cudaFlushGPUDirectRDMAWritesTargetCurrentDevice
 * 
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Enum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 460, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 460, __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, 460, __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, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 460, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":461
 * 
 * class cudaFlushGPUDirectRDMAWritesTarget(Enum):
 *     cudaFlushGPUDirectRDMAWritesTargetCurrentDevice = ccudart.cudaFlushGPUDirectRDMAWritesTarget.cudaFlushGPUDirectRDMAWritesTargetCurrentDevice             # <<<<<<<<<<<<<<
 * 
 * class cudaDeviceAttr(Enum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget(__pyx_e_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTargetCurrentDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 461, __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, 461, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":460
 *     cudaFlushGPUDirectRDMAWritesToAllDevices = ccudart.cudaFlushGPUDirectRDMAWritesScope.cudaFlushGPUDirectRDMAWritesToAllDevices
 * 
 * class cudaFlushGPUDirectRDMAWritesTarget(Enum):             # <<<<<<<<<<<<<<
 *     cudaFlushGPUDirectRDMAWritesTargetCurrentDevice = ccudart.cudaFlushGPUDirectRDMAWritesTarget.cudaFlushGPUDirectRDMAWritesTargetCurrentDevice
 * 
 */
  __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, 460, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaFlushGPUDirectRDMAWritesTarg, __pyx_t_4) < 0) __PYX_ERR(0, 460, __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":463
 *     cudaFlushGPUDirectRDMAWritesTargetCurrentDevice = ccudart.cudaFlushGPUDirectRDMAWritesTarget.cudaFlushGPUDirectRDMAWritesTargetCurrentDevice
 * 
 * class cudaDeviceAttr(Enum):             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxThreadsPerBlock = ccudart.cudaDeviceAttr.cudaDevAttrMaxThreadsPerBlock
 *     cudaDevAttrMaxBlockDimX = ccudart.cudaDeviceAttr.cudaDevAttrMaxBlockDimX
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Enum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 463, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 463, __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, 463, __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, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 463, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":464
 * 
 * class cudaDeviceAttr(Enum):
 *     cudaDevAttrMaxThreadsPerBlock = ccudart.cudaDeviceAttr.cudaDevAttrMaxThreadsPerBlock             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxBlockDimX = ccudart.cudaDeviceAttr.cudaDevAttrMaxBlockDimX
 *     cudaDevAttrMaxBlockDimY = ccudart.cudaDeviceAttr.cudaDevAttrMaxBlockDimY
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxThreadsPerBlock); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 464, __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, 464, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":465
 * class cudaDeviceAttr(Enum):
 *     cudaDevAttrMaxThreadsPerBlock = ccudart.cudaDeviceAttr.cudaDevAttrMaxThreadsPerBlock
 *     cudaDevAttrMaxBlockDimX = ccudart.cudaDeviceAttr.cudaDevAttrMaxBlockDimX             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxBlockDimY = ccudart.cudaDeviceAttr.cudaDevAttrMaxBlockDimY
 *     cudaDevAttrMaxBlockDimZ = ccudart.cudaDeviceAttr.cudaDevAttrMaxBlockDimZ
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxBlockDimX); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 465, __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, 465, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":466
 *     cudaDevAttrMaxThreadsPerBlock = ccudart.cudaDeviceAttr.cudaDevAttrMaxThreadsPerBlock
 *     cudaDevAttrMaxBlockDimX = ccudart.cudaDeviceAttr.cudaDevAttrMaxBlockDimX
 *     cudaDevAttrMaxBlockDimY = ccudart.cudaDeviceAttr.cudaDevAttrMaxBlockDimY             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxBlockDimZ = ccudart.cudaDeviceAttr.cudaDevAttrMaxBlockDimZ
 *     cudaDevAttrMaxGridDimX = ccudart.cudaDeviceAttr.cudaDevAttrMaxGridDimX
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxBlockDimY); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 466, __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, 466, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":467
 *     cudaDevAttrMaxBlockDimX = ccudart.cudaDeviceAttr.cudaDevAttrMaxBlockDimX
 *     cudaDevAttrMaxBlockDimY = ccudart.cudaDeviceAttr.cudaDevAttrMaxBlockDimY
 *     cudaDevAttrMaxBlockDimZ = ccudart.cudaDeviceAttr.cudaDevAttrMaxBlockDimZ             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxGridDimX = ccudart.cudaDeviceAttr.cudaDevAttrMaxGridDimX
 *     cudaDevAttrMaxGridDimY = ccudart.cudaDeviceAttr.cudaDevAttrMaxGridDimY
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxBlockDimZ); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 467, __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, 467, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":468
 *     cudaDevAttrMaxBlockDimY = ccudart.cudaDeviceAttr.cudaDevAttrMaxBlockDimY
 *     cudaDevAttrMaxBlockDimZ = ccudart.cudaDeviceAttr.cudaDevAttrMaxBlockDimZ
 *     cudaDevAttrMaxGridDimX = ccudart.cudaDeviceAttr.cudaDevAttrMaxGridDimX             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxGridDimY = ccudart.cudaDeviceAttr.cudaDevAttrMaxGridDimY
 *     cudaDevAttrMaxGridDimZ = ccudart.cudaDeviceAttr.cudaDevAttrMaxGridDimZ
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxGridDimX); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 468, __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, 468, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":469
 *     cudaDevAttrMaxBlockDimZ = ccudart.cudaDeviceAttr.cudaDevAttrMaxBlockDimZ
 *     cudaDevAttrMaxGridDimX = ccudart.cudaDeviceAttr.cudaDevAttrMaxGridDimX
 *     cudaDevAttrMaxGridDimY = ccudart.cudaDeviceAttr.cudaDevAttrMaxGridDimY             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxGridDimZ = ccudart.cudaDeviceAttr.cudaDevAttrMaxGridDimZ
 *     cudaDevAttrMaxSharedMemoryPerBlock = ccudart.cudaDeviceAttr.cudaDevAttrMaxSharedMemoryPerBlock
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxGridDimY); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 469, __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, 469, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":470
 *     cudaDevAttrMaxGridDimX = ccudart.cudaDeviceAttr.cudaDevAttrMaxGridDimX
 *     cudaDevAttrMaxGridDimY = ccudart.cudaDeviceAttr.cudaDevAttrMaxGridDimY
 *     cudaDevAttrMaxGridDimZ = ccudart.cudaDeviceAttr.cudaDevAttrMaxGridDimZ             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxSharedMemoryPerBlock = ccudart.cudaDeviceAttr.cudaDevAttrMaxSharedMemoryPerBlock
 *     cudaDevAttrTotalConstantMemory = ccudart.cudaDeviceAttr.cudaDevAttrTotalConstantMemory
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxGridDimZ); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 470, __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, 470, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":471
 *     cudaDevAttrMaxGridDimY = ccudart.cudaDeviceAttr.cudaDevAttrMaxGridDimY
 *     cudaDevAttrMaxGridDimZ = ccudart.cudaDeviceAttr.cudaDevAttrMaxGridDimZ
 *     cudaDevAttrMaxSharedMemoryPerBlock = ccudart.cudaDeviceAttr.cudaDevAttrMaxSharedMemoryPerBlock             # <<<<<<<<<<<<<<
 *     cudaDevAttrTotalConstantMemory = ccudart.cudaDeviceAttr.cudaDevAttrTotalConstantMemory
 *     cudaDevAttrWarpSize = ccudart.cudaDeviceAttr.cudaDevAttrWarpSize
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxSharedMemoryPerBlock); 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_cudaDevAttrMaxSharedMemoryPerBlo, __pyx_t_4) < 0) __PYX_ERR(0, 471, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":472
 *     cudaDevAttrMaxGridDimZ = ccudart.cudaDeviceAttr.cudaDevAttrMaxGridDimZ
 *     cudaDevAttrMaxSharedMemoryPerBlock = ccudart.cudaDeviceAttr.cudaDevAttrMaxSharedMemoryPerBlock
 *     cudaDevAttrTotalConstantMemory = ccudart.cudaDeviceAttr.cudaDevAttrTotalConstantMemory             # <<<<<<<<<<<<<<
 *     cudaDevAttrWarpSize = ccudart.cudaDeviceAttr.cudaDevAttrWarpSize
 *     cudaDevAttrMaxPitch = ccudart.cudaDeviceAttr.cudaDevAttrMaxPitch
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrTotalConstantMemory); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 472, __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, 472, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":473
 *     cudaDevAttrMaxSharedMemoryPerBlock = ccudart.cudaDeviceAttr.cudaDevAttrMaxSharedMemoryPerBlock
 *     cudaDevAttrTotalConstantMemory = ccudart.cudaDeviceAttr.cudaDevAttrTotalConstantMemory
 *     cudaDevAttrWarpSize = ccudart.cudaDeviceAttr.cudaDevAttrWarpSize             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxPitch = ccudart.cudaDeviceAttr.cudaDevAttrMaxPitch
 *     cudaDevAttrMaxRegistersPerBlock = ccudart.cudaDeviceAttr.cudaDevAttrMaxRegistersPerBlock
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrWarpSize); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 473, __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, 473, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":474
 *     cudaDevAttrTotalConstantMemory = ccudart.cudaDeviceAttr.cudaDevAttrTotalConstantMemory
 *     cudaDevAttrWarpSize = ccudart.cudaDeviceAttr.cudaDevAttrWarpSize
 *     cudaDevAttrMaxPitch = ccudart.cudaDeviceAttr.cudaDevAttrMaxPitch             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxRegistersPerBlock = ccudart.cudaDeviceAttr.cudaDevAttrMaxRegistersPerBlock
 *     cudaDevAttrClockRate = ccudart.cudaDeviceAttr.cudaDevAttrClockRate
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxPitch); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 474, __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, 474, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":475
 *     cudaDevAttrWarpSize = ccudart.cudaDeviceAttr.cudaDevAttrWarpSize
 *     cudaDevAttrMaxPitch = ccudart.cudaDeviceAttr.cudaDevAttrMaxPitch
 *     cudaDevAttrMaxRegistersPerBlock = ccudart.cudaDeviceAttr.cudaDevAttrMaxRegistersPerBlock             # <<<<<<<<<<<<<<
 *     cudaDevAttrClockRate = ccudart.cudaDeviceAttr.cudaDevAttrClockRate
 *     cudaDevAttrTextureAlignment = ccudart.cudaDeviceAttr.cudaDevAttrTextureAlignment
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxRegistersPerBlock); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 475, __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, 475, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":476
 *     cudaDevAttrMaxPitch = ccudart.cudaDeviceAttr.cudaDevAttrMaxPitch
 *     cudaDevAttrMaxRegistersPerBlock = ccudart.cudaDeviceAttr.cudaDevAttrMaxRegistersPerBlock
 *     cudaDevAttrClockRate = ccudart.cudaDeviceAttr.cudaDevAttrClockRate             # <<<<<<<<<<<<<<
 *     cudaDevAttrTextureAlignment = ccudart.cudaDeviceAttr.cudaDevAttrTextureAlignment
 *     cudaDevAttrGpuOverlap = ccudart.cudaDeviceAttr.cudaDevAttrGpuOverlap
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrClockRate); 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_cudaDevAttrClockRate, __pyx_t_4) < 0) __PYX_ERR(0, 476, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":477
 *     cudaDevAttrMaxRegistersPerBlock = ccudart.cudaDeviceAttr.cudaDevAttrMaxRegistersPerBlock
 *     cudaDevAttrClockRate = ccudart.cudaDeviceAttr.cudaDevAttrClockRate
 *     cudaDevAttrTextureAlignment = ccudart.cudaDeviceAttr.cudaDevAttrTextureAlignment             # <<<<<<<<<<<<<<
 *     cudaDevAttrGpuOverlap = ccudart.cudaDeviceAttr.cudaDevAttrGpuOverlap
 *     cudaDevAttrMultiProcessorCount = ccudart.cudaDeviceAttr.cudaDevAttrMultiProcessorCount
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrTextureAlignment); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 477, __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, 477, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":478
 *     cudaDevAttrClockRate = ccudart.cudaDeviceAttr.cudaDevAttrClockRate
 *     cudaDevAttrTextureAlignment = ccudart.cudaDeviceAttr.cudaDevAttrTextureAlignment
 *     cudaDevAttrGpuOverlap = ccudart.cudaDeviceAttr.cudaDevAttrGpuOverlap             # <<<<<<<<<<<<<<
 *     cudaDevAttrMultiProcessorCount = ccudart.cudaDeviceAttr.cudaDevAttrMultiProcessorCount
 *     cudaDevAttrKernelExecTimeout = ccudart.cudaDeviceAttr.cudaDevAttrKernelExecTimeout
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrGpuOverlap); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 478, __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, 478, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":479
 *     cudaDevAttrTextureAlignment = ccudart.cudaDeviceAttr.cudaDevAttrTextureAlignment
 *     cudaDevAttrGpuOverlap = ccudart.cudaDeviceAttr.cudaDevAttrGpuOverlap
 *     cudaDevAttrMultiProcessorCount = ccudart.cudaDeviceAttr.cudaDevAttrMultiProcessorCount             # <<<<<<<<<<<<<<
 *     cudaDevAttrKernelExecTimeout = ccudart.cudaDeviceAttr.cudaDevAttrKernelExecTimeout
 *     cudaDevAttrIntegrated = ccudart.cudaDeviceAttr.cudaDevAttrIntegrated
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMultiProcessorCount); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 479, __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, 479, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":480
 *     cudaDevAttrGpuOverlap = ccudart.cudaDeviceAttr.cudaDevAttrGpuOverlap
 *     cudaDevAttrMultiProcessorCount = ccudart.cudaDeviceAttr.cudaDevAttrMultiProcessorCount
 *     cudaDevAttrKernelExecTimeout = ccudart.cudaDeviceAttr.cudaDevAttrKernelExecTimeout             # <<<<<<<<<<<<<<
 *     cudaDevAttrIntegrated = ccudart.cudaDeviceAttr.cudaDevAttrIntegrated
 *     cudaDevAttrCanMapHostMemory = ccudart.cudaDeviceAttr.cudaDevAttrCanMapHostMemory
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrKernelExecTimeout); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 480, __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, 480, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":481
 *     cudaDevAttrMultiProcessorCount = ccudart.cudaDeviceAttr.cudaDevAttrMultiProcessorCount
 *     cudaDevAttrKernelExecTimeout = ccudart.cudaDeviceAttr.cudaDevAttrKernelExecTimeout
 *     cudaDevAttrIntegrated = ccudart.cudaDeviceAttr.cudaDevAttrIntegrated             # <<<<<<<<<<<<<<
 *     cudaDevAttrCanMapHostMemory = ccudart.cudaDeviceAttr.cudaDevAttrCanMapHostMemory
 *     cudaDevAttrComputeMode = ccudart.cudaDeviceAttr.cudaDevAttrComputeMode
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrIntegrated); 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_cudaDevAttrIntegrated, __pyx_t_4) < 0) __PYX_ERR(0, 481, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":482
 *     cudaDevAttrKernelExecTimeout = ccudart.cudaDeviceAttr.cudaDevAttrKernelExecTimeout
 *     cudaDevAttrIntegrated = ccudart.cudaDeviceAttr.cudaDevAttrIntegrated
 *     cudaDevAttrCanMapHostMemory = ccudart.cudaDeviceAttr.cudaDevAttrCanMapHostMemory             # <<<<<<<<<<<<<<
 *     cudaDevAttrComputeMode = ccudart.cudaDeviceAttr.cudaDevAttrComputeMode
 *     cudaDevAttrMaxTexture1DWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture1DWidth
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrCanMapHostMemory); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 482, __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, 482, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":483
 *     cudaDevAttrIntegrated = ccudart.cudaDeviceAttr.cudaDevAttrIntegrated
 *     cudaDevAttrCanMapHostMemory = ccudart.cudaDeviceAttr.cudaDevAttrCanMapHostMemory
 *     cudaDevAttrComputeMode = ccudart.cudaDeviceAttr.cudaDevAttrComputeMode             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxTexture1DWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture1DWidth
 *     cudaDevAttrMaxTexture2DWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DWidth
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrComputeMode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 483, __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, 483, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":484
 *     cudaDevAttrCanMapHostMemory = ccudart.cudaDeviceAttr.cudaDevAttrCanMapHostMemory
 *     cudaDevAttrComputeMode = ccudart.cudaDeviceAttr.cudaDevAttrComputeMode
 *     cudaDevAttrMaxTexture1DWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture1DWidth             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxTexture2DWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DWidth
 *     cudaDevAttrMaxTexture2DHeight = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DHeight
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxTexture1DWidth); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 484, __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, 484, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":485
 *     cudaDevAttrComputeMode = ccudart.cudaDeviceAttr.cudaDevAttrComputeMode
 *     cudaDevAttrMaxTexture1DWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture1DWidth
 *     cudaDevAttrMaxTexture2DWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DWidth             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxTexture2DHeight = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DHeight
 *     cudaDevAttrMaxTexture3DWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture3DWidth
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxTexture2DWidth); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 485, __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, 485, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":486
 *     cudaDevAttrMaxTexture1DWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture1DWidth
 *     cudaDevAttrMaxTexture2DWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DWidth
 *     cudaDevAttrMaxTexture2DHeight = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DHeight             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxTexture3DWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture3DWidth
 *     cudaDevAttrMaxTexture3DHeight = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture3DHeight
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxTexture2DHeight); 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_cudaDevAttrMaxTexture2DHeight, __pyx_t_4) < 0) __PYX_ERR(0, 486, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":487
 *     cudaDevAttrMaxTexture2DWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DWidth
 *     cudaDevAttrMaxTexture2DHeight = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DHeight
 *     cudaDevAttrMaxTexture3DWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture3DWidth             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxTexture3DHeight = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture3DHeight
 *     cudaDevAttrMaxTexture3DDepth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture3DDepth
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxTexture3DWidth); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 487, __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, 487, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":488
 *     cudaDevAttrMaxTexture2DHeight = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DHeight
 *     cudaDevAttrMaxTexture3DWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture3DWidth
 *     cudaDevAttrMaxTexture3DHeight = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture3DHeight             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxTexture3DDepth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture3DDepth
 *     cudaDevAttrMaxTexture2DLayeredWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DLayeredWidth
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxTexture3DHeight); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 488, __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, 488, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":489
 *     cudaDevAttrMaxTexture3DWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture3DWidth
 *     cudaDevAttrMaxTexture3DHeight = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture3DHeight
 *     cudaDevAttrMaxTexture3DDepth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture3DDepth             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxTexture2DLayeredWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DLayeredWidth
 *     cudaDevAttrMaxTexture2DLayeredHeight = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DLayeredHeight
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxTexture3DDepth); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 489, __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, 489, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":490
 *     cudaDevAttrMaxTexture3DHeight = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture3DHeight
 *     cudaDevAttrMaxTexture3DDepth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture3DDepth
 *     cudaDevAttrMaxTexture2DLayeredWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DLayeredWidth             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxTexture2DLayeredHeight = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DLayeredHeight
 *     cudaDevAttrMaxTexture2DLayeredLayers = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DLayeredLayers
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxTexture2DLayeredWidth); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 490, __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, 490, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":491
 *     cudaDevAttrMaxTexture3DDepth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture3DDepth
 *     cudaDevAttrMaxTexture2DLayeredWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DLayeredWidth
 *     cudaDevAttrMaxTexture2DLayeredHeight = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DLayeredHeight             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxTexture2DLayeredLayers = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DLayeredLayers
 *     cudaDevAttrSurfaceAlignment = ccudart.cudaDeviceAttr.cudaDevAttrSurfaceAlignment
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxTexture2DLayeredHeight); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 491, __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, 491, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":492
 *     cudaDevAttrMaxTexture2DLayeredWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DLayeredWidth
 *     cudaDevAttrMaxTexture2DLayeredHeight = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DLayeredHeight
 *     cudaDevAttrMaxTexture2DLayeredLayers = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DLayeredLayers             # <<<<<<<<<<<<<<
 *     cudaDevAttrSurfaceAlignment = ccudart.cudaDeviceAttr.cudaDevAttrSurfaceAlignment
 *     cudaDevAttrConcurrentKernels = ccudart.cudaDeviceAttr.cudaDevAttrConcurrentKernels
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxTexture2DLayeredLayers); 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_cudaDevAttrMaxTexture2DLayeredLa, __pyx_t_4) < 0) __PYX_ERR(0, 492, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":493
 *     cudaDevAttrMaxTexture2DLayeredHeight = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DLayeredHeight
 *     cudaDevAttrMaxTexture2DLayeredLayers = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DLayeredLayers
 *     cudaDevAttrSurfaceAlignment = ccudart.cudaDeviceAttr.cudaDevAttrSurfaceAlignment             # <<<<<<<<<<<<<<
 *     cudaDevAttrConcurrentKernels = ccudart.cudaDeviceAttr.cudaDevAttrConcurrentKernels
 *     cudaDevAttrEccEnabled = ccudart.cudaDeviceAttr.cudaDevAttrEccEnabled
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrSurfaceAlignment); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 493, __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, 493, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":494
 *     cudaDevAttrMaxTexture2DLayeredLayers = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DLayeredLayers
 *     cudaDevAttrSurfaceAlignment = ccudart.cudaDeviceAttr.cudaDevAttrSurfaceAlignment
 *     cudaDevAttrConcurrentKernels = ccudart.cudaDeviceAttr.cudaDevAttrConcurrentKernels             # <<<<<<<<<<<<<<
 *     cudaDevAttrEccEnabled = ccudart.cudaDeviceAttr.cudaDevAttrEccEnabled
 *     cudaDevAttrPciBusId = ccudart.cudaDeviceAttr.cudaDevAttrPciBusId
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrConcurrentKernels); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 494, __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, 494, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":495
 *     cudaDevAttrSurfaceAlignment = ccudart.cudaDeviceAttr.cudaDevAttrSurfaceAlignment
 *     cudaDevAttrConcurrentKernels = ccudart.cudaDeviceAttr.cudaDevAttrConcurrentKernels
 *     cudaDevAttrEccEnabled = ccudart.cudaDeviceAttr.cudaDevAttrEccEnabled             # <<<<<<<<<<<<<<
 *     cudaDevAttrPciBusId = ccudart.cudaDeviceAttr.cudaDevAttrPciBusId
 *     cudaDevAttrPciDeviceId = ccudart.cudaDeviceAttr.cudaDevAttrPciDeviceId
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrEccEnabled); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 495, __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, 495, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":496
 *     cudaDevAttrConcurrentKernels = ccudart.cudaDeviceAttr.cudaDevAttrConcurrentKernels
 *     cudaDevAttrEccEnabled = ccudart.cudaDeviceAttr.cudaDevAttrEccEnabled
 *     cudaDevAttrPciBusId = ccudart.cudaDeviceAttr.cudaDevAttrPciBusId             # <<<<<<<<<<<<<<
 *     cudaDevAttrPciDeviceId = ccudart.cudaDeviceAttr.cudaDevAttrPciDeviceId
 *     cudaDevAttrTccDriver = ccudart.cudaDeviceAttr.cudaDevAttrTccDriver
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrPciBusId); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 496, __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, 496, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":497
 *     cudaDevAttrEccEnabled = ccudart.cudaDeviceAttr.cudaDevAttrEccEnabled
 *     cudaDevAttrPciBusId = ccudart.cudaDeviceAttr.cudaDevAttrPciBusId
 *     cudaDevAttrPciDeviceId = ccudart.cudaDeviceAttr.cudaDevAttrPciDeviceId             # <<<<<<<<<<<<<<
 *     cudaDevAttrTccDriver = ccudart.cudaDeviceAttr.cudaDevAttrTccDriver
 *     cudaDevAttrMemoryClockRate = ccudart.cudaDeviceAttr.cudaDevAttrMemoryClockRate
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrPciDeviceId); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 497, __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, 497, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":498
 *     cudaDevAttrPciBusId = ccudart.cudaDeviceAttr.cudaDevAttrPciBusId
 *     cudaDevAttrPciDeviceId = ccudart.cudaDeviceAttr.cudaDevAttrPciDeviceId
 *     cudaDevAttrTccDriver = ccudart.cudaDeviceAttr.cudaDevAttrTccDriver             # <<<<<<<<<<<<<<
 *     cudaDevAttrMemoryClockRate = ccudart.cudaDeviceAttr.cudaDevAttrMemoryClockRate
 *     cudaDevAttrGlobalMemoryBusWidth = ccudart.cudaDeviceAttr.cudaDevAttrGlobalMemoryBusWidth
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrTccDriver); 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_cudaDevAttrTccDriver, __pyx_t_4) < 0) __PYX_ERR(0, 498, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":499
 *     cudaDevAttrPciDeviceId = ccudart.cudaDeviceAttr.cudaDevAttrPciDeviceId
 *     cudaDevAttrTccDriver = ccudart.cudaDeviceAttr.cudaDevAttrTccDriver
 *     cudaDevAttrMemoryClockRate = ccudart.cudaDeviceAttr.cudaDevAttrMemoryClockRate             # <<<<<<<<<<<<<<
 *     cudaDevAttrGlobalMemoryBusWidth = ccudart.cudaDeviceAttr.cudaDevAttrGlobalMemoryBusWidth
 *     cudaDevAttrL2CacheSize = ccudart.cudaDeviceAttr.cudaDevAttrL2CacheSize
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMemoryClockRate); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 499, __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, 499, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":500
 *     cudaDevAttrTccDriver = ccudart.cudaDeviceAttr.cudaDevAttrTccDriver
 *     cudaDevAttrMemoryClockRate = ccudart.cudaDeviceAttr.cudaDevAttrMemoryClockRate
 *     cudaDevAttrGlobalMemoryBusWidth = ccudart.cudaDeviceAttr.cudaDevAttrGlobalMemoryBusWidth             # <<<<<<<<<<<<<<
 *     cudaDevAttrL2CacheSize = ccudart.cudaDeviceAttr.cudaDevAttrL2CacheSize
 *     cudaDevAttrMaxThreadsPerMultiProcessor = ccudart.cudaDeviceAttr.cudaDevAttrMaxThreadsPerMultiProcessor
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrGlobalMemoryBusWidth); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 500, __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, 500, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":501
 *     cudaDevAttrMemoryClockRate = ccudart.cudaDeviceAttr.cudaDevAttrMemoryClockRate
 *     cudaDevAttrGlobalMemoryBusWidth = ccudart.cudaDeviceAttr.cudaDevAttrGlobalMemoryBusWidth
 *     cudaDevAttrL2CacheSize = ccudart.cudaDeviceAttr.cudaDevAttrL2CacheSize             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxThreadsPerMultiProcessor = ccudart.cudaDeviceAttr.cudaDevAttrMaxThreadsPerMultiProcessor
 *     cudaDevAttrAsyncEngineCount = ccudart.cudaDeviceAttr.cudaDevAttrAsyncEngineCount
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrL2CacheSize); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 501, __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, 501, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":502
 *     cudaDevAttrGlobalMemoryBusWidth = ccudart.cudaDeviceAttr.cudaDevAttrGlobalMemoryBusWidth
 *     cudaDevAttrL2CacheSize = ccudart.cudaDeviceAttr.cudaDevAttrL2CacheSize
 *     cudaDevAttrMaxThreadsPerMultiProcessor = ccudart.cudaDeviceAttr.cudaDevAttrMaxThreadsPerMultiProcessor             # <<<<<<<<<<<<<<
 *     cudaDevAttrAsyncEngineCount = ccudart.cudaDeviceAttr.cudaDevAttrAsyncEngineCount
 *     cudaDevAttrUnifiedAddressing = ccudart.cudaDeviceAttr.cudaDevAttrUnifiedAddressing
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxThreadsPerMultiProcessor); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 502, __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, 502, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":503
 *     cudaDevAttrL2CacheSize = ccudart.cudaDeviceAttr.cudaDevAttrL2CacheSize
 *     cudaDevAttrMaxThreadsPerMultiProcessor = ccudart.cudaDeviceAttr.cudaDevAttrMaxThreadsPerMultiProcessor
 *     cudaDevAttrAsyncEngineCount = ccudart.cudaDeviceAttr.cudaDevAttrAsyncEngineCount             # <<<<<<<<<<<<<<
 *     cudaDevAttrUnifiedAddressing = ccudart.cudaDeviceAttr.cudaDevAttrUnifiedAddressing
 *     cudaDevAttrMaxTexture1DLayeredWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture1DLayeredWidth
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrAsyncEngineCount); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 503, __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, 503, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":504
 *     cudaDevAttrMaxThreadsPerMultiProcessor = ccudart.cudaDeviceAttr.cudaDevAttrMaxThreadsPerMultiProcessor
 *     cudaDevAttrAsyncEngineCount = ccudart.cudaDeviceAttr.cudaDevAttrAsyncEngineCount
 *     cudaDevAttrUnifiedAddressing = ccudart.cudaDeviceAttr.cudaDevAttrUnifiedAddressing             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxTexture1DLayeredWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture1DLayeredWidth
 *     cudaDevAttrMaxTexture1DLayeredLayers = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture1DLayeredLayers
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrUnifiedAddressing); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 504, __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, 504, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":505
 *     cudaDevAttrAsyncEngineCount = ccudart.cudaDeviceAttr.cudaDevAttrAsyncEngineCount
 *     cudaDevAttrUnifiedAddressing = ccudart.cudaDeviceAttr.cudaDevAttrUnifiedAddressing
 *     cudaDevAttrMaxTexture1DLayeredWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture1DLayeredWidth             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxTexture1DLayeredLayers = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture1DLayeredLayers
 *     cudaDevAttrMaxTexture2DGatherWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DGatherWidth
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxTexture1DLayeredWidth); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 505, __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, 505, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":506
 *     cudaDevAttrUnifiedAddressing = ccudart.cudaDeviceAttr.cudaDevAttrUnifiedAddressing
 *     cudaDevAttrMaxTexture1DLayeredWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture1DLayeredWidth
 *     cudaDevAttrMaxTexture1DLayeredLayers = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture1DLayeredLayers             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxTexture2DGatherWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DGatherWidth
 *     cudaDevAttrMaxTexture2DGatherHeight = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DGatherHeight
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxTexture1DLayeredLayers); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 506, __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, 506, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":507
 *     cudaDevAttrMaxTexture1DLayeredWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture1DLayeredWidth
 *     cudaDevAttrMaxTexture1DLayeredLayers = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture1DLayeredLayers
 *     cudaDevAttrMaxTexture2DGatherWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DGatherWidth             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxTexture2DGatherHeight = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DGatherHeight
 *     cudaDevAttrMaxTexture3DWidthAlt = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture3DWidthAlt
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxTexture2DGatherWidth); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 507, __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, 507, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":508
 *     cudaDevAttrMaxTexture1DLayeredLayers = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture1DLayeredLayers
 *     cudaDevAttrMaxTexture2DGatherWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DGatherWidth
 *     cudaDevAttrMaxTexture2DGatherHeight = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DGatherHeight             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxTexture3DWidthAlt = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture3DWidthAlt
 *     cudaDevAttrMaxTexture3DHeightAlt = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture3DHeightAlt
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxTexture2DGatherHeight); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 508, __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, 508, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":509
 *     cudaDevAttrMaxTexture2DGatherWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DGatherWidth
 *     cudaDevAttrMaxTexture2DGatherHeight = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DGatherHeight
 *     cudaDevAttrMaxTexture3DWidthAlt = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture3DWidthAlt             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxTexture3DHeightAlt = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture3DHeightAlt
 *     cudaDevAttrMaxTexture3DDepthAlt = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture3DDepthAlt
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxTexture3DWidthAlt); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 509, __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, 509, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":510
 *     cudaDevAttrMaxTexture2DGatherHeight = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DGatherHeight
 *     cudaDevAttrMaxTexture3DWidthAlt = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture3DWidthAlt
 *     cudaDevAttrMaxTexture3DHeightAlt = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture3DHeightAlt             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxTexture3DDepthAlt = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture3DDepthAlt
 *     cudaDevAttrPciDomainId = ccudart.cudaDeviceAttr.cudaDevAttrPciDomainId
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxTexture3DHeightAlt); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 510, __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, 510, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":511
 *     cudaDevAttrMaxTexture3DWidthAlt = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture3DWidthAlt
 *     cudaDevAttrMaxTexture3DHeightAlt = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture3DHeightAlt
 *     cudaDevAttrMaxTexture3DDepthAlt = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture3DDepthAlt             # <<<<<<<<<<<<<<
 *     cudaDevAttrPciDomainId = ccudart.cudaDeviceAttr.cudaDevAttrPciDomainId
 *     cudaDevAttrTexturePitchAlignment = ccudart.cudaDeviceAttr.cudaDevAttrTexturePitchAlignment
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxTexture3DDepthAlt); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 511, __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, 511, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":512
 *     cudaDevAttrMaxTexture3DHeightAlt = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture3DHeightAlt
 *     cudaDevAttrMaxTexture3DDepthAlt = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture3DDepthAlt
 *     cudaDevAttrPciDomainId = ccudart.cudaDeviceAttr.cudaDevAttrPciDomainId             # <<<<<<<<<<<<<<
 *     cudaDevAttrTexturePitchAlignment = ccudart.cudaDeviceAttr.cudaDevAttrTexturePitchAlignment
 *     cudaDevAttrMaxTextureCubemapWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTextureCubemapWidth
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrPciDomainId); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 512, __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, 512, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":513
 *     cudaDevAttrMaxTexture3DDepthAlt = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture3DDepthAlt
 *     cudaDevAttrPciDomainId = ccudart.cudaDeviceAttr.cudaDevAttrPciDomainId
 *     cudaDevAttrTexturePitchAlignment = ccudart.cudaDeviceAttr.cudaDevAttrTexturePitchAlignment             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxTextureCubemapWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTextureCubemapWidth
 *     cudaDevAttrMaxTextureCubemapLayeredWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTextureCubemapLayeredWidth
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrTexturePitchAlignment); 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_cudaDevAttrTexturePitchAlignment, __pyx_t_4) < 0) __PYX_ERR(0, 513, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":514
 *     cudaDevAttrPciDomainId = ccudart.cudaDeviceAttr.cudaDevAttrPciDomainId
 *     cudaDevAttrTexturePitchAlignment = ccudart.cudaDeviceAttr.cudaDevAttrTexturePitchAlignment
 *     cudaDevAttrMaxTextureCubemapWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTextureCubemapWidth             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxTextureCubemapLayeredWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTextureCubemapLayeredWidth
 *     cudaDevAttrMaxTextureCubemapLayeredLayers = ccudart.cudaDeviceAttr.cudaDevAttrMaxTextureCubemapLayeredLayers
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxTextureCubemapWidth); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 514, __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, 514, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":515
 *     cudaDevAttrTexturePitchAlignment = ccudart.cudaDeviceAttr.cudaDevAttrTexturePitchAlignment
 *     cudaDevAttrMaxTextureCubemapWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTextureCubemapWidth
 *     cudaDevAttrMaxTextureCubemapLayeredWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTextureCubemapLayeredWidth             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxTextureCubemapLayeredLayers = ccudart.cudaDeviceAttr.cudaDevAttrMaxTextureCubemapLayeredLayers
 *     cudaDevAttrMaxSurface1DWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface1DWidth
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxTextureCubemapLayeredWidth); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 515, __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, 515, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":516
 *     cudaDevAttrMaxTextureCubemapWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTextureCubemapWidth
 *     cudaDevAttrMaxTextureCubemapLayeredWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTextureCubemapLayeredWidth
 *     cudaDevAttrMaxTextureCubemapLayeredLayers = ccudart.cudaDeviceAttr.cudaDevAttrMaxTextureCubemapLayeredLayers             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxSurface1DWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface1DWidth
 *     cudaDevAttrMaxSurface2DWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface2DWidth
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxTextureCubemapLayeredLayers); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 516, __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, 516, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":517
 *     cudaDevAttrMaxTextureCubemapLayeredWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTextureCubemapLayeredWidth
 *     cudaDevAttrMaxTextureCubemapLayeredLayers = ccudart.cudaDeviceAttr.cudaDevAttrMaxTextureCubemapLayeredLayers
 *     cudaDevAttrMaxSurface1DWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface1DWidth             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxSurface2DWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface2DWidth
 *     cudaDevAttrMaxSurface2DHeight = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface2DHeight
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxSurface1DWidth); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 517, __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, 517, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":518
 *     cudaDevAttrMaxTextureCubemapLayeredLayers = ccudart.cudaDeviceAttr.cudaDevAttrMaxTextureCubemapLayeredLayers
 *     cudaDevAttrMaxSurface1DWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface1DWidth
 *     cudaDevAttrMaxSurface2DWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface2DWidth             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxSurface2DHeight = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface2DHeight
 *     cudaDevAttrMaxSurface3DWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface3DWidth
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxSurface2DWidth); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 518, __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, 518, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":519
 *     cudaDevAttrMaxSurface1DWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface1DWidth
 *     cudaDevAttrMaxSurface2DWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface2DWidth
 *     cudaDevAttrMaxSurface2DHeight = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface2DHeight             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxSurface3DWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface3DWidth
 *     cudaDevAttrMaxSurface3DHeight = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface3DHeight
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxSurface2DHeight); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 519, __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, 519, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":520
 *     cudaDevAttrMaxSurface2DWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface2DWidth
 *     cudaDevAttrMaxSurface2DHeight = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface2DHeight
 *     cudaDevAttrMaxSurface3DWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface3DWidth             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxSurface3DHeight = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface3DHeight
 *     cudaDevAttrMaxSurface3DDepth = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface3DDepth
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxSurface3DWidth); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 520, __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, 520, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":521
 *     cudaDevAttrMaxSurface2DHeight = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface2DHeight
 *     cudaDevAttrMaxSurface3DWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface3DWidth
 *     cudaDevAttrMaxSurface3DHeight = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface3DHeight             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxSurface3DDepth = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface3DDepth
 *     cudaDevAttrMaxSurface1DLayeredWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface1DLayeredWidth
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxSurface3DHeight); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 521, __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, 521, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":522
 *     cudaDevAttrMaxSurface3DWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface3DWidth
 *     cudaDevAttrMaxSurface3DHeight = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface3DHeight
 *     cudaDevAttrMaxSurface3DDepth = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface3DDepth             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxSurface1DLayeredWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface1DLayeredWidth
 *     cudaDevAttrMaxSurface1DLayeredLayers = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface1DLayeredLayers
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxSurface3DDepth); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 522, __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, 522, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":523
 *     cudaDevAttrMaxSurface3DHeight = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface3DHeight
 *     cudaDevAttrMaxSurface3DDepth = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface3DDepth
 *     cudaDevAttrMaxSurface1DLayeredWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface1DLayeredWidth             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxSurface1DLayeredLayers = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface1DLayeredLayers
 *     cudaDevAttrMaxSurface2DLayeredWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface2DLayeredWidth
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxSurface1DLayeredWidth); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 523, __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, 523, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":524
 *     cudaDevAttrMaxSurface3DDepth = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface3DDepth
 *     cudaDevAttrMaxSurface1DLayeredWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface1DLayeredWidth
 *     cudaDevAttrMaxSurface1DLayeredLayers = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface1DLayeredLayers             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxSurface2DLayeredWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface2DLayeredWidth
 *     cudaDevAttrMaxSurface2DLayeredHeight = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface2DLayeredHeight
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxSurface1DLayeredLayers); 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_cudaDevAttrMaxSurface1DLayeredLa, __pyx_t_4) < 0) __PYX_ERR(0, 524, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":525
 *     cudaDevAttrMaxSurface1DLayeredWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface1DLayeredWidth
 *     cudaDevAttrMaxSurface1DLayeredLayers = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface1DLayeredLayers
 *     cudaDevAttrMaxSurface2DLayeredWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface2DLayeredWidth             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxSurface2DLayeredHeight = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface2DLayeredHeight
 *     cudaDevAttrMaxSurface2DLayeredLayers = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface2DLayeredLayers
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxSurface2DLayeredWidth); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 525, __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, 525, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":526
 *     cudaDevAttrMaxSurface1DLayeredLayers = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface1DLayeredLayers
 *     cudaDevAttrMaxSurface2DLayeredWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface2DLayeredWidth
 *     cudaDevAttrMaxSurface2DLayeredHeight = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface2DLayeredHeight             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxSurface2DLayeredLayers = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface2DLayeredLayers
 *     cudaDevAttrMaxSurfaceCubemapWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurfaceCubemapWidth
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxSurface2DLayeredHeight); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 526, __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, 526, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":527
 *     cudaDevAttrMaxSurface2DLayeredWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface2DLayeredWidth
 *     cudaDevAttrMaxSurface2DLayeredHeight = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface2DLayeredHeight
 *     cudaDevAttrMaxSurface2DLayeredLayers = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface2DLayeredLayers             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxSurfaceCubemapWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurfaceCubemapWidth
 *     cudaDevAttrMaxSurfaceCubemapLayeredWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurfaceCubemapLayeredWidth
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxSurface2DLayeredLayers); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 527, __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, 527, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":528
 *     cudaDevAttrMaxSurface2DLayeredHeight = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface2DLayeredHeight
 *     cudaDevAttrMaxSurface2DLayeredLayers = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface2DLayeredLayers
 *     cudaDevAttrMaxSurfaceCubemapWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurfaceCubemapWidth             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxSurfaceCubemapLayeredWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurfaceCubemapLayeredWidth
 *     cudaDevAttrMaxSurfaceCubemapLayeredLayers = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurfaceCubemapLayeredLayers
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxSurfaceCubemapWidth); 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_cudaDevAttrMaxSurfaceCubemapWidt, __pyx_t_4) < 0) __PYX_ERR(0, 528, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":529
 *     cudaDevAttrMaxSurface2DLayeredLayers = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurface2DLayeredLayers
 *     cudaDevAttrMaxSurfaceCubemapWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurfaceCubemapWidth
 *     cudaDevAttrMaxSurfaceCubemapLayeredWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurfaceCubemapLayeredWidth             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxSurfaceCubemapLayeredLayers = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurfaceCubemapLayeredLayers
 *     cudaDevAttrMaxTexture1DLinearWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture1DLinearWidth
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxSurfaceCubemapLayeredWidth); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 529, __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, 529, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":530
 *     cudaDevAttrMaxSurfaceCubemapWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurfaceCubemapWidth
 *     cudaDevAttrMaxSurfaceCubemapLayeredWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurfaceCubemapLayeredWidth
 *     cudaDevAttrMaxSurfaceCubemapLayeredLayers = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurfaceCubemapLayeredLayers             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxTexture1DLinearWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture1DLinearWidth
 *     cudaDevAttrMaxTexture2DLinearWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DLinearWidth
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxSurfaceCubemapLayeredLayers); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 530, __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, 530, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":531
 *     cudaDevAttrMaxSurfaceCubemapLayeredWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurfaceCubemapLayeredWidth
 *     cudaDevAttrMaxSurfaceCubemapLayeredLayers = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurfaceCubemapLayeredLayers
 *     cudaDevAttrMaxTexture1DLinearWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture1DLinearWidth             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxTexture2DLinearWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DLinearWidth
 *     cudaDevAttrMaxTexture2DLinearHeight = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DLinearHeight
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxTexture1DLinearWidth); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 531, __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, 531, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":532
 *     cudaDevAttrMaxSurfaceCubemapLayeredLayers = ccudart.cudaDeviceAttr.cudaDevAttrMaxSurfaceCubemapLayeredLayers
 *     cudaDevAttrMaxTexture1DLinearWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture1DLinearWidth
 *     cudaDevAttrMaxTexture2DLinearWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DLinearWidth             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxTexture2DLinearHeight = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DLinearHeight
 *     cudaDevAttrMaxTexture2DLinearPitch = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DLinearPitch
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxTexture2DLinearWidth); 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_cudaDevAttrMaxTexture2DLinearWid, __pyx_t_4) < 0) __PYX_ERR(0, 532, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":533
 *     cudaDevAttrMaxTexture1DLinearWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture1DLinearWidth
 *     cudaDevAttrMaxTexture2DLinearWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DLinearWidth
 *     cudaDevAttrMaxTexture2DLinearHeight = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DLinearHeight             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxTexture2DLinearPitch = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DLinearPitch
 *     cudaDevAttrMaxTexture2DMipmappedWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DMipmappedWidth
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxTexture2DLinearHeight); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 533, __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, 533, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":534
 *     cudaDevAttrMaxTexture2DLinearWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DLinearWidth
 *     cudaDevAttrMaxTexture2DLinearHeight = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DLinearHeight
 *     cudaDevAttrMaxTexture2DLinearPitch = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DLinearPitch             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxTexture2DMipmappedWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DMipmappedWidth
 *     cudaDevAttrMaxTexture2DMipmappedHeight = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DMipmappedHeight
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxTexture2DLinearPitch); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 534, __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, 534, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":535
 *     cudaDevAttrMaxTexture2DLinearHeight = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DLinearHeight
 *     cudaDevAttrMaxTexture2DLinearPitch = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DLinearPitch
 *     cudaDevAttrMaxTexture2DMipmappedWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DMipmappedWidth             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxTexture2DMipmappedHeight = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DMipmappedHeight
 *     cudaDevAttrComputeCapabilityMajor = ccudart.cudaDeviceAttr.cudaDevAttrComputeCapabilityMajor
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxTexture2DMipmappedWidth); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 535, __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, 535, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":536
 *     cudaDevAttrMaxTexture2DLinearPitch = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DLinearPitch
 *     cudaDevAttrMaxTexture2DMipmappedWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DMipmappedWidth
 *     cudaDevAttrMaxTexture2DMipmappedHeight = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DMipmappedHeight             # <<<<<<<<<<<<<<
 *     cudaDevAttrComputeCapabilityMajor = ccudart.cudaDeviceAttr.cudaDevAttrComputeCapabilityMajor
 *     cudaDevAttrComputeCapabilityMinor = ccudart.cudaDeviceAttr.cudaDevAttrComputeCapabilityMinor
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxTexture2DMipmappedHeight); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 536, __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, 536, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":537
 *     cudaDevAttrMaxTexture2DMipmappedWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DMipmappedWidth
 *     cudaDevAttrMaxTexture2DMipmappedHeight = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DMipmappedHeight
 *     cudaDevAttrComputeCapabilityMajor = ccudart.cudaDeviceAttr.cudaDevAttrComputeCapabilityMajor             # <<<<<<<<<<<<<<
 *     cudaDevAttrComputeCapabilityMinor = ccudart.cudaDeviceAttr.cudaDevAttrComputeCapabilityMinor
 *     cudaDevAttrMaxTexture1DMipmappedWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture1DMipmappedWidth
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrComputeCapabilityMajor); 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_cudaDevAttrComputeCapabilityMajo, __pyx_t_4) < 0) __PYX_ERR(0, 537, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":538
 *     cudaDevAttrMaxTexture2DMipmappedHeight = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture2DMipmappedHeight
 *     cudaDevAttrComputeCapabilityMajor = ccudart.cudaDeviceAttr.cudaDevAttrComputeCapabilityMajor
 *     cudaDevAttrComputeCapabilityMinor = ccudart.cudaDeviceAttr.cudaDevAttrComputeCapabilityMinor             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxTexture1DMipmappedWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture1DMipmappedWidth
 *     cudaDevAttrStreamPrioritiesSupported = ccudart.cudaDeviceAttr.cudaDevAttrStreamPrioritiesSupported
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrComputeCapabilityMinor); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 538, __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, 538, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":539
 *     cudaDevAttrComputeCapabilityMajor = ccudart.cudaDeviceAttr.cudaDevAttrComputeCapabilityMajor
 *     cudaDevAttrComputeCapabilityMinor = ccudart.cudaDeviceAttr.cudaDevAttrComputeCapabilityMinor
 *     cudaDevAttrMaxTexture1DMipmappedWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture1DMipmappedWidth             # <<<<<<<<<<<<<<
 *     cudaDevAttrStreamPrioritiesSupported = ccudart.cudaDeviceAttr.cudaDevAttrStreamPrioritiesSupported
 *     cudaDevAttrGlobalL1CacheSupported = ccudart.cudaDeviceAttr.cudaDevAttrGlobalL1CacheSupported
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxTexture1DMipmappedWidth); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 539, __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, 539, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":540
 *     cudaDevAttrComputeCapabilityMinor = ccudart.cudaDeviceAttr.cudaDevAttrComputeCapabilityMinor
 *     cudaDevAttrMaxTexture1DMipmappedWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture1DMipmappedWidth
 *     cudaDevAttrStreamPrioritiesSupported = ccudart.cudaDeviceAttr.cudaDevAttrStreamPrioritiesSupported             # <<<<<<<<<<<<<<
 *     cudaDevAttrGlobalL1CacheSupported = ccudart.cudaDeviceAttr.cudaDevAttrGlobalL1CacheSupported
 *     cudaDevAttrLocalL1CacheSupported = ccudart.cudaDeviceAttr.cudaDevAttrLocalL1CacheSupported
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrStreamPrioritiesSupported); 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_cudaDevAttrStreamPrioritiesSuppo, __pyx_t_4) < 0) __PYX_ERR(0, 540, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":541
 *     cudaDevAttrMaxTexture1DMipmappedWidth = ccudart.cudaDeviceAttr.cudaDevAttrMaxTexture1DMipmappedWidth
 *     cudaDevAttrStreamPrioritiesSupported = ccudart.cudaDeviceAttr.cudaDevAttrStreamPrioritiesSupported
 *     cudaDevAttrGlobalL1CacheSupported = ccudart.cudaDeviceAttr.cudaDevAttrGlobalL1CacheSupported             # <<<<<<<<<<<<<<
 *     cudaDevAttrLocalL1CacheSupported = ccudart.cudaDeviceAttr.cudaDevAttrLocalL1CacheSupported
 *     cudaDevAttrMaxSharedMemoryPerMultiprocessor = ccudart.cudaDeviceAttr.cudaDevAttrMaxSharedMemoryPerMultiprocessor
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrGlobalL1CacheSupported); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 541, __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, 541, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":542
 *     cudaDevAttrStreamPrioritiesSupported = ccudart.cudaDeviceAttr.cudaDevAttrStreamPrioritiesSupported
 *     cudaDevAttrGlobalL1CacheSupported = ccudart.cudaDeviceAttr.cudaDevAttrGlobalL1CacheSupported
 *     cudaDevAttrLocalL1CacheSupported = ccudart.cudaDeviceAttr.cudaDevAttrLocalL1CacheSupported             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxSharedMemoryPerMultiprocessor = ccudart.cudaDeviceAttr.cudaDevAttrMaxSharedMemoryPerMultiprocessor
 *     cudaDevAttrMaxRegistersPerMultiprocessor = ccudart.cudaDeviceAttr.cudaDevAttrMaxRegistersPerMultiprocessor
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrLocalL1CacheSupported); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 542, __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, 542, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":543
 *     cudaDevAttrGlobalL1CacheSupported = ccudart.cudaDeviceAttr.cudaDevAttrGlobalL1CacheSupported
 *     cudaDevAttrLocalL1CacheSupported = ccudart.cudaDeviceAttr.cudaDevAttrLocalL1CacheSupported
 *     cudaDevAttrMaxSharedMemoryPerMultiprocessor = ccudart.cudaDeviceAttr.cudaDevAttrMaxSharedMemoryPerMultiprocessor             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxRegistersPerMultiprocessor = ccudart.cudaDeviceAttr.cudaDevAttrMaxRegistersPerMultiprocessor
 *     cudaDevAttrManagedMemory = ccudart.cudaDeviceAttr.cudaDevAttrManagedMemory
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxSharedMemoryPerMultiprocessor); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 543, __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, 543, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":544
 *     cudaDevAttrLocalL1CacheSupported = ccudart.cudaDeviceAttr.cudaDevAttrLocalL1CacheSupported
 *     cudaDevAttrMaxSharedMemoryPerMultiprocessor = ccudart.cudaDeviceAttr.cudaDevAttrMaxSharedMemoryPerMultiprocessor
 *     cudaDevAttrMaxRegistersPerMultiprocessor = ccudart.cudaDeviceAttr.cudaDevAttrMaxRegistersPerMultiprocessor             # <<<<<<<<<<<<<<
 *     cudaDevAttrManagedMemory = ccudart.cudaDeviceAttr.cudaDevAttrManagedMemory
 *     cudaDevAttrIsMultiGpuBoard = ccudart.cudaDeviceAttr.cudaDevAttrIsMultiGpuBoard
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxRegistersPerMultiprocessor); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 544, __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, 544, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":545
 *     cudaDevAttrMaxSharedMemoryPerMultiprocessor = ccudart.cudaDeviceAttr.cudaDevAttrMaxSharedMemoryPerMultiprocessor
 *     cudaDevAttrMaxRegistersPerMultiprocessor = ccudart.cudaDeviceAttr.cudaDevAttrMaxRegistersPerMultiprocessor
 *     cudaDevAttrManagedMemory = ccudart.cudaDeviceAttr.cudaDevAttrManagedMemory             # <<<<<<<<<<<<<<
 *     cudaDevAttrIsMultiGpuBoard = ccudart.cudaDeviceAttr.cudaDevAttrIsMultiGpuBoard
 *     cudaDevAttrMultiGpuBoardGroupID = ccudart.cudaDeviceAttr.cudaDevAttrMultiGpuBoardGroupID
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrManagedMemory); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 545, __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, 545, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":546
 *     cudaDevAttrMaxRegistersPerMultiprocessor = ccudart.cudaDeviceAttr.cudaDevAttrMaxRegistersPerMultiprocessor
 *     cudaDevAttrManagedMemory = ccudart.cudaDeviceAttr.cudaDevAttrManagedMemory
 *     cudaDevAttrIsMultiGpuBoard = ccudart.cudaDeviceAttr.cudaDevAttrIsMultiGpuBoard             # <<<<<<<<<<<<<<
 *     cudaDevAttrMultiGpuBoardGroupID = ccudart.cudaDeviceAttr.cudaDevAttrMultiGpuBoardGroupID
 *     cudaDevAttrHostNativeAtomicSupported = ccudart.cudaDeviceAttr.cudaDevAttrHostNativeAtomicSupported
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrIsMultiGpuBoard); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 546, __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, 546, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":547
 *     cudaDevAttrManagedMemory = ccudart.cudaDeviceAttr.cudaDevAttrManagedMemory
 *     cudaDevAttrIsMultiGpuBoard = ccudart.cudaDeviceAttr.cudaDevAttrIsMultiGpuBoard
 *     cudaDevAttrMultiGpuBoardGroupID = ccudart.cudaDeviceAttr.cudaDevAttrMultiGpuBoardGroupID             # <<<<<<<<<<<<<<
 *     cudaDevAttrHostNativeAtomicSupported = ccudart.cudaDeviceAttr.cudaDevAttrHostNativeAtomicSupported
 *     cudaDevAttrSingleToDoublePrecisionPerfRatio = ccudart.cudaDeviceAttr.cudaDevAttrSingleToDoublePrecisionPerfRatio
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMultiGpuBoardGroupID); 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_cudaDevAttrMultiGpuBoardGroupID, __pyx_t_4) < 0) __PYX_ERR(0, 547, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":548
 *     cudaDevAttrIsMultiGpuBoard = ccudart.cudaDeviceAttr.cudaDevAttrIsMultiGpuBoard
 *     cudaDevAttrMultiGpuBoardGroupID = ccudart.cudaDeviceAttr.cudaDevAttrMultiGpuBoardGroupID
 *     cudaDevAttrHostNativeAtomicSupported = ccudart.cudaDeviceAttr.cudaDevAttrHostNativeAtomicSupported             # <<<<<<<<<<<<<<
 *     cudaDevAttrSingleToDoublePrecisionPerfRatio = ccudart.cudaDeviceAttr.cudaDevAttrSingleToDoublePrecisionPerfRatio
 *     cudaDevAttrPageableMemoryAccess = ccudart.cudaDeviceAttr.cudaDevAttrPageableMemoryAccess
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrHostNativeAtomicSupported); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 548, __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, 548, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":549
 *     cudaDevAttrMultiGpuBoardGroupID = ccudart.cudaDeviceAttr.cudaDevAttrMultiGpuBoardGroupID
 *     cudaDevAttrHostNativeAtomicSupported = ccudart.cudaDeviceAttr.cudaDevAttrHostNativeAtomicSupported
 *     cudaDevAttrSingleToDoublePrecisionPerfRatio = ccudart.cudaDeviceAttr.cudaDevAttrSingleToDoublePrecisionPerfRatio             # <<<<<<<<<<<<<<
 *     cudaDevAttrPageableMemoryAccess = ccudart.cudaDeviceAttr.cudaDevAttrPageableMemoryAccess
 *     cudaDevAttrConcurrentManagedAccess = ccudart.cudaDeviceAttr.cudaDevAttrConcurrentManagedAccess
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrSingleToDoublePrecisionPerfRatio); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 549, __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, 549, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":550
 *     cudaDevAttrHostNativeAtomicSupported = ccudart.cudaDeviceAttr.cudaDevAttrHostNativeAtomicSupported
 *     cudaDevAttrSingleToDoublePrecisionPerfRatio = ccudart.cudaDeviceAttr.cudaDevAttrSingleToDoublePrecisionPerfRatio
 *     cudaDevAttrPageableMemoryAccess = ccudart.cudaDeviceAttr.cudaDevAttrPageableMemoryAccess             # <<<<<<<<<<<<<<
 *     cudaDevAttrConcurrentManagedAccess = ccudart.cudaDeviceAttr.cudaDevAttrConcurrentManagedAccess
 *     cudaDevAttrComputePreemptionSupported = ccudart.cudaDeviceAttr.cudaDevAttrComputePreemptionSupported
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrPageableMemoryAccess); 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_cudaDevAttrPageableMemoryAccess, __pyx_t_4) < 0) __PYX_ERR(0, 550, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":551
 *     cudaDevAttrSingleToDoublePrecisionPerfRatio = ccudart.cudaDeviceAttr.cudaDevAttrSingleToDoublePrecisionPerfRatio
 *     cudaDevAttrPageableMemoryAccess = ccudart.cudaDeviceAttr.cudaDevAttrPageableMemoryAccess
 *     cudaDevAttrConcurrentManagedAccess = ccudart.cudaDeviceAttr.cudaDevAttrConcurrentManagedAccess             # <<<<<<<<<<<<<<
 *     cudaDevAttrComputePreemptionSupported = ccudart.cudaDeviceAttr.cudaDevAttrComputePreemptionSupported
 *     cudaDevAttrCanUseHostPointerForRegisteredMem = ccudart.cudaDeviceAttr.cudaDevAttrCanUseHostPointerForRegisteredMem
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrConcurrentManagedAccess); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 551, __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, 551, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":552
 *     cudaDevAttrPageableMemoryAccess = ccudart.cudaDeviceAttr.cudaDevAttrPageableMemoryAccess
 *     cudaDevAttrConcurrentManagedAccess = ccudart.cudaDeviceAttr.cudaDevAttrConcurrentManagedAccess
 *     cudaDevAttrComputePreemptionSupported = ccudart.cudaDeviceAttr.cudaDevAttrComputePreemptionSupported             # <<<<<<<<<<<<<<
 *     cudaDevAttrCanUseHostPointerForRegisteredMem = ccudart.cudaDeviceAttr.cudaDevAttrCanUseHostPointerForRegisteredMem
 *     cudaDevAttrReserved92 = ccudart.cudaDeviceAttr.cudaDevAttrReserved92
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrComputePreemptionSupported); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 552, __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, 552, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":553
 *     cudaDevAttrConcurrentManagedAccess = ccudart.cudaDeviceAttr.cudaDevAttrConcurrentManagedAccess
 *     cudaDevAttrComputePreemptionSupported = ccudart.cudaDeviceAttr.cudaDevAttrComputePreemptionSupported
 *     cudaDevAttrCanUseHostPointerForRegisteredMem = ccudart.cudaDeviceAttr.cudaDevAttrCanUseHostPointerForRegisteredMem             # <<<<<<<<<<<<<<
 *     cudaDevAttrReserved92 = ccudart.cudaDeviceAttr.cudaDevAttrReserved92
 *     cudaDevAttrReserved93 = ccudart.cudaDeviceAttr.cudaDevAttrReserved93
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrCanUseHostPointerForRegisteredMem); 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_cudaDevAttrCanUseHostPointerForR, __pyx_t_4) < 0) __PYX_ERR(0, 553, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":554
 *     cudaDevAttrComputePreemptionSupported = ccudart.cudaDeviceAttr.cudaDevAttrComputePreemptionSupported
 *     cudaDevAttrCanUseHostPointerForRegisteredMem = ccudart.cudaDeviceAttr.cudaDevAttrCanUseHostPointerForRegisteredMem
 *     cudaDevAttrReserved92 = ccudart.cudaDeviceAttr.cudaDevAttrReserved92             # <<<<<<<<<<<<<<
 *     cudaDevAttrReserved93 = ccudart.cudaDeviceAttr.cudaDevAttrReserved93
 *     cudaDevAttrReserved94 = ccudart.cudaDeviceAttr.cudaDevAttrReserved94
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrReserved92); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 554, __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, 554, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":555
 *     cudaDevAttrCanUseHostPointerForRegisteredMem = ccudart.cudaDeviceAttr.cudaDevAttrCanUseHostPointerForRegisteredMem
 *     cudaDevAttrReserved92 = ccudart.cudaDeviceAttr.cudaDevAttrReserved92
 *     cudaDevAttrReserved93 = ccudart.cudaDeviceAttr.cudaDevAttrReserved93             # <<<<<<<<<<<<<<
 *     cudaDevAttrReserved94 = ccudart.cudaDeviceAttr.cudaDevAttrReserved94
 *     cudaDevAttrCooperativeLaunch = ccudart.cudaDeviceAttr.cudaDevAttrCooperativeLaunch
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrReserved93); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 555, __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, 555, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":556
 *     cudaDevAttrReserved92 = ccudart.cudaDeviceAttr.cudaDevAttrReserved92
 *     cudaDevAttrReserved93 = ccudart.cudaDeviceAttr.cudaDevAttrReserved93
 *     cudaDevAttrReserved94 = ccudart.cudaDeviceAttr.cudaDevAttrReserved94             # <<<<<<<<<<<<<<
 *     cudaDevAttrCooperativeLaunch = ccudart.cudaDeviceAttr.cudaDevAttrCooperativeLaunch
 *     cudaDevAttrCooperativeMultiDeviceLaunch = ccudart.cudaDeviceAttr.cudaDevAttrCooperativeMultiDeviceLaunch
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrReserved94); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 556, __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, 556, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":557
 *     cudaDevAttrReserved93 = ccudart.cudaDeviceAttr.cudaDevAttrReserved93
 *     cudaDevAttrReserved94 = ccudart.cudaDeviceAttr.cudaDevAttrReserved94
 *     cudaDevAttrCooperativeLaunch = ccudart.cudaDeviceAttr.cudaDevAttrCooperativeLaunch             # <<<<<<<<<<<<<<
 *     cudaDevAttrCooperativeMultiDeviceLaunch = ccudart.cudaDeviceAttr.cudaDevAttrCooperativeMultiDeviceLaunch
 *     cudaDevAttrMaxSharedMemoryPerBlockOptin = ccudart.cudaDeviceAttr.cudaDevAttrMaxSharedMemoryPerBlockOptin
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrCooperativeLaunch); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 557, __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, 557, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":558
 *     cudaDevAttrReserved94 = ccudart.cudaDeviceAttr.cudaDevAttrReserved94
 *     cudaDevAttrCooperativeLaunch = ccudart.cudaDeviceAttr.cudaDevAttrCooperativeLaunch
 *     cudaDevAttrCooperativeMultiDeviceLaunch = ccudart.cudaDeviceAttr.cudaDevAttrCooperativeMultiDeviceLaunch             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxSharedMemoryPerBlockOptin = ccudart.cudaDeviceAttr.cudaDevAttrMaxSharedMemoryPerBlockOptin
 *     cudaDevAttrCanFlushRemoteWrites = ccudart.cudaDeviceAttr.cudaDevAttrCanFlushRemoteWrites
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrCooperativeMultiDeviceLaunch); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 558, __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, 558, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":559
 *     cudaDevAttrCooperativeLaunch = ccudart.cudaDeviceAttr.cudaDevAttrCooperativeLaunch
 *     cudaDevAttrCooperativeMultiDeviceLaunch = ccudart.cudaDeviceAttr.cudaDevAttrCooperativeMultiDeviceLaunch
 *     cudaDevAttrMaxSharedMemoryPerBlockOptin = ccudart.cudaDeviceAttr.cudaDevAttrMaxSharedMemoryPerBlockOptin             # <<<<<<<<<<<<<<
 *     cudaDevAttrCanFlushRemoteWrites = ccudart.cudaDeviceAttr.cudaDevAttrCanFlushRemoteWrites
 *     cudaDevAttrHostRegisterSupported = ccudart.cudaDeviceAttr.cudaDevAttrHostRegisterSupported
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxSharedMemoryPerBlockOptin); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 559, __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, 559, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":560
 *     cudaDevAttrCooperativeMultiDeviceLaunch = ccudart.cudaDeviceAttr.cudaDevAttrCooperativeMultiDeviceLaunch
 *     cudaDevAttrMaxSharedMemoryPerBlockOptin = ccudart.cudaDeviceAttr.cudaDevAttrMaxSharedMemoryPerBlockOptin
 *     cudaDevAttrCanFlushRemoteWrites = ccudart.cudaDeviceAttr.cudaDevAttrCanFlushRemoteWrites             # <<<<<<<<<<<<<<
 *     cudaDevAttrHostRegisterSupported = ccudart.cudaDeviceAttr.cudaDevAttrHostRegisterSupported
 *     cudaDevAttrPageableMemoryAccessUsesHostPageTables = ccudart.cudaDeviceAttr.cudaDevAttrPageableMemoryAccessUsesHostPageTables
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrCanFlushRemoteWrites); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 560, __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, 560, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":561
 *     cudaDevAttrMaxSharedMemoryPerBlockOptin = ccudart.cudaDeviceAttr.cudaDevAttrMaxSharedMemoryPerBlockOptin
 *     cudaDevAttrCanFlushRemoteWrites = ccudart.cudaDeviceAttr.cudaDevAttrCanFlushRemoteWrites
 *     cudaDevAttrHostRegisterSupported = ccudart.cudaDeviceAttr.cudaDevAttrHostRegisterSupported             # <<<<<<<<<<<<<<
 *     cudaDevAttrPageableMemoryAccessUsesHostPageTables = ccudart.cudaDeviceAttr.cudaDevAttrPageableMemoryAccessUsesHostPageTables
 *     cudaDevAttrDirectManagedMemAccessFromHost = ccudart.cudaDeviceAttr.cudaDevAttrDirectManagedMemAccessFromHost
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrHostRegisterSupported); 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_cudaDevAttrHostRegisterSupported, __pyx_t_4) < 0) __PYX_ERR(0, 561, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":562
 *     cudaDevAttrCanFlushRemoteWrites = ccudart.cudaDeviceAttr.cudaDevAttrCanFlushRemoteWrites
 *     cudaDevAttrHostRegisterSupported = ccudart.cudaDeviceAttr.cudaDevAttrHostRegisterSupported
 *     cudaDevAttrPageableMemoryAccessUsesHostPageTables = ccudart.cudaDeviceAttr.cudaDevAttrPageableMemoryAccessUsesHostPageTables             # <<<<<<<<<<<<<<
 *     cudaDevAttrDirectManagedMemAccessFromHost = ccudart.cudaDeviceAttr.cudaDevAttrDirectManagedMemAccessFromHost
 *     cudaDevAttrMaxBlocksPerMultiprocessor = ccudart.cudaDeviceAttr.cudaDevAttrMaxBlocksPerMultiprocessor
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrPageableMemoryAccessUsesHostPageTables); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 562, __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, 562, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":563
 *     cudaDevAttrHostRegisterSupported = ccudart.cudaDeviceAttr.cudaDevAttrHostRegisterSupported
 *     cudaDevAttrPageableMemoryAccessUsesHostPageTables = ccudart.cudaDeviceAttr.cudaDevAttrPageableMemoryAccessUsesHostPageTables
 *     cudaDevAttrDirectManagedMemAccessFromHost = ccudart.cudaDeviceAttr.cudaDevAttrDirectManagedMemAccessFromHost             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxBlocksPerMultiprocessor = ccudart.cudaDeviceAttr.cudaDevAttrMaxBlocksPerMultiprocessor
 *     cudaDevAttrMaxPersistingL2CacheSize = ccudart.cudaDeviceAttr.cudaDevAttrMaxPersistingL2CacheSize
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrDirectManagedMemAccessFromHost); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 563, __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, 563, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":564
 *     cudaDevAttrPageableMemoryAccessUsesHostPageTables = ccudart.cudaDeviceAttr.cudaDevAttrPageableMemoryAccessUsesHostPageTables
 *     cudaDevAttrDirectManagedMemAccessFromHost = ccudart.cudaDeviceAttr.cudaDevAttrDirectManagedMemAccessFromHost
 *     cudaDevAttrMaxBlocksPerMultiprocessor = ccudart.cudaDeviceAttr.cudaDevAttrMaxBlocksPerMultiprocessor             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxPersistingL2CacheSize = ccudart.cudaDeviceAttr.cudaDevAttrMaxPersistingL2CacheSize
 *     cudaDevAttrMaxAccessPolicyWindowSize = ccudart.cudaDeviceAttr.cudaDevAttrMaxAccessPolicyWindowSize
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxBlocksPerMultiprocessor); 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_cudaDevAttrMaxBlocksPerMultiproc, __pyx_t_4) < 0) __PYX_ERR(0, 564, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":565
 *     cudaDevAttrDirectManagedMemAccessFromHost = ccudart.cudaDeviceAttr.cudaDevAttrDirectManagedMemAccessFromHost
 *     cudaDevAttrMaxBlocksPerMultiprocessor = ccudart.cudaDeviceAttr.cudaDevAttrMaxBlocksPerMultiprocessor
 *     cudaDevAttrMaxPersistingL2CacheSize = ccudart.cudaDeviceAttr.cudaDevAttrMaxPersistingL2CacheSize             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxAccessPolicyWindowSize = ccudart.cudaDeviceAttr.cudaDevAttrMaxAccessPolicyWindowSize
 *     cudaDevAttrReservedSharedMemoryPerBlock = ccudart.cudaDeviceAttr.cudaDevAttrReservedSharedMemoryPerBlock
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxPersistingL2CacheSize); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 565, __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, 565, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":566
 *     cudaDevAttrMaxBlocksPerMultiprocessor = ccudart.cudaDeviceAttr.cudaDevAttrMaxBlocksPerMultiprocessor
 *     cudaDevAttrMaxPersistingL2CacheSize = ccudart.cudaDeviceAttr.cudaDevAttrMaxPersistingL2CacheSize
 *     cudaDevAttrMaxAccessPolicyWindowSize = ccudart.cudaDeviceAttr.cudaDevAttrMaxAccessPolicyWindowSize             # <<<<<<<<<<<<<<
 *     cudaDevAttrReservedSharedMemoryPerBlock = ccudart.cudaDeviceAttr.cudaDevAttrReservedSharedMemoryPerBlock
 *     cudaDevAttrSparseCudaArraySupported = ccudart.cudaDeviceAttr.cudaDevAttrSparseCudaArraySupported
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxAccessPolicyWindowSize); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 566, __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, 566, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":567
 *     cudaDevAttrMaxPersistingL2CacheSize = ccudart.cudaDeviceAttr.cudaDevAttrMaxPersistingL2CacheSize
 *     cudaDevAttrMaxAccessPolicyWindowSize = ccudart.cudaDeviceAttr.cudaDevAttrMaxAccessPolicyWindowSize
 *     cudaDevAttrReservedSharedMemoryPerBlock = ccudart.cudaDeviceAttr.cudaDevAttrReservedSharedMemoryPerBlock             # <<<<<<<<<<<<<<
 *     cudaDevAttrSparseCudaArraySupported = ccudart.cudaDeviceAttr.cudaDevAttrSparseCudaArraySupported
 *     cudaDevAttrHostRegisterReadOnlySupported = ccudart.cudaDeviceAttr.cudaDevAttrHostRegisterReadOnlySupported
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrReservedSharedMemoryPerBlock); 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_cudaDevAttrReservedSharedMemoryP, __pyx_t_4) < 0) __PYX_ERR(0, 567, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":568
 *     cudaDevAttrMaxAccessPolicyWindowSize = ccudart.cudaDeviceAttr.cudaDevAttrMaxAccessPolicyWindowSize
 *     cudaDevAttrReservedSharedMemoryPerBlock = ccudart.cudaDeviceAttr.cudaDevAttrReservedSharedMemoryPerBlock
 *     cudaDevAttrSparseCudaArraySupported = ccudart.cudaDeviceAttr.cudaDevAttrSparseCudaArraySupported             # <<<<<<<<<<<<<<
 *     cudaDevAttrHostRegisterReadOnlySupported = ccudart.cudaDeviceAttr.cudaDevAttrHostRegisterReadOnlySupported
 *     cudaDevAttrTimelineSemaphoreInteropSupported = ccudart.cudaDeviceAttr.cudaDevAttrTimelineSemaphoreInteropSupported
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrSparseCudaArraySupported); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 568, __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, 568, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":569
 *     cudaDevAttrReservedSharedMemoryPerBlock = ccudart.cudaDeviceAttr.cudaDevAttrReservedSharedMemoryPerBlock
 *     cudaDevAttrSparseCudaArraySupported = ccudart.cudaDeviceAttr.cudaDevAttrSparseCudaArraySupported
 *     cudaDevAttrHostRegisterReadOnlySupported = ccudart.cudaDeviceAttr.cudaDevAttrHostRegisterReadOnlySupported             # <<<<<<<<<<<<<<
 *     cudaDevAttrTimelineSemaphoreInteropSupported = ccudart.cudaDeviceAttr.cudaDevAttrTimelineSemaphoreInteropSupported
 *     cudaDevAttrMaxTimelineSemaphoreInteropSupported = ccudart.cudaDeviceAttr.cudaDevAttrMaxTimelineSemaphoreInteropSupported
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrHostRegisterReadOnlySupported); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 569, __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, 569, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":570
 *     cudaDevAttrSparseCudaArraySupported = ccudart.cudaDeviceAttr.cudaDevAttrSparseCudaArraySupported
 *     cudaDevAttrHostRegisterReadOnlySupported = ccudart.cudaDeviceAttr.cudaDevAttrHostRegisterReadOnlySupported
 *     cudaDevAttrTimelineSemaphoreInteropSupported = ccudart.cudaDeviceAttr.cudaDevAttrTimelineSemaphoreInteropSupported             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxTimelineSemaphoreInteropSupported = ccudart.cudaDeviceAttr.cudaDevAttrMaxTimelineSemaphoreInteropSupported
 *     cudaDevAttrMemoryPoolsSupported = ccudart.cudaDeviceAttr.cudaDevAttrMemoryPoolsSupported
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrTimelineSemaphoreInteropSupported); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 570, __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, 570, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":571
 *     cudaDevAttrHostRegisterReadOnlySupported = ccudart.cudaDeviceAttr.cudaDevAttrHostRegisterReadOnlySupported
 *     cudaDevAttrTimelineSemaphoreInteropSupported = ccudart.cudaDeviceAttr.cudaDevAttrTimelineSemaphoreInteropSupported
 *     cudaDevAttrMaxTimelineSemaphoreInteropSupported = ccudart.cudaDeviceAttr.cudaDevAttrMaxTimelineSemaphoreInteropSupported             # <<<<<<<<<<<<<<
 *     cudaDevAttrMemoryPoolsSupported = ccudart.cudaDeviceAttr.cudaDevAttrMemoryPoolsSupported
 *     cudaDevAttrGPUDirectRDMASupported = ccudart.cudaDeviceAttr.cudaDevAttrGPUDirectRDMASupported
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMaxTimelineSemaphoreInteropSupported); 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_cudaDevAttrMaxTimelineSemaphoreI, __pyx_t_4) < 0) __PYX_ERR(0, 571, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":572
 *     cudaDevAttrTimelineSemaphoreInteropSupported = ccudart.cudaDeviceAttr.cudaDevAttrTimelineSemaphoreInteropSupported
 *     cudaDevAttrMaxTimelineSemaphoreInteropSupported = ccudart.cudaDeviceAttr.cudaDevAttrMaxTimelineSemaphoreInteropSupported
 *     cudaDevAttrMemoryPoolsSupported = ccudart.cudaDeviceAttr.cudaDevAttrMemoryPoolsSupported             # <<<<<<<<<<<<<<
 *     cudaDevAttrGPUDirectRDMASupported = ccudart.cudaDeviceAttr.cudaDevAttrGPUDirectRDMASupported
 *     cudaDevAttrGPUDirectRDMAFlushWritesOptions = ccudart.cudaDeviceAttr.cudaDevAttrGPUDirectRDMAFlushWritesOptions
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMemoryPoolsSupported); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 572, __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, 572, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":573
 *     cudaDevAttrMaxTimelineSemaphoreInteropSupported = ccudart.cudaDeviceAttr.cudaDevAttrMaxTimelineSemaphoreInteropSupported
 *     cudaDevAttrMemoryPoolsSupported = ccudart.cudaDeviceAttr.cudaDevAttrMemoryPoolsSupported
 *     cudaDevAttrGPUDirectRDMASupported = ccudart.cudaDeviceAttr.cudaDevAttrGPUDirectRDMASupported             # <<<<<<<<<<<<<<
 *     cudaDevAttrGPUDirectRDMAFlushWritesOptions = ccudart.cudaDeviceAttr.cudaDevAttrGPUDirectRDMAFlushWritesOptions
 *     cudaDevAttrGPUDirectRDMAWritesOrdering = ccudart.cudaDeviceAttr.cudaDevAttrGPUDirectRDMAWritesOrdering
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrGPUDirectRDMASupported); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 573, __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, 573, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":574
 *     cudaDevAttrMemoryPoolsSupported = ccudart.cudaDeviceAttr.cudaDevAttrMemoryPoolsSupported
 *     cudaDevAttrGPUDirectRDMASupported = ccudart.cudaDeviceAttr.cudaDevAttrGPUDirectRDMASupported
 *     cudaDevAttrGPUDirectRDMAFlushWritesOptions = ccudart.cudaDeviceAttr.cudaDevAttrGPUDirectRDMAFlushWritesOptions             # <<<<<<<<<<<<<<
 *     cudaDevAttrGPUDirectRDMAWritesOrdering = ccudart.cudaDeviceAttr.cudaDevAttrGPUDirectRDMAWritesOrdering
 *     cudaDevAttrMemoryPoolSupportedHandleTypes = ccudart.cudaDeviceAttr.cudaDevAttrMemoryPoolSupportedHandleTypes
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrGPUDirectRDMAFlushWritesOptions); 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_cudaDevAttrGPUDirectRDMAFlushWri, __pyx_t_4) < 0) __PYX_ERR(0, 574, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":575
 *     cudaDevAttrGPUDirectRDMASupported = ccudart.cudaDeviceAttr.cudaDevAttrGPUDirectRDMASupported
 *     cudaDevAttrGPUDirectRDMAFlushWritesOptions = ccudart.cudaDeviceAttr.cudaDevAttrGPUDirectRDMAFlushWritesOptions
 *     cudaDevAttrGPUDirectRDMAWritesOrdering = ccudart.cudaDeviceAttr.cudaDevAttrGPUDirectRDMAWritesOrdering             # <<<<<<<<<<<<<<
 *     cudaDevAttrMemoryPoolSupportedHandleTypes = ccudart.cudaDeviceAttr.cudaDevAttrMemoryPoolSupportedHandleTypes
 *     cudaDevAttrMax = ccudart.cudaDeviceAttr.cudaDevAttrMax
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrGPUDirectRDMAWritesOrdering); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 575, __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, 575, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":576
 *     cudaDevAttrGPUDirectRDMAFlushWritesOptions = ccudart.cudaDeviceAttr.cudaDevAttrGPUDirectRDMAFlushWritesOptions
 *     cudaDevAttrGPUDirectRDMAWritesOrdering = ccudart.cudaDeviceAttr.cudaDevAttrGPUDirectRDMAWritesOrdering
 *     cudaDevAttrMemoryPoolSupportedHandleTypes = ccudart.cudaDeviceAttr.cudaDevAttrMemoryPoolSupportedHandleTypes             # <<<<<<<<<<<<<<
 *     cudaDevAttrMax = ccudart.cudaDeviceAttr.cudaDevAttrMax
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMemoryPoolSupportedHandleTypes); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 576, __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, 576, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":577
 *     cudaDevAttrGPUDirectRDMAWritesOrdering = ccudart.cudaDeviceAttr.cudaDevAttrGPUDirectRDMAWritesOrdering
 *     cudaDevAttrMemoryPoolSupportedHandleTypes = ccudart.cudaDeviceAttr.cudaDevAttrMemoryPoolSupportedHandleTypes
 *     cudaDevAttrMax = ccudart.cudaDeviceAttr.cudaDevAttrMax             # <<<<<<<<<<<<<<
 * 
 * class cudaMemPoolAttr(Enum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(__pyx_e_4cuda_7ccudart_cudaDevAttrMax); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 577, __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, 577, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":463
 *     cudaFlushGPUDirectRDMAWritesTargetCurrentDevice = ccudart.cudaFlushGPUDirectRDMAWritesTarget.cudaFlushGPUDirectRDMAWritesTargetCurrentDevice
 * 
 * class cudaDeviceAttr(Enum):             # <<<<<<<<<<<<<<
 *     cudaDevAttrMaxThreadsPerBlock = ccudart.cudaDeviceAttr.cudaDevAttrMaxThreadsPerBlock
 *     cudaDevAttrMaxBlockDimX = ccudart.cudaDeviceAttr.cudaDevAttrMaxBlockDimX
 */
  __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, 463, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceAttr, __pyx_t_4) < 0) __PYX_ERR(0, 463, __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":579
 *     cudaDevAttrMax = ccudart.cudaDeviceAttr.cudaDevAttrMax
 * 
 * class cudaMemPoolAttr(Enum):             # <<<<<<<<<<<<<<
 *     cudaMemPoolReuseFollowEventDependencies = ccudart.cudaMemPoolAttr.cudaMemPoolReuseFollowEventDependencies
 *     cudaMemPoolReuseAllowOpportunistic = ccudart.cudaMemPoolAttr.cudaMemPoolReuseAllowOpportunistic
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Enum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 579, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 579, __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, 579, __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, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 579, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":580
 * 
 * class cudaMemPoolAttr(Enum):
 *     cudaMemPoolReuseFollowEventDependencies = ccudart.cudaMemPoolAttr.cudaMemPoolReuseFollowEventDependencies             # <<<<<<<<<<<<<<
 *     cudaMemPoolReuseAllowOpportunistic = ccudart.cudaMemPoolAttr.cudaMemPoolReuseAllowOpportunistic
 *     cudaMemPoolReuseAllowInternalDependencies = ccudart.cudaMemPoolAttr.cudaMemPoolReuseAllowInternalDependencies
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemPoolAttr(__pyx_e_4cuda_7ccudart_cudaMemPoolReuseFollowEventDependencies); 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_cudaMemPoolReuseFollowEventDepen, __pyx_t_4) < 0) __PYX_ERR(0, 580, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":581
 * class cudaMemPoolAttr(Enum):
 *     cudaMemPoolReuseFollowEventDependencies = ccudart.cudaMemPoolAttr.cudaMemPoolReuseFollowEventDependencies
 *     cudaMemPoolReuseAllowOpportunistic = ccudart.cudaMemPoolAttr.cudaMemPoolReuseAllowOpportunistic             # <<<<<<<<<<<<<<
 *     cudaMemPoolReuseAllowInternalDependencies = ccudart.cudaMemPoolAttr.cudaMemPoolReuseAllowInternalDependencies
 *     cudaMemPoolAttrReleaseThreshold = ccudart.cudaMemPoolAttr.cudaMemPoolAttrReleaseThreshold
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemPoolAttr(__pyx_e_4cuda_7ccudart_cudaMemPoolReuseAllowOpportunistic); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 581, __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, 581, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":582
 *     cudaMemPoolReuseFollowEventDependencies = ccudart.cudaMemPoolAttr.cudaMemPoolReuseFollowEventDependencies
 *     cudaMemPoolReuseAllowOpportunistic = ccudart.cudaMemPoolAttr.cudaMemPoolReuseAllowOpportunistic
 *     cudaMemPoolReuseAllowInternalDependencies = ccudart.cudaMemPoolAttr.cudaMemPoolReuseAllowInternalDependencies             # <<<<<<<<<<<<<<
 *     cudaMemPoolAttrReleaseThreshold = ccudart.cudaMemPoolAttr.cudaMemPoolAttrReleaseThreshold
 *     cudaMemPoolAttrReservedMemCurrent = ccudart.cudaMemPoolAttr.cudaMemPoolAttrReservedMemCurrent
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemPoolAttr(__pyx_e_4cuda_7ccudart_cudaMemPoolReuseAllowInternalDependencies); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 582, __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, 582, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":583
 *     cudaMemPoolReuseAllowOpportunistic = ccudart.cudaMemPoolAttr.cudaMemPoolReuseAllowOpportunistic
 *     cudaMemPoolReuseAllowInternalDependencies = ccudart.cudaMemPoolAttr.cudaMemPoolReuseAllowInternalDependencies
 *     cudaMemPoolAttrReleaseThreshold = ccudart.cudaMemPoolAttr.cudaMemPoolAttrReleaseThreshold             # <<<<<<<<<<<<<<
 *     cudaMemPoolAttrReservedMemCurrent = ccudart.cudaMemPoolAttr.cudaMemPoolAttrReservedMemCurrent
 *     cudaMemPoolAttrReservedMemHigh = ccudart.cudaMemPoolAttr.cudaMemPoolAttrReservedMemHigh
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemPoolAttr(__pyx_e_4cuda_7ccudart_cudaMemPoolAttrReleaseThreshold); 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_cudaMemPoolAttrReleaseThreshold, __pyx_t_4) < 0) __PYX_ERR(0, 583, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":584
 *     cudaMemPoolReuseAllowInternalDependencies = ccudart.cudaMemPoolAttr.cudaMemPoolReuseAllowInternalDependencies
 *     cudaMemPoolAttrReleaseThreshold = ccudart.cudaMemPoolAttr.cudaMemPoolAttrReleaseThreshold
 *     cudaMemPoolAttrReservedMemCurrent = ccudart.cudaMemPoolAttr.cudaMemPoolAttrReservedMemCurrent             # <<<<<<<<<<<<<<
 *     cudaMemPoolAttrReservedMemHigh = ccudart.cudaMemPoolAttr.cudaMemPoolAttrReservedMemHigh
 *     cudaMemPoolAttrUsedMemCurrent = ccudart.cudaMemPoolAttr.cudaMemPoolAttrUsedMemCurrent
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemPoolAttr(__pyx_e_4cuda_7ccudart_cudaMemPoolAttrReservedMemCurrent); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 584, __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, 584, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":585
 *     cudaMemPoolAttrReleaseThreshold = ccudart.cudaMemPoolAttr.cudaMemPoolAttrReleaseThreshold
 *     cudaMemPoolAttrReservedMemCurrent = ccudart.cudaMemPoolAttr.cudaMemPoolAttrReservedMemCurrent
 *     cudaMemPoolAttrReservedMemHigh = ccudart.cudaMemPoolAttr.cudaMemPoolAttrReservedMemHigh             # <<<<<<<<<<<<<<
 *     cudaMemPoolAttrUsedMemCurrent = ccudart.cudaMemPoolAttr.cudaMemPoolAttrUsedMemCurrent
 *     cudaMemPoolAttrUsedMemHigh = ccudart.cudaMemPoolAttr.cudaMemPoolAttrUsedMemHigh
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemPoolAttr(__pyx_e_4cuda_7ccudart_cudaMemPoolAttrReservedMemHigh); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 585, __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, 585, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":586
 *     cudaMemPoolAttrReservedMemCurrent = ccudart.cudaMemPoolAttr.cudaMemPoolAttrReservedMemCurrent
 *     cudaMemPoolAttrReservedMemHigh = ccudart.cudaMemPoolAttr.cudaMemPoolAttrReservedMemHigh
 *     cudaMemPoolAttrUsedMemCurrent = ccudart.cudaMemPoolAttr.cudaMemPoolAttrUsedMemCurrent             # <<<<<<<<<<<<<<
 *     cudaMemPoolAttrUsedMemHigh = ccudart.cudaMemPoolAttr.cudaMemPoolAttrUsedMemHigh
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemPoolAttr(__pyx_e_4cuda_7ccudart_cudaMemPoolAttrUsedMemCurrent); 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_cudaMemPoolAttrUsedMemCurrent, __pyx_t_4) < 0) __PYX_ERR(0, 586, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":587
 *     cudaMemPoolAttrReservedMemHigh = ccudart.cudaMemPoolAttr.cudaMemPoolAttrReservedMemHigh
 *     cudaMemPoolAttrUsedMemCurrent = ccudart.cudaMemPoolAttr.cudaMemPoolAttrUsedMemCurrent
 *     cudaMemPoolAttrUsedMemHigh = ccudart.cudaMemPoolAttr.cudaMemPoolAttrUsedMemHigh             # <<<<<<<<<<<<<<
 * 
 * class cudaMemLocationType(Enum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemPoolAttr(__pyx_e_4cuda_7ccudart_cudaMemPoolAttrUsedMemHigh); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 587, __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, 587, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":579
 *     cudaDevAttrMax = ccudart.cudaDeviceAttr.cudaDevAttrMax
 * 
 * class cudaMemPoolAttr(Enum):             # <<<<<<<<<<<<<<
 *     cudaMemPoolReuseFollowEventDependencies = ccudart.cudaMemPoolAttr.cudaMemPoolReuseFollowEventDependencies
 *     cudaMemPoolReuseAllowOpportunistic = ccudart.cudaMemPoolAttr.cudaMemPoolReuseAllowOpportunistic
 */
  __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, 579, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemPoolAttr, __pyx_t_4) < 0) __PYX_ERR(0, 579, __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":589
 *     cudaMemPoolAttrUsedMemHigh = ccudart.cudaMemPoolAttr.cudaMemPoolAttrUsedMemHigh
 * 
 * class cudaMemLocationType(Enum):             # <<<<<<<<<<<<<<
 *     cudaMemLocationTypeInvalid = ccudart.cudaMemLocationType.cudaMemLocationTypeInvalid
 *     cudaMemLocationTypeDevice = ccudart.cudaMemLocationType.cudaMemLocationTypeDevice
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Enum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 589, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 589, __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, 589, __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, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 589, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":590
 * 
 * class cudaMemLocationType(Enum):
 *     cudaMemLocationTypeInvalid = ccudart.cudaMemLocationType.cudaMemLocationTypeInvalid             # <<<<<<<<<<<<<<
 *     cudaMemLocationTypeDevice = ccudart.cudaMemLocationType.cudaMemLocationTypeDevice
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemLocationType(__pyx_e_4cuda_7ccudart_cudaMemLocationTypeInvalid); 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_cudaMemLocationTypeInvalid, __pyx_t_4) < 0) __PYX_ERR(0, 590, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":591
 * class cudaMemLocationType(Enum):
 *     cudaMemLocationTypeInvalid = ccudart.cudaMemLocationType.cudaMemLocationTypeInvalid
 *     cudaMemLocationTypeDevice = ccudart.cudaMemLocationType.cudaMemLocationTypeDevice             # <<<<<<<<<<<<<<
 * 
 * class cudaMemAccessFlags(Enum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemLocationType(__pyx_e_4cuda_7ccudart_cudaMemLocationTypeDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 591, __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, 591, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":589
 *     cudaMemPoolAttrUsedMemHigh = ccudart.cudaMemPoolAttr.cudaMemPoolAttrUsedMemHigh
 * 
 * class cudaMemLocationType(Enum):             # <<<<<<<<<<<<<<
 *     cudaMemLocationTypeInvalid = ccudart.cudaMemLocationType.cudaMemLocationTypeInvalid
 *     cudaMemLocationTypeDevice = ccudart.cudaMemLocationType.cudaMemLocationTypeDevice
 */
  __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, 589, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemLocationType, __pyx_t_4) < 0) __PYX_ERR(0, 589, __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":593
 *     cudaMemLocationTypeDevice = ccudart.cudaMemLocationType.cudaMemLocationTypeDevice
 * 
 * class cudaMemAccessFlags(Enum):             # <<<<<<<<<<<<<<
 *     cudaMemAccessFlagsProtNone = ccudart.cudaMemAccessFlags.cudaMemAccessFlagsProtNone
 *     cudaMemAccessFlagsProtRead = ccudart.cudaMemAccessFlags.cudaMemAccessFlagsProtRead
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Enum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 593, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 593, __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, 593, __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, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 593, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":594
 * 
 * class cudaMemAccessFlags(Enum):
 *     cudaMemAccessFlagsProtNone = ccudart.cudaMemAccessFlags.cudaMemAccessFlagsProtNone             # <<<<<<<<<<<<<<
 *     cudaMemAccessFlagsProtRead = ccudart.cudaMemAccessFlags.cudaMemAccessFlagsProtRead
 *     cudaMemAccessFlagsProtReadWrite = ccudart.cudaMemAccessFlags.cudaMemAccessFlagsProtReadWrite
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemAccessFlags(__pyx_e_4cuda_7ccudart_cudaMemAccessFlagsProtNone); 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_cudaMemAccessFlagsProtNone, __pyx_t_4) < 0) __PYX_ERR(0, 594, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":595
 * class cudaMemAccessFlags(Enum):
 *     cudaMemAccessFlagsProtNone = ccudart.cudaMemAccessFlags.cudaMemAccessFlagsProtNone
 *     cudaMemAccessFlagsProtRead = ccudart.cudaMemAccessFlags.cudaMemAccessFlagsProtRead             # <<<<<<<<<<<<<<
 *     cudaMemAccessFlagsProtReadWrite = ccudart.cudaMemAccessFlags.cudaMemAccessFlagsProtReadWrite
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemAccessFlags(__pyx_e_4cuda_7ccudart_cudaMemAccessFlagsProtRead); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 595, __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, 595, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":596
 *     cudaMemAccessFlagsProtNone = ccudart.cudaMemAccessFlags.cudaMemAccessFlagsProtNone
 *     cudaMemAccessFlagsProtRead = ccudart.cudaMemAccessFlags.cudaMemAccessFlagsProtRead
 *     cudaMemAccessFlagsProtReadWrite = ccudart.cudaMemAccessFlags.cudaMemAccessFlagsProtReadWrite             # <<<<<<<<<<<<<<
 * 
 * class cudaMemAllocationType(Enum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemAccessFlags(__pyx_e_4cuda_7ccudart_cudaMemAccessFlagsProtReadWrite); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 596, __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, 596, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":593
 *     cudaMemLocationTypeDevice = ccudart.cudaMemLocationType.cudaMemLocationTypeDevice
 * 
 * class cudaMemAccessFlags(Enum):             # <<<<<<<<<<<<<<
 *     cudaMemAccessFlagsProtNone = ccudart.cudaMemAccessFlags.cudaMemAccessFlagsProtNone
 *     cudaMemAccessFlagsProtRead = ccudart.cudaMemAccessFlags.cudaMemAccessFlagsProtRead
 */
  __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, 593, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemAccessFlags, __pyx_t_4) < 0) __PYX_ERR(0, 593, __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":598
 *     cudaMemAccessFlagsProtReadWrite = ccudart.cudaMemAccessFlags.cudaMemAccessFlagsProtReadWrite
 * 
 * class cudaMemAllocationType(Enum):             # <<<<<<<<<<<<<<
 *     cudaMemAllocationTypeInvalid = ccudart.cudaMemAllocationType.cudaMemAllocationTypeInvalid
 *     cudaMemAllocationTypePinned = ccudart.cudaMemAllocationType.cudaMemAllocationTypePinned
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Enum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 598, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 598, __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, 598, __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, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 598, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":599
 * 
 * class cudaMemAllocationType(Enum):
 *     cudaMemAllocationTypeInvalid = ccudart.cudaMemAllocationType.cudaMemAllocationTypeInvalid             # <<<<<<<<<<<<<<
 *     cudaMemAllocationTypePinned = ccudart.cudaMemAllocationType.cudaMemAllocationTypePinned
 *     cudaMemAllocationTypeMax = ccudart.cudaMemAllocationType.cudaMemAllocationTypeMax
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemAllocationType(__pyx_e_4cuda_7ccudart_cudaMemAllocationTypeInvalid); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 599, __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, 599, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":600
 * class cudaMemAllocationType(Enum):
 *     cudaMemAllocationTypeInvalid = ccudart.cudaMemAllocationType.cudaMemAllocationTypeInvalid
 *     cudaMemAllocationTypePinned = ccudart.cudaMemAllocationType.cudaMemAllocationTypePinned             # <<<<<<<<<<<<<<
 *     cudaMemAllocationTypeMax = ccudart.cudaMemAllocationType.cudaMemAllocationTypeMax
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemAllocationType(__pyx_e_4cuda_7ccudart_cudaMemAllocationTypePinned); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 600, __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, 600, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":601
 *     cudaMemAllocationTypeInvalid = ccudart.cudaMemAllocationType.cudaMemAllocationTypeInvalid
 *     cudaMemAllocationTypePinned = ccudart.cudaMemAllocationType.cudaMemAllocationTypePinned
 *     cudaMemAllocationTypeMax = ccudart.cudaMemAllocationType.cudaMemAllocationTypeMax             # <<<<<<<<<<<<<<
 * 
 * class cudaMemAllocationHandleType(Enum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemAllocationType(__pyx_e_4cuda_7ccudart_cudaMemAllocationTypeMax); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 601, __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, 601, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":598
 *     cudaMemAccessFlagsProtReadWrite = ccudart.cudaMemAccessFlags.cudaMemAccessFlagsProtReadWrite
 * 
 * class cudaMemAllocationType(Enum):             # <<<<<<<<<<<<<<
 *     cudaMemAllocationTypeInvalid = ccudart.cudaMemAllocationType.cudaMemAllocationTypeInvalid
 *     cudaMemAllocationTypePinned = ccudart.cudaMemAllocationType.cudaMemAllocationTypePinned
 */
  __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, 598, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemAllocationType, __pyx_t_4) < 0) __PYX_ERR(0, 598, __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":603
 *     cudaMemAllocationTypeMax = ccudart.cudaMemAllocationType.cudaMemAllocationTypeMax
 * 
 * class cudaMemAllocationHandleType(Enum):             # <<<<<<<<<<<<<<
 *     cudaMemHandleTypeNone = ccudart.cudaMemAllocationHandleType.cudaMemHandleTypeNone
 *     cudaMemHandleTypePosixFileDescriptor = ccudart.cudaMemAllocationHandleType.cudaMemHandleTypePosixFileDescriptor
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Enum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 603, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 603, __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, 603, __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, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 603, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":604
 * 
 * class cudaMemAllocationHandleType(Enum):
 *     cudaMemHandleTypeNone = ccudart.cudaMemAllocationHandleType.cudaMemHandleTypeNone             # <<<<<<<<<<<<<<
 *     cudaMemHandleTypePosixFileDescriptor = ccudart.cudaMemAllocationHandleType.cudaMemHandleTypePosixFileDescriptor
 *     cudaMemHandleTypeWin32 = ccudart.cudaMemAllocationHandleType.cudaMemHandleTypeWin32
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType(__pyx_e_4cuda_7ccudart_cudaMemHandleTypeNone); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 604, __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, 604, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":605
 * class cudaMemAllocationHandleType(Enum):
 *     cudaMemHandleTypeNone = ccudart.cudaMemAllocationHandleType.cudaMemHandleTypeNone
 *     cudaMemHandleTypePosixFileDescriptor = ccudart.cudaMemAllocationHandleType.cudaMemHandleTypePosixFileDescriptor             # <<<<<<<<<<<<<<
 *     cudaMemHandleTypeWin32 = ccudart.cudaMemAllocationHandleType.cudaMemHandleTypeWin32
 *     cudaMemHandleTypeWin32Kmt = ccudart.cudaMemAllocationHandleType.cudaMemHandleTypeWin32Kmt
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType(__pyx_e_4cuda_7ccudart_cudaMemHandleTypePosixFileDescriptor); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 605, __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, 605, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":606
 *     cudaMemHandleTypeNone = ccudart.cudaMemAllocationHandleType.cudaMemHandleTypeNone
 *     cudaMemHandleTypePosixFileDescriptor = ccudart.cudaMemAllocationHandleType.cudaMemHandleTypePosixFileDescriptor
 *     cudaMemHandleTypeWin32 = ccudart.cudaMemAllocationHandleType.cudaMemHandleTypeWin32             # <<<<<<<<<<<<<<
 *     cudaMemHandleTypeWin32Kmt = ccudart.cudaMemAllocationHandleType.cudaMemHandleTypeWin32Kmt
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType(__pyx_e_4cuda_7ccudart_cudaMemHandleTypeWin32); 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_cudaMemHandleTypeWin32, __pyx_t_4) < 0) __PYX_ERR(0, 606, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":607
 *     cudaMemHandleTypePosixFileDescriptor = ccudart.cudaMemAllocationHandleType.cudaMemHandleTypePosixFileDescriptor
 *     cudaMemHandleTypeWin32 = ccudart.cudaMemAllocationHandleType.cudaMemHandleTypeWin32
 *     cudaMemHandleTypeWin32Kmt = ccudart.cudaMemAllocationHandleType.cudaMemHandleTypeWin32Kmt             # <<<<<<<<<<<<<<
 * 
 * class cudaGraphMemAttributeType(Enum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType(__pyx_e_4cuda_7ccudart_cudaMemHandleTypeWin32Kmt); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 607, __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, 607, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":603
 *     cudaMemAllocationTypeMax = ccudart.cudaMemAllocationType.cudaMemAllocationTypeMax
 * 
 * class cudaMemAllocationHandleType(Enum):             # <<<<<<<<<<<<<<
 *     cudaMemHandleTypeNone = ccudart.cudaMemAllocationHandleType.cudaMemHandleTypeNone
 *     cudaMemHandleTypePosixFileDescriptor = ccudart.cudaMemAllocationHandleType.cudaMemHandleTypePosixFileDescriptor
 */
  __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, 603, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemAllocationHandleType, __pyx_t_4) < 0) __PYX_ERR(0, 603, __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":609
 *     cudaMemHandleTypeWin32Kmt = ccudart.cudaMemAllocationHandleType.cudaMemHandleTypeWin32Kmt
 * 
 * class cudaGraphMemAttributeType(Enum):             # <<<<<<<<<<<<<<
 *     cudaGraphMemAttrUsedMemCurrent = ccudart.cudaGraphMemAttributeType.cudaGraphMemAttrUsedMemCurrent
 *     cudaGraphMemAttrUsedMemHigh = ccudart.cudaGraphMemAttributeType.cudaGraphMemAttrUsedMemHigh
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Enum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 609, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 609, __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, 609, __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, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 609, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":610
 * 
 * class cudaGraphMemAttributeType(Enum):
 *     cudaGraphMemAttrUsedMemCurrent = ccudart.cudaGraphMemAttributeType.cudaGraphMemAttrUsedMemCurrent             # <<<<<<<<<<<<<<
 *     cudaGraphMemAttrUsedMemHigh = ccudart.cudaGraphMemAttributeType.cudaGraphMemAttrUsedMemHigh
 *     cudaGraphMemAttrReservedMemCurrent = ccudart.cudaGraphMemAttributeType.cudaGraphMemAttrReservedMemCurrent
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType(__pyx_e_4cuda_7ccudart_cudaGraphMemAttrUsedMemCurrent); 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_cudaGraphMemAttrUsedMemCurrent, __pyx_t_4) < 0) __PYX_ERR(0, 610, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":611
 * class cudaGraphMemAttributeType(Enum):
 *     cudaGraphMemAttrUsedMemCurrent = ccudart.cudaGraphMemAttributeType.cudaGraphMemAttrUsedMemCurrent
 *     cudaGraphMemAttrUsedMemHigh = ccudart.cudaGraphMemAttributeType.cudaGraphMemAttrUsedMemHigh             # <<<<<<<<<<<<<<
 *     cudaGraphMemAttrReservedMemCurrent = ccudart.cudaGraphMemAttributeType.cudaGraphMemAttrReservedMemCurrent
 *     cudaGraphMemAttrReservedMemHigh = ccudart.cudaGraphMemAttributeType.cudaGraphMemAttrReservedMemHigh
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType(__pyx_e_4cuda_7ccudart_cudaGraphMemAttrUsedMemHigh); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 611, __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, 611, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":612
 *     cudaGraphMemAttrUsedMemCurrent = ccudart.cudaGraphMemAttributeType.cudaGraphMemAttrUsedMemCurrent
 *     cudaGraphMemAttrUsedMemHigh = ccudart.cudaGraphMemAttributeType.cudaGraphMemAttrUsedMemHigh
 *     cudaGraphMemAttrReservedMemCurrent = ccudart.cudaGraphMemAttributeType.cudaGraphMemAttrReservedMemCurrent             # <<<<<<<<<<<<<<
 *     cudaGraphMemAttrReservedMemHigh = ccudart.cudaGraphMemAttributeType.cudaGraphMemAttrReservedMemHigh
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType(__pyx_e_4cuda_7ccudart_cudaGraphMemAttrReservedMemCurrent); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 612, __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, 612, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":613
 *     cudaGraphMemAttrUsedMemHigh = ccudart.cudaGraphMemAttributeType.cudaGraphMemAttrUsedMemHigh
 *     cudaGraphMemAttrReservedMemCurrent = ccudart.cudaGraphMemAttributeType.cudaGraphMemAttrReservedMemCurrent
 *     cudaGraphMemAttrReservedMemHigh = ccudart.cudaGraphMemAttributeType.cudaGraphMemAttrReservedMemHigh             # <<<<<<<<<<<<<<
 * 
 * class cudaDeviceP2PAttr(Enum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType(__pyx_e_4cuda_7ccudart_cudaGraphMemAttrReservedMemHigh); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 613, __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, 613, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":609
 *     cudaMemHandleTypeWin32Kmt = ccudart.cudaMemAllocationHandleType.cudaMemHandleTypeWin32Kmt
 * 
 * class cudaGraphMemAttributeType(Enum):             # <<<<<<<<<<<<<<
 *     cudaGraphMemAttrUsedMemCurrent = ccudart.cudaGraphMemAttributeType.cudaGraphMemAttrUsedMemCurrent
 *     cudaGraphMemAttrUsedMemHigh = ccudart.cudaGraphMemAttributeType.cudaGraphMemAttrUsedMemHigh
 */
  __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, 609, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphMemAttributeType, __pyx_t_4) < 0) __PYX_ERR(0, 609, __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":615
 *     cudaGraphMemAttrReservedMemHigh = ccudart.cudaGraphMemAttributeType.cudaGraphMemAttrReservedMemHigh
 * 
 * class cudaDeviceP2PAttr(Enum):             # <<<<<<<<<<<<<<
 *     cudaDevP2PAttrPerformanceRank = ccudart.cudaDeviceP2PAttr.cudaDevP2PAttrPerformanceRank
 *     cudaDevP2PAttrAccessSupported = ccudart.cudaDeviceP2PAttr.cudaDevP2PAttrAccessSupported
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Enum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 615, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 615, __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, 615, __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, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 615, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":616
 * 
 * class cudaDeviceP2PAttr(Enum):
 *     cudaDevP2PAttrPerformanceRank = ccudart.cudaDeviceP2PAttr.cudaDevP2PAttrPerformanceRank             # <<<<<<<<<<<<<<
 *     cudaDevP2PAttrAccessSupported = ccudart.cudaDeviceP2PAttr.cudaDevP2PAttrAccessSupported
 *     cudaDevP2PAttrNativeAtomicSupported = ccudart.cudaDeviceP2PAttr.cudaDevP2PAttrNativeAtomicSupported
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr(__pyx_e_4cuda_7ccudart_cudaDevP2PAttrPerformanceRank); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 616, __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, 616, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":617
 * class cudaDeviceP2PAttr(Enum):
 *     cudaDevP2PAttrPerformanceRank = ccudart.cudaDeviceP2PAttr.cudaDevP2PAttrPerformanceRank
 *     cudaDevP2PAttrAccessSupported = ccudart.cudaDeviceP2PAttr.cudaDevP2PAttrAccessSupported             # <<<<<<<<<<<<<<
 *     cudaDevP2PAttrNativeAtomicSupported = ccudart.cudaDeviceP2PAttr.cudaDevP2PAttrNativeAtomicSupported
 *     cudaDevP2PAttrCudaArrayAccessSupported = ccudart.cudaDeviceP2PAttr.cudaDevP2PAttrCudaArrayAccessSupported
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr(__pyx_e_4cuda_7ccudart_cudaDevP2PAttrAccessSupported); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 617, __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, 617, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":618
 *     cudaDevP2PAttrPerformanceRank = ccudart.cudaDeviceP2PAttr.cudaDevP2PAttrPerformanceRank
 *     cudaDevP2PAttrAccessSupported = ccudart.cudaDeviceP2PAttr.cudaDevP2PAttrAccessSupported
 *     cudaDevP2PAttrNativeAtomicSupported = ccudart.cudaDeviceP2PAttr.cudaDevP2PAttrNativeAtomicSupported             # <<<<<<<<<<<<<<
 *     cudaDevP2PAttrCudaArrayAccessSupported = ccudart.cudaDeviceP2PAttr.cudaDevP2PAttrCudaArrayAccessSupported
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr(__pyx_e_4cuda_7ccudart_cudaDevP2PAttrNativeAtomicSupported); 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_cudaDevP2PAttrNativeAtomicSuppor, __pyx_t_4) < 0) __PYX_ERR(0, 618, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":619
 *     cudaDevP2PAttrAccessSupported = ccudart.cudaDeviceP2PAttr.cudaDevP2PAttrAccessSupported
 *     cudaDevP2PAttrNativeAtomicSupported = ccudart.cudaDeviceP2PAttr.cudaDevP2PAttrNativeAtomicSupported
 *     cudaDevP2PAttrCudaArrayAccessSupported = ccudart.cudaDeviceP2PAttr.cudaDevP2PAttrCudaArrayAccessSupported             # <<<<<<<<<<<<<<
 * 
 * class cudaExternalMemoryHandleType(Enum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr(__pyx_e_4cuda_7ccudart_cudaDevP2PAttrCudaArrayAccessSupported); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 619, __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, 619, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":615
 *     cudaGraphMemAttrReservedMemHigh = ccudart.cudaGraphMemAttributeType.cudaGraphMemAttrReservedMemHigh
 * 
 * class cudaDeviceP2PAttr(Enum):             # <<<<<<<<<<<<<<
 *     cudaDevP2PAttrPerformanceRank = ccudart.cudaDeviceP2PAttr.cudaDevP2PAttrPerformanceRank
 *     cudaDevP2PAttrAccessSupported = ccudart.cudaDeviceP2PAttr.cudaDevP2PAttrAccessSupported
 */
  __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, 615, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceP2PAttr, __pyx_t_4) < 0) __PYX_ERR(0, 615, __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":621
 *     cudaDevP2PAttrCudaArrayAccessSupported = ccudart.cudaDeviceP2PAttr.cudaDevP2PAttrCudaArrayAccessSupported
 * 
 * class cudaExternalMemoryHandleType(Enum):             # <<<<<<<<<<<<<<
 *     cudaExternalMemoryHandleTypeOpaqueFd = ccudart.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeOpaqueFd
 *     cudaExternalMemoryHandleTypeOpaqueWin32 = ccudart.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeOpaqueWin32
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Enum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 621, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 621, __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, 621, __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, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 621, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":622
 * 
 * class cudaExternalMemoryHandleType(Enum):
 *     cudaExternalMemoryHandleTypeOpaqueFd = ccudart.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeOpaqueFd             # <<<<<<<<<<<<<<
 *     cudaExternalMemoryHandleTypeOpaqueWin32 = ccudart.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeOpaqueWin32
 *     cudaExternalMemoryHandleTypeOpaqueWin32Kmt = ccudart.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeOpaqueWin32Kmt
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType(__pyx_e_4cuda_7ccudart_cudaExternalMemoryHandleTypeOpaqueFd); 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_cudaExternalMemoryHandleTypeOpaq, __pyx_t_4) < 0) __PYX_ERR(0, 622, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":623
 * class cudaExternalMemoryHandleType(Enum):
 *     cudaExternalMemoryHandleTypeOpaqueFd = ccudart.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeOpaqueFd
 *     cudaExternalMemoryHandleTypeOpaqueWin32 = ccudart.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeOpaqueWin32             # <<<<<<<<<<<<<<
 *     cudaExternalMemoryHandleTypeOpaqueWin32Kmt = ccudart.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeOpaqueWin32Kmt
 *     cudaExternalMemoryHandleTypeD3D12Heap = ccudart.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeD3D12Heap
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType(__pyx_e_4cuda_7ccudart_cudaExternalMemoryHandleTypeOpaqueWin32); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 623, __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, 623, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":624
 *     cudaExternalMemoryHandleTypeOpaqueFd = ccudart.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeOpaqueFd
 *     cudaExternalMemoryHandleTypeOpaqueWin32 = ccudart.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeOpaqueWin32
 *     cudaExternalMemoryHandleTypeOpaqueWin32Kmt = ccudart.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeOpaqueWin32Kmt             # <<<<<<<<<<<<<<
 *     cudaExternalMemoryHandleTypeD3D12Heap = ccudart.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeD3D12Heap
 *     cudaExternalMemoryHandleTypeD3D12Resource = ccudart.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeD3D12Resource
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType(__pyx_e_4cuda_7ccudart_cudaExternalMemoryHandleTypeOpaqueWin32Kmt); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 624, __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, 624, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":625
 *     cudaExternalMemoryHandleTypeOpaqueWin32 = ccudart.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeOpaqueWin32
 *     cudaExternalMemoryHandleTypeOpaqueWin32Kmt = ccudart.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeOpaqueWin32Kmt
 *     cudaExternalMemoryHandleTypeD3D12Heap = ccudart.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeD3D12Heap             # <<<<<<<<<<<<<<
 *     cudaExternalMemoryHandleTypeD3D12Resource = ccudart.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeD3D12Resource
 *     cudaExternalMemoryHandleTypeD3D11Resource = ccudart.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeD3D11Resource
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType(__pyx_e_4cuda_7ccudart_cudaExternalMemoryHandleTypeD3D12Heap); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 625, __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, 625, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":626
 *     cudaExternalMemoryHandleTypeOpaqueWin32Kmt = ccudart.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeOpaqueWin32Kmt
 *     cudaExternalMemoryHandleTypeD3D12Heap = ccudart.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeD3D12Heap
 *     cudaExternalMemoryHandleTypeD3D12Resource = ccudart.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeD3D12Resource             # <<<<<<<<<<<<<<
 *     cudaExternalMemoryHandleTypeD3D11Resource = ccudart.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeD3D11Resource
 *     cudaExternalMemoryHandleTypeD3D11ResourceKmt = ccudart.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeD3D11ResourceKmt
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType(__pyx_e_4cuda_7ccudart_cudaExternalMemoryHandleTypeD3D12Resource); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 626, __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, 626, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":627
 *     cudaExternalMemoryHandleTypeD3D12Heap = ccudart.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeD3D12Heap
 *     cudaExternalMemoryHandleTypeD3D12Resource = ccudart.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeD3D12Resource
 *     cudaExternalMemoryHandleTypeD3D11Resource = ccudart.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeD3D11Resource             # <<<<<<<<<<<<<<
 *     cudaExternalMemoryHandleTypeD3D11ResourceKmt = ccudart.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeD3D11ResourceKmt
 *     cudaExternalMemoryHandleTypeNvSciBuf = ccudart.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeNvSciBuf
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType(__pyx_e_4cuda_7ccudart_cudaExternalMemoryHandleTypeD3D11Resource); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 627, __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, 627, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":628
 *     cudaExternalMemoryHandleTypeD3D12Resource = ccudart.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeD3D12Resource
 *     cudaExternalMemoryHandleTypeD3D11Resource = ccudart.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeD3D11Resource
 *     cudaExternalMemoryHandleTypeD3D11ResourceKmt = ccudart.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeD3D11ResourceKmt             # <<<<<<<<<<<<<<
 *     cudaExternalMemoryHandleTypeNvSciBuf = ccudart.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeNvSciBuf
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType(__pyx_e_4cuda_7ccudart_cudaExternalMemoryHandleTypeD3D11ResourceKmt); 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_cudaExternalMemoryHandleTypeD3D1_4, __pyx_t_4) < 0) __PYX_ERR(0, 628, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":629
 *     cudaExternalMemoryHandleTypeD3D11Resource = ccudart.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeD3D11Resource
 *     cudaExternalMemoryHandleTypeD3D11ResourceKmt = ccudart.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeD3D11ResourceKmt
 *     cudaExternalMemoryHandleTypeNvSciBuf = ccudart.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeNvSciBuf             # <<<<<<<<<<<<<<
 * 
 * class cudaExternalSemaphoreHandleType(Enum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType(__pyx_e_4cuda_7ccudart_cudaExternalMemoryHandleTypeNvSciBuf); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 629, __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, 629, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":621
 *     cudaDevP2PAttrCudaArrayAccessSupported = ccudart.cudaDeviceP2PAttr.cudaDevP2PAttrCudaArrayAccessSupported
 * 
 * class cudaExternalMemoryHandleType(Enum):             # <<<<<<<<<<<<<<
 *     cudaExternalMemoryHandleTypeOpaqueFd = ccudart.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeOpaqueFd
 *     cudaExternalMemoryHandleTypeOpaqueWin32 = ccudart.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeOpaqueWin32
 */
  __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, 621, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaExternalMemoryHandleType, __pyx_t_4) < 0) __PYX_ERR(0, 621, __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":631
 *     cudaExternalMemoryHandleTypeNvSciBuf = ccudart.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeNvSciBuf
 * 
 * class cudaExternalSemaphoreHandleType(Enum):             # <<<<<<<<<<<<<<
 *     cudaExternalSemaphoreHandleTypeOpaqueFd = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeOpaqueFd
 *     cudaExternalSemaphoreHandleTypeOpaqueWin32 = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeOpaqueWin32
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Enum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 631, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 631, __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, 631, __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, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 631, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":632
 * 
 * class cudaExternalSemaphoreHandleType(Enum):
 *     cudaExternalSemaphoreHandleTypeOpaqueFd = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeOpaqueFd             # <<<<<<<<<<<<<<
 *     cudaExternalSemaphoreHandleTypeOpaqueWin32 = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeOpaqueWin32
 *     cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType(__pyx_e_4cuda_7ccudart_cudaExternalSemaphoreHandleTypeOpaqueFd); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 632, __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, 632, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":633
 * class cudaExternalSemaphoreHandleType(Enum):
 *     cudaExternalSemaphoreHandleTypeOpaqueFd = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeOpaqueFd
 *     cudaExternalSemaphoreHandleTypeOpaqueWin32 = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeOpaqueWin32             # <<<<<<<<<<<<<<
 *     cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt
 *     cudaExternalSemaphoreHandleTypeD3D12Fence = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeD3D12Fence
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType(__pyx_e_4cuda_7ccudart_cudaExternalSemaphoreHandleTypeOpaqueWin32); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 633, __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, 633, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":634
 *     cudaExternalSemaphoreHandleTypeOpaqueFd = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeOpaqueFd
 *     cudaExternalSemaphoreHandleTypeOpaqueWin32 = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeOpaqueWin32
 *     cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt             # <<<<<<<<<<<<<<
 *     cudaExternalSemaphoreHandleTypeD3D12Fence = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeD3D12Fence
 *     cudaExternalSemaphoreHandleTypeD3D11Fence = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeD3D11Fence
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType(__pyx_e_4cuda_7ccudart_cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt); 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_cudaExternalSemaphoreHandleTypeO_3, __pyx_t_4) < 0) __PYX_ERR(0, 634, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":635
 *     cudaExternalSemaphoreHandleTypeOpaqueWin32 = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeOpaqueWin32
 *     cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt
 *     cudaExternalSemaphoreHandleTypeD3D12Fence = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeD3D12Fence             # <<<<<<<<<<<<<<
 *     cudaExternalSemaphoreHandleTypeD3D11Fence = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeD3D11Fence
 *     cudaExternalSemaphoreHandleTypeNvSciSync = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeNvSciSync
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType(__pyx_e_4cuda_7ccudart_cudaExternalSemaphoreHandleTypeD3D12Fence); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 635, __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, 635, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":636
 *     cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt
 *     cudaExternalSemaphoreHandleTypeD3D12Fence = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeD3D12Fence
 *     cudaExternalSemaphoreHandleTypeD3D11Fence = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeD3D11Fence             # <<<<<<<<<<<<<<
 *     cudaExternalSemaphoreHandleTypeNvSciSync = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeNvSciSync
 *     cudaExternalSemaphoreHandleTypeKeyedMutex = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeKeyedMutex
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType(__pyx_e_4cuda_7ccudart_cudaExternalSemaphoreHandleTypeD3D11Fence); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 636, __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, 636, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":637
 *     cudaExternalSemaphoreHandleTypeD3D12Fence = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeD3D12Fence
 *     cudaExternalSemaphoreHandleTypeD3D11Fence = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeD3D11Fence
 *     cudaExternalSemaphoreHandleTypeNvSciSync = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeNvSciSync             # <<<<<<<<<<<<<<
 *     cudaExternalSemaphoreHandleTypeKeyedMutex = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeKeyedMutex
 *     cudaExternalSemaphoreHandleTypeKeyedMutexKmt = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeKeyedMutexKmt
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType(__pyx_e_4cuda_7ccudart_cudaExternalSemaphoreHandleTypeNvSciSync); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 637, __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, 637, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":638
 *     cudaExternalSemaphoreHandleTypeD3D11Fence = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeD3D11Fence
 *     cudaExternalSemaphoreHandleTypeNvSciSync = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeNvSciSync
 *     cudaExternalSemaphoreHandleTypeKeyedMutex = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeKeyedMutex             # <<<<<<<<<<<<<<
 *     cudaExternalSemaphoreHandleTypeKeyedMutexKmt = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeKeyedMutexKmt
 *     cudaExternalSemaphoreHandleTypeTimelineSemaphoreFd = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeTimelineSemaphoreFd
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType(__pyx_e_4cuda_7ccudart_cudaExternalSemaphoreHandleTypeKeyedMutex); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 638, __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, 638, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":639
 *     cudaExternalSemaphoreHandleTypeNvSciSync = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeNvSciSync
 *     cudaExternalSemaphoreHandleTypeKeyedMutex = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeKeyedMutex
 *     cudaExternalSemaphoreHandleTypeKeyedMutexKmt = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeKeyedMutexKmt             # <<<<<<<<<<<<<<
 *     cudaExternalSemaphoreHandleTypeTimelineSemaphoreFd = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeTimelineSemaphoreFd
 *     cudaExternalSemaphoreHandleTypeTimelineSemaphoreWin32 = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeTimelineSemaphoreWin32
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType(__pyx_e_4cuda_7ccudart_cudaExternalSemaphoreHandleTypeKeyedMutexKmt); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 639, __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, 639, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":640
 *     cudaExternalSemaphoreHandleTypeKeyedMutex = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeKeyedMutex
 *     cudaExternalSemaphoreHandleTypeKeyedMutexKmt = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeKeyedMutexKmt
 *     cudaExternalSemaphoreHandleTypeTimelineSemaphoreFd = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeTimelineSemaphoreFd             # <<<<<<<<<<<<<<
 *     cudaExternalSemaphoreHandleTypeTimelineSemaphoreWin32 = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeTimelineSemaphoreWin32
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType(__pyx_e_4cuda_7ccudart_cudaExternalSemaphoreHandleTypeTimelineSemaphoreFd); 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_cudaExternalSemaphoreHandleTypeT, __pyx_t_4) < 0) __PYX_ERR(0, 640, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":641
 *     cudaExternalSemaphoreHandleTypeKeyedMutexKmt = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeKeyedMutexKmt
 *     cudaExternalSemaphoreHandleTypeTimelineSemaphoreFd = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeTimelineSemaphoreFd
 *     cudaExternalSemaphoreHandleTypeTimelineSemaphoreWin32 = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeTimelineSemaphoreWin32             # <<<<<<<<<<<<<<
 * 
 * class cudaCGScope(Enum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType(__pyx_e_4cuda_7ccudart_cudaExternalSemaphoreHandleTypeTimelineSemaphoreWin32); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 641, __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, 641, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":631
 *     cudaExternalMemoryHandleTypeNvSciBuf = ccudart.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeNvSciBuf
 * 
 * class cudaExternalSemaphoreHandleType(Enum):             # <<<<<<<<<<<<<<
 *     cudaExternalSemaphoreHandleTypeOpaqueFd = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeOpaqueFd
 *     cudaExternalSemaphoreHandleTypeOpaqueWin32 = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeOpaqueWin32
 */
  __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, 631, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaExternalSemaphoreHandleType, __pyx_t_4) < 0) __PYX_ERR(0, 631, __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":643
 *     cudaExternalSemaphoreHandleTypeTimelineSemaphoreWin32 = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeTimelineSemaphoreWin32
 * 
 * class cudaCGScope(Enum):             # <<<<<<<<<<<<<<
 *     cudaCGScopeInvalid = ccudart.cudaCGScope.cudaCGScopeInvalid
 *     cudaCGScopeGrid = ccudart.cudaCGScope.cudaCGScopeGrid
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Enum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 643, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 643, __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, 643, __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, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 643, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":644
 * 
 * class cudaCGScope(Enum):
 *     cudaCGScopeInvalid = ccudart.cudaCGScope.cudaCGScopeInvalid             # <<<<<<<<<<<<<<
 *     cudaCGScopeGrid = ccudart.cudaCGScope.cudaCGScopeGrid
 *     cudaCGScopeMultiGrid = ccudart.cudaCGScope.cudaCGScopeMultiGrid
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaCGScope(__pyx_e_4cuda_7ccudart_cudaCGScopeInvalid); 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_cudaCGScopeInvalid, __pyx_t_4) < 0) __PYX_ERR(0, 644, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":645
 * class cudaCGScope(Enum):
 *     cudaCGScopeInvalid = ccudart.cudaCGScope.cudaCGScopeInvalid
 *     cudaCGScopeGrid = ccudart.cudaCGScope.cudaCGScopeGrid             # <<<<<<<<<<<<<<
 *     cudaCGScopeMultiGrid = ccudart.cudaCGScope.cudaCGScopeMultiGrid
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaCGScope(__pyx_e_4cuda_7ccudart_cudaCGScopeGrid); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 645, __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, 645, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":646
 *     cudaCGScopeInvalid = ccudart.cudaCGScope.cudaCGScopeInvalid
 *     cudaCGScopeGrid = ccudart.cudaCGScope.cudaCGScopeGrid
 *     cudaCGScopeMultiGrid = ccudart.cudaCGScope.cudaCGScopeMultiGrid             # <<<<<<<<<<<<<<
 * 
 * class cudaGraphNodeType(Enum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaCGScope(__pyx_e_4cuda_7ccudart_cudaCGScopeMultiGrid); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 646, __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, 646, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":643
 *     cudaExternalSemaphoreHandleTypeTimelineSemaphoreWin32 = ccudart.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeTimelineSemaphoreWin32
 * 
 * class cudaCGScope(Enum):             # <<<<<<<<<<<<<<
 *     cudaCGScopeInvalid = ccudart.cudaCGScope.cudaCGScopeInvalid
 *     cudaCGScopeGrid = ccudart.cudaCGScope.cudaCGScopeGrid
 */
  __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, 643, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaCGScope, __pyx_t_4) < 0) __PYX_ERR(0, 643, __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":648
 *     cudaCGScopeMultiGrid = ccudart.cudaCGScope.cudaCGScopeMultiGrid
 * 
 * class cudaGraphNodeType(Enum):             # <<<<<<<<<<<<<<
 *     cudaGraphNodeTypeKernel = ccudart.cudaGraphNodeType.cudaGraphNodeTypeKernel
 *     cudaGraphNodeTypeMemcpy = ccudart.cudaGraphNodeType.cudaGraphNodeTypeMemcpy
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Enum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 648, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 648, __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, 648, __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, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 648, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":649
 * 
 * class cudaGraphNodeType(Enum):
 *     cudaGraphNodeTypeKernel = ccudart.cudaGraphNodeType.cudaGraphNodeTypeKernel             # <<<<<<<<<<<<<<
 *     cudaGraphNodeTypeMemcpy = ccudart.cudaGraphNodeType.cudaGraphNodeTypeMemcpy
 *     cudaGraphNodeTypeMemset = ccudart.cudaGraphNodeType.cudaGraphNodeTypeMemset
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphNodeType(__pyx_e_4cuda_7ccudart_cudaGraphNodeTypeKernel); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 649, __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, 649, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":650
 * class cudaGraphNodeType(Enum):
 *     cudaGraphNodeTypeKernel = ccudart.cudaGraphNodeType.cudaGraphNodeTypeKernel
 *     cudaGraphNodeTypeMemcpy = ccudart.cudaGraphNodeType.cudaGraphNodeTypeMemcpy             # <<<<<<<<<<<<<<
 *     cudaGraphNodeTypeMemset = ccudart.cudaGraphNodeType.cudaGraphNodeTypeMemset
 *     cudaGraphNodeTypeHost = ccudart.cudaGraphNodeType.cudaGraphNodeTypeHost
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphNodeType(__pyx_e_4cuda_7ccudart_cudaGraphNodeTypeMemcpy); 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_cudaGraphNodeTypeMemcpy, __pyx_t_4) < 0) __PYX_ERR(0, 650, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":651
 *     cudaGraphNodeTypeKernel = ccudart.cudaGraphNodeType.cudaGraphNodeTypeKernel
 *     cudaGraphNodeTypeMemcpy = ccudart.cudaGraphNodeType.cudaGraphNodeTypeMemcpy
 *     cudaGraphNodeTypeMemset = ccudart.cudaGraphNodeType.cudaGraphNodeTypeMemset             # <<<<<<<<<<<<<<
 *     cudaGraphNodeTypeHost = ccudart.cudaGraphNodeType.cudaGraphNodeTypeHost
 *     cudaGraphNodeTypeGraph = ccudart.cudaGraphNodeType.cudaGraphNodeTypeGraph
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphNodeType(__pyx_e_4cuda_7ccudart_cudaGraphNodeTypeMemset); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 651, __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, 651, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":652
 *     cudaGraphNodeTypeMemcpy = ccudart.cudaGraphNodeType.cudaGraphNodeTypeMemcpy
 *     cudaGraphNodeTypeMemset = ccudart.cudaGraphNodeType.cudaGraphNodeTypeMemset
 *     cudaGraphNodeTypeHost = ccudart.cudaGraphNodeType.cudaGraphNodeTypeHost             # <<<<<<<<<<<<<<
 *     cudaGraphNodeTypeGraph = ccudart.cudaGraphNodeType.cudaGraphNodeTypeGraph
 *     cudaGraphNodeTypeEmpty = ccudart.cudaGraphNodeType.cudaGraphNodeTypeEmpty
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphNodeType(__pyx_e_4cuda_7ccudart_cudaGraphNodeTypeHost); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 652, __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, 652, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":653
 *     cudaGraphNodeTypeMemset = ccudart.cudaGraphNodeType.cudaGraphNodeTypeMemset
 *     cudaGraphNodeTypeHost = ccudart.cudaGraphNodeType.cudaGraphNodeTypeHost
 *     cudaGraphNodeTypeGraph = ccudart.cudaGraphNodeType.cudaGraphNodeTypeGraph             # <<<<<<<<<<<<<<
 *     cudaGraphNodeTypeEmpty = ccudart.cudaGraphNodeType.cudaGraphNodeTypeEmpty
 *     cudaGraphNodeTypeWaitEvent = ccudart.cudaGraphNodeType.cudaGraphNodeTypeWaitEvent
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphNodeType(__pyx_e_4cuda_7ccudart_cudaGraphNodeTypeGraph); 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_cudaGraphNodeTypeGraph, __pyx_t_4) < 0) __PYX_ERR(0, 653, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":654
 *     cudaGraphNodeTypeHost = ccudart.cudaGraphNodeType.cudaGraphNodeTypeHost
 *     cudaGraphNodeTypeGraph = ccudart.cudaGraphNodeType.cudaGraphNodeTypeGraph
 *     cudaGraphNodeTypeEmpty = ccudart.cudaGraphNodeType.cudaGraphNodeTypeEmpty             # <<<<<<<<<<<<<<
 *     cudaGraphNodeTypeWaitEvent = ccudart.cudaGraphNodeType.cudaGraphNodeTypeWaitEvent
 *     cudaGraphNodeTypeEventRecord = ccudart.cudaGraphNodeType.cudaGraphNodeTypeEventRecord
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphNodeType(__pyx_e_4cuda_7ccudart_cudaGraphNodeTypeEmpty); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 654, __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, 654, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":655
 *     cudaGraphNodeTypeGraph = ccudart.cudaGraphNodeType.cudaGraphNodeTypeGraph
 *     cudaGraphNodeTypeEmpty = ccudart.cudaGraphNodeType.cudaGraphNodeTypeEmpty
 *     cudaGraphNodeTypeWaitEvent = ccudart.cudaGraphNodeType.cudaGraphNodeTypeWaitEvent             # <<<<<<<<<<<<<<
 *     cudaGraphNodeTypeEventRecord = ccudart.cudaGraphNodeType.cudaGraphNodeTypeEventRecord
 *     cudaGraphNodeTypeExtSemaphoreSignal = ccudart.cudaGraphNodeType.cudaGraphNodeTypeExtSemaphoreSignal
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphNodeType(__pyx_e_4cuda_7ccudart_cudaGraphNodeTypeWaitEvent); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 655, __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, 655, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":656
 *     cudaGraphNodeTypeEmpty = ccudart.cudaGraphNodeType.cudaGraphNodeTypeEmpty
 *     cudaGraphNodeTypeWaitEvent = ccudart.cudaGraphNodeType.cudaGraphNodeTypeWaitEvent
 *     cudaGraphNodeTypeEventRecord = ccudart.cudaGraphNodeType.cudaGraphNodeTypeEventRecord             # <<<<<<<<<<<<<<
 *     cudaGraphNodeTypeExtSemaphoreSignal = ccudart.cudaGraphNodeType.cudaGraphNodeTypeExtSemaphoreSignal
 *     cudaGraphNodeTypeExtSemaphoreWait = ccudart.cudaGraphNodeType.cudaGraphNodeTypeExtSemaphoreWait
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphNodeType(__pyx_e_4cuda_7ccudart_cudaGraphNodeTypeEventRecord); 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_cudaGraphNodeTypeEventRecord, __pyx_t_4) < 0) __PYX_ERR(0, 656, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":657
 *     cudaGraphNodeTypeWaitEvent = ccudart.cudaGraphNodeType.cudaGraphNodeTypeWaitEvent
 *     cudaGraphNodeTypeEventRecord = ccudart.cudaGraphNodeType.cudaGraphNodeTypeEventRecord
 *     cudaGraphNodeTypeExtSemaphoreSignal = ccudart.cudaGraphNodeType.cudaGraphNodeTypeExtSemaphoreSignal             # <<<<<<<<<<<<<<
 *     cudaGraphNodeTypeExtSemaphoreWait = ccudart.cudaGraphNodeType.cudaGraphNodeTypeExtSemaphoreWait
 *     cudaGraphNodeTypeMemAlloc = ccudart.cudaGraphNodeType.cudaGraphNodeTypeMemAlloc
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphNodeType(__pyx_e_4cuda_7ccudart_cudaGraphNodeTypeExtSemaphoreSignal); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 657, __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, 657, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":658
 *     cudaGraphNodeTypeEventRecord = ccudart.cudaGraphNodeType.cudaGraphNodeTypeEventRecord
 *     cudaGraphNodeTypeExtSemaphoreSignal = ccudart.cudaGraphNodeType.cudaGraphNodeTypeExtSemaphoreSignal
 *     cudaGraphNodeTypeExtSemaphoreWait = ccudart.cudaGraphNodeType.cudaGraphNodeTypeExtSemaphoreWait             # <<<<<<<<<<<<<<
 *     cudaGraphNodeTypeMemAlloc = ccudart.cudaGraphNodeType.cudaGraphNodeTypeMemAlloc
 *     cudaGraphNodeTypeMemFree = ccudart.cudaGraphNodeType.cudaGraphNodeTypeMemFree
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphNodeType(__pyx_e_4cuda_7ccudart_cudaGraphNodeTypeExtSemaphoreWait); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 658, __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, 658, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":659
 *     cudaGraphNodeTypeExtSemaphoreSignal = ccudart.cudaGraphNodeType.cudaGraphNodeTypeExtSemaphoreSignal
 *     cudaGraphNodeTypeExtSemaphoreWait = ccudart.cudaGraphNodeType.cudaGraphNodeTypeExtSemaphoreWait
 *     cudaGraphNodeTypeMemAlloc = ccudart.cudaGraphNodeType.cudaGraphNodeTypeMemAlloc             # <<<<<<<<<<<<<<
 *     cudaGraphNodeTypeMemFree = ccudart.cudaGraphNodeType.cudaGraphNodeTypeMemFree
 *     cudaGraphNodeTypeCount = ccudart.cudaGraphNodeType.cudaGraphNodeTypeCount
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphNodeType(__pyx_e_4cuda_7ccudart_cudaGraphNodeTypeMemAlloc); 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_cudaGraphNodeTypeMemAlloc, __pyx_t_4) < 0) __PYX_ERR(0, 659, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":660
 *     cudaGraphNodeTypeExtSemaphoreWait = ccudart.cudaGraphNodeType.cudaGraphNodeTypeExtSemaphoreWait
 *     cudaGraphNodeTypeMemAlloc = ccudart.cudaGraphNodeType.cudaGraphNodeTypeMemAlloc
 *     cudaGraphNodeTypeMemFree = ccudart.cudaGraphNodeType.cudaGraphNodeTypeMemFree             # <<<<<<<<<<<<<<
 *     cudaGraphNodeTypeCount = ccudart.cudaGraphNodeType.cudaGraphNodeTypeCount
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphNodeType(__pyx_e_4cuda_7ccudart_cudaGraphNodeTypeMemFree); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 660, __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, 660, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":661
 *     cudaGraphNodeTypeMemAlloc = ccudart.cudaGraphNodeType.cudaGraphNodeTypeMemAlloc
 *     cudaGraphNodeTypeMemFree = ccudart.cudaGraphNodeType.cudaGraphNodeTypeMemFree
 *     cudaGraphNodeTypeCount = ccudart.cudaGraphNodeType.cudaGraphNodeTypeCount             # <<<<<<<<<<<<<<
 * 
 * class cudaGraphExecUpdateResult(Enum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphNodeType(__pyx_e_4cuda_7ccudart_cudaGraphNodeTypeCount); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 661, __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, 661, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":648
 *     cudaCGScopeMultiGrid = ccudart.cudaCGScope.cudaCGScopeMultiGrid
 * 
 * class cudaGraphNodeType(Enum):             # <<<<<<<<<<<<<<
 *     cudaGraphNodeTypeKernel = ccudart.cudaGraphNodeType.cudaGraphNodeTypeKernel
 *     cudaGraphNodeTypeMemcpy = ccudart.cudaGraphNodeType.cudaGraphNodeTypeMemcpy
 */
  __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, 648, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphNodeType, __pyx_t_4) < 0) __PYX_ERR(0, 648, __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":663
 *     cudaGraphNodeTypeCount = ccudart.cudaGraphNodeType.cudaGraphNodeTypeCount
 * 
 * class cudaGraphExecUpdateResult(Enum):             # <<<<<<<<<<<<<<
 *     cudaGraphExecUpdateSuccess = ccudart.cudaGraphExecUpdateResult.cudaGraphExecUpdateSuccess
 *     cudaGraphExecUpdateError = ccudart.cudaGraphExecUpdateResult.cudaGraphExecUpdateError
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Enum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 663, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 663, __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, 663, __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, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 663, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":664
 * 
 * class cudaGraphExecUpdateResult(Enum):
 *     cudaGraphExecUpdateSuccess = ccudart.cudaGraphExecUpdateResult.cudaGraphExecUpdateSuccess             # <<<<<<<<<<<<<<
 *     cudaGraphExecUpdateError = ccudart.cudaGraphExecUpdateResult.cudaGraphExecUpdateError
 *     cudaGraphExecUpdateErrorTopologyChanged = ccudart.cudaGraphExecUpdateResult.cudaGraphExecUpdateErrorTopologyChanged
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphExecUpdateResult(__pyx_e_4cuda_7ccudart_cudaGraphExecUpdateSuccess); 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_cudaGraphExecUpdateSuccess, __pyx_t_4) < 0) __PYX_ERR(0, 664, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":665
 * class cudaGraphExecUpdateResult(Enum):
 *     cudaGraphExecUpdateSuccess = ccudart.cudaGraphExecUpdateResult.cudaGraphExecUpdateSuccess
 *     cudaGraphExecUpdateError = ccudart.cudaGraphExecUpdateResult.cudaGraphExecUpdateError             # <<<<<<<<<<<<<<
 *     cudaGraphExecUpdateErrorTopologyChanged = ccudart.cudaGraphExecUpdateResult.cudaGraphExecUpdateErrorTopologyChanged
 *     cudaGraphExecUpdateErrorNodeTypeChanged = ccudart.cudaGraphExecUpdateResult.cudaGraphExecUpdateErrorNodeTypeChanged
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphExecUpdateResult(__pyx_e_4cuda_7ccudart_cudaGraphExecUpdateError); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 665, __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, 665, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":666
 *     cudaGraphExecUpdateSuccess = ccudart.cudaGraphExecUpdateResult.cudaGraphExecUpdateSuccess
 *     cudaGraphExecUpdateError = ccudart.cudaGraphExecUpdateResult.cudaGraphExecUpdateError
 *     cudaGraphExecUpdateErrorTopologyChanged = ccudart.cudaGraphExecUpdateResult.cudaGraphExecUpdateErrorTopologyChanged             # <<<<<<<<<<<<<<
 *     cudaGraphExecUpdateErrorNodeTypeChanged = ccudart.cudaGraphExecUpdateResult.cudaGraphExecUpdateErrorNodeTypeChanged
 *     cudaGraphExecUpdateErrorFunctionChanged = ccudart.cudaGraphExecUpdateResult.cudaGraphExecUpdateErrorFunctionChanged
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphExecUpdateResult(__pyx_e_4cuda_7ccudart_cudaGraphExecUpdateErrorTopologyChanged); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 666, __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, 666, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":667
 *     cudaGraphExecUpdateError = ccudart.cudaGraphExecUpdateResult.cudaGraphExecUpdateError
 *     cudaGraphExecUpdateErrorTopologyChanged = ccudart.cudaGraphExecUpdateResult.cudaGraphExecUpdateErrorTopologyChanged
 *     cudaGraphExecUpdateErrorNodeTypeChanged = ccudart.cudaGraphExecUpdateResult.cudaGraphExecUpdateErrorNodeTypeChanged             # <<<<<<<<<<<<<<
 *     cudaGraphExecUpdateErrorFunctionChanged = ccudart.cudaGraphExecUpdateResult.cudaGraphExecUpdateErrorFunctionChanged
 *     cudaGraphExecUpdateErrorParametersChanged = ccudart.cudaGraphExecUpdateResult.cudaGraphExecUpdateErrorParametersChanged
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphExecUpdateResult(__pyx_e_4cuda_7ccudart_cudaGraphExecUpdateErrorNodeTypeChanged); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 667, __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, 667, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":668
 *     cudaGraphExecUpdateErrorTopologyChanged = ccudart.cudaGraphExecUpdateResult.cudaGraphExecUpdateErrorTopologyChanged
 *     cudaGraphExecUpdateErrorNodeTypeChanged = ccudart.cudaGraphExecUpdateResult.cudaGraphExecUpdateErrorNodeTypeChanged
 *     cudaGraphExecUpdateErrorFunctionChanged = ccudart.cudaGraphExecUpdateResult.cudaGraphExecUpdateErrorFunctionChanged             # <<<<<<<<<<<<<<
 *     cudaGraphExecUpdateErrorParametersChanged = ccudart.cudaGraphExecUpdateResult.cudaGraphExecUpdateErrorParametersChanged
 *     cudaGraphExecUpdateErrorNotSupported = ccudart.cudaGraphExecUpdateResult.cudaGraphExecUpdateErrorNotSupported
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphExecUpdateResult(__pyx_e_4cuda_7ccudart_cudaGraphExecUpdateErrorFunctionChanged); 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_cudaGraphExecUpdateErrorFunction, __pyx_t_4) < 0) __PYX_ERR(0, 668, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":669
 *     cudaGraphExecUpdateErrorNodeTypeChanged = ccudart.cudaGraphExecUpdateResult.cudaGraphExecUpdateErrorNodeTypeChanged
 *     cudaGraphExecUpdateErrorFunctionChanged = ccudart.cudaGraphExecUpdateResult.cudaGraphExecUpdateErrorFunctionChanged
 *     cudaGraphExecUpdateErrorParametersChanged = ccudart.cudaGraphExecUpdateResult.cudaGraphExecUpdateErrorParametersChanged             # <<<<<<<<<<<<<<
 *     cudaGraphExecUpdateErrorNotSupported = ccudart.cudaGraphExecUpdateResult.cudaGraphExecUpdateErrorNotSupported
 *     cudaGraphExecUpdateErrorUnsupportedFunctionChange = ccudart.cudaGraphExecUpdateResult.cudaGraphExecUpdateErrorUnsupportedFunctionChange
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphExecUpdateResult(__pyx_e_4cuda_7ccudart_cudaGraphExecUpdateErrorParametersChanged); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 669, __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, 669, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":670
 *     cudaGraphExecUpdateErrorFunctionChanged = ccudart.cudaGraphExecUpdateResult.cudaGraphExecUpdateErrorFunctionChanged
 *     cudaGraphExecUpdateErrorParametersChanged = ccudart.cudaGraphExecUpdateResult.cudaGraphExecUpdateErrorParametersChanged
 *     cudaGraphExecUpdateErrorNotSupported = ccudart.cudaGraphExecUpdateResult.cudaGraphExecUpdateErrorNotSupported             # <<<<<<<<<<<<<<
 *     cudaGraphExecUpdateErrorUnsupportedFunctionChange = ccudart.cudaGraphExecUpdateResult.cudaGraphExecUpdateErrorUnsupportedFunctionChange
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphExecUpdateResult(__pyx_e_4cuda_7ccudart_cudaGraphExecUpdateErrorNotSupported); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 670, __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, 670, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":671
 *     cudaGraphExecUpdateErrorParametersChanged = ccudart.cudaGraphExecUpdateResult.cudaGraphExecUpdateErrorParametersChanged
 *     cudaGraphExecUpdateErrorNotSupported = ccudart.cudaGraphExecUpdateResult.cudaGraphExecUpdateErrorNotSupported
 *     cudaGraphExecUpdateErrorUnsupportedFunctionChange = ccudart.cudaGraphExecUpdateResult.cudaGraphExecUpdateErrorUnsupportedFunctionChange             # <<<<<<<<<<<<<<
 * 
 * class cudaGetDriverEntryPointFlags(Enum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphExecUpdateResult(__pyx_e_4cuda_7ccudart_cudaGraphExecUpdateErrorUnsupportedFunctionChange); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 671, __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, 671, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":663
 *     cudaGraphNodeTypeCount = ccudart.cudaGraphNodeType.cudaGraphNodeTypeCount
 * 
 * class cudaGraphExecUpdateResult(Enum):             # <<<<<<<<<<<<<<
 *     cudaGraphExecUpdateSuccess = ccudart.cudaGraphExecUpdateResult.cudaGraphExecUpdateSuccess
 *     cudaGraphExecUpdateError = ccudart.cudaGraphExecUpdateResult.cudaGraphExecUpdateError
 */
  __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, 663, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphExecUpdateResult, __pyx_t_4) < 0) __PYX_ERR(0, 663, __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":673
 *     cudaGraphExecUpdateErrorUnsupportedFunctionChange = ccudart.cudaGraphExecUpdateResult.cudaGraphExecUpdateErrorUnsupportedFunctionChange
 * 
 * class cudaGetDriverEntryPointFlags(Enum):             # <<<<<<<<<<<<<<
 *     cudaEnableDefault = ccudart.cudaGetDriverEntryPointFlags.cudaEnableDefault
 *     cudaEnableLegacyStream = ccudart.cudaGetDriverEntryPointFlags.cudaEnableLegacyStream
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Enum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 673, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 673, __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, 673, __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, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 673, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":674
 * 
 * class cudaGetDriverEntryPointFlags(Enum):
 *     cudaEnableDefault = ccudart.cudaGetDriverEntryPointFlags.cudaEnableDefault             # <<<<<<<<<<<<<<
 *     cudaEnableLegacyStream = ccudart.cudaGetDriverEntryPointFlags.cudaEnableLegacyStream
 *     cudaEnablePerThreadDefaultStream = ccudart.cudaGetDriverEntryPointFlags.cudaEnablePerThreadDefaultStream
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGetDriverEntryPointFlags(__pyx_e_4cuda_7ccudart_cudaEnableDefault); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 674, __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, 674, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":675
 * class cudaGetDriverEntryPointFlags(Enum):
 *     cudaEnableDefault = ccudart.cudaGetDriverEntryPointFlags.cudaEnableDefault
 *     cudaEnableLegacyStream = ccudart.cudaGetDriverEntryPointFlags.cudaEnableLegacyStream             # <<<<<<<<<<<<<<
 *     cudaEnablePerThreadDefaultStream = ccudart.cudaGetDriverEntryPointFlags.cudaEnablePerThreadDefaultStream
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGetDriverEntryPointFlags(__pyx_e_4cuda_7ccudart_cudaEnableLegacyStream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 675, __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, 675, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":676
 *     cudaEnableDefault = ccudart.cudaGetDriverEntryPointFlags.cudaEnableDefault
 *     cudaEnableLegacyStream = ccudart.cudaGetDriverEntryPointFlags.cudaEnableLegacyStream
 *     cudaEnablePerThreadDefaultStream = ccudart.cudaGetDriverEntryPointFlags.cudaEnablePerThreadDefaultStream             # <<<<<<<<<<<<<<
 * 
 * class cudaGraphDebugDotFlags(Enum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGetDriverEntryPointFlags(__pyx_e_4cuda_7ccudart_cudaEnablePerThreadDefaultStream); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 676, __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, 676, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":673
 *     cudaGraphExecUpdateErrorUnsupportedFunctionChange = ccudart.cudaGraphExecUpdateResult.cudaGraphExecUpdateErrorUnsupportedFunctionChange
 * 
 * class cudaGetDriverEntryPointFlags(Enum):             # <<<<<<<<<<<<<<
 *     cudaEnableDefault = ccudart.cudaGetDriverEntryPointFlags.cudaEnableDefault
 *     cudaEnableLegacyStream = ccudart.cudaGetDriverEntryPointFlags.cudaEnableLegacyStream
 */
  __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, 673, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGetDriverEntryPointFlags, __pyx_t_4) < 0) __PYX_ERR(0, 673, __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":678
 *     cudaEnablePerThreadDefaultStream = ccudart.cudaGetDriverEntryPointFlags.cudaEnablePerThreadDefaultStream
 * 
 * class cudaGraphDebugDotFlags(Enum):             # <<<<<<<<<<<<<<
 *     cudaGraphDebugDotFlagsVerbose = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsVerbose
 *     cudaGraphDebugDotFlagsKernelNodeParams = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsKernelNodeParams
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Enum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 678, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 678, __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, 678, __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, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 678, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":679
 * 
 * class cudaGraphDebugDotFlags(Enum):
 *     cudaGraphDebugDotFlagsVerbose = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsVerbose             # <<<<<<<<<<<<<<
 *     cudaGraphDebugDotFlagsKernelNodeParams = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsKernelNodeParams
 *     cudaGraphDebugDotFlagsMemcpyNodeParams = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsMemcpyNodeParams
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphDebugDotFlags(__pyx_e_4cuda_7ccudart_cudaGraphDebugDotFlagsVerbose); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 679, __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, 679, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":680
 * class cudaGraphDebugDotFlags(Enum):
 *     cudaGraphDebugDotFlagsVerbose = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsVerbose
 *     cudaGraphDebugDotFlagsKernelNodeParams = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsKernelNodeParams             # <<<<<<<<<<<<<<
 *     cudaGraphDebugDotFlagsMemcpyNodeParams = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsMemcpyNodeParams
 *     cudaGraphDebugDotFlagsMemsetNodeParams = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsMemsetNodeParams
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphDebugDotFlags(__pyx_e_4cuda_7ccudart_cudaGraphDebugDotFlagsKernelNodeParams); 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_cudaGraphDebugDotFlagsKernelNode, __pyx_t_4) < 0) __PYX_ERR(0, 680, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":681
 *     cudaGraphDebugDotFlagsVerbose = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsVerbose
 *     cudaGraphDebugDotFlagsKernelNodeParams = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsKernelNodeParams
 *     cudaGraphDebugDotFlagsMemcpyNodeParams = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsMemcpyNodeParams             # <<<<<<<<<<<<<<
 *     cudaGraphDebugDotFlagsMemsetNodeParams = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsMemsetNodeParams
 *     cudaGraphDebugDotFlagsHostNodeParams = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsHostNodeParams
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphDebugDotFlags(__pyx_e_4cuda_7ccudart_cudaGraphDebugDotFlagsMemcpyNodeParams); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 681, __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, 681, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":682
 *     cudaGraphDebugDotFlagsKernelNodeParams = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsKernelNodeParams
 *     cudaGraphDebugDotFlagsMemcpyNodeParams = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsMemcpyNodeParams
 *     cudaGraphDebugDotFlagsMemsetNodeParams = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsMemsetNodeParams             # <<<<<<<<<<<<<<
 *     cudaGraphDebugDotFlagsHostNodeParams = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsHostNodeParams
 *     cudaGraphDebugDotFlagsEventNodeParams = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsEventNodeParams
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphDebugDotFlags(__pyx_e_4cuda_7ccudart_cudaGraphDebugDotFlagsMemsetNodeParams); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 682, __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, 682, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":683
 *     cudaGraphDebugDotFlagsMemcpyNodeParams = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsMemcpyNodeParams
 *     cudaGraphDebugDotFlagsMemsetNodeParams = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsMemsetNodeParams
 *     cudaGraphDebugDotFlagsHostNodeParams = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsHostNodeParams             # <<<<<<<<<<<<<<
 *     cudaGraphDebugDotFlagsEventNodeParams = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsEventNodeParams
 *     cudaGraphDebugDotFlagsExtSemasSignalNodeParams = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsExtSemasSignalNodeParams
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphDebugDotFlags(__pyx_e_4cuda_7ccudart_cudaGraphDebugDotFlagsHostNodeParams); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 683, __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, 683, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":684
 *     cudaGraphDebugDotFlagsMemsetNodeParams = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsMemsetNodeParams
 *     cudaGraphDebugDotFlagsHostNodeParams = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsHostNodeParams
 *     cudaGraphDebugDotFlagsEventNodeParams = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsEventNodeParams             # <<<<<<<<<<<<<<
 *     cudaGraphDebugDotFlagsExtSemasSignalNodeParams = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsExtSemasSignalNodeParams
 *     cudaGraphDebugDotFlagsExtSemasWaitNodeParams = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsExtSemasWaitNodeParams
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphDebugDotFlags(__pyx_e_4cuda_7ccudart_cudaGraphDebugDotFlagsEventNodeParams); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 684, __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, 684, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":685
 *     cudaGraphDebugDotFlagsHostNodeParams = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsHostNodeParams
 *     cudaGraphDebugDotFlagsEventNodeParams = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsEventNodeParams
 *     cudaGraphDebugDotFlagsExtSemasSignalNodeParams = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsExtSemasSignalNodeParams             # <<<<<<<<<<<<<<
 *     cudaGraphDebugDotFlagsExtSemasWaitNodeParams = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsExtSemasWaitNodeParams
 *     cudaGraphDebugDotFlagsKernelNodeAttributes = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsKernelNodeAttributes
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphDebugDotFlags(__pyx_e_4cuda_7ccudart_cudaGraphDebugDotFlagsExtSemasSignalNodeParams); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 685, __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, 685, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":686
 *     cudaGraphDebugDotFlagsEventNodeParams = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsEventNodeParams
 *     cudaGraphDebugDotFlagsExtSemasSignalNodeParams = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsExtSemasSignalNodeParams
 *     cudaGraphDebugDotFlagsExtSemasWaitNodeParams = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsExtSemasWaitNodeParams             # <<<<<<<<<<<<<<
 *     cudaGraphDebugDotFlagsKernelNodeAttributes = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsKernelNodeAttributes
 *     cudaGraphDebugDotFlagsHandles = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsHandles
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphDebugDotFlags(__pyx_e_4cuda_7ccudart_cudaGraphDebugDotFlagsExtSemasWaitNodeParams); 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_cudaGraphDebugDotFlagsExtSemasWa, __pyx_t_4) < 0) __PYX_ERR(0, 686, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":687
 *     cudaGraphDebugDotFlagsExtSemasSignalNodeParams = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsExtSemasSignalNodeParams
 *     cudaGraphDebugDotFlagsExtSemasWaitNodeParams = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsExtSemasWaitNodeParams
 *     cudaGraphDebugDotFlagsKernelNodeAttributes = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsKernelNodeAttributes             # <<<<<<<<<<<<<<
 *     cudaGraphDebugDotFlagsHandles = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsHandles
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphDebugDotFlags(__pyx_e_4cuda_7ccudart_cudaGraphDebugDotFlagsKernelNodeAttributes); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 687, __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, 687, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":688
 *     cudaGraphDebugDotFlagsExtSemasWaitNodeParams = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsExtSemasWaitNodeParams
 *     cudaGraphDebugDotFlagsKernelNodeAttributes = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsKernelNodeAttributes
 *     cudaGraphDebugDotFlagsHandles = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsHandles             # <<<<<<<<<<<<<<
 * 
 * class cudaGraphInstantiateFlags(Enum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphDebugDotFlags(__pyx_e_4cuda_7ccudart_cudaGraphDebugDotFlagsHandles); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 688, __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, 688, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":678
 *     cudaEnablePerThreadDefaultStream = ccudart.cudaGetDriverEntryPointFlags.cudaEnablePerThreadDefaultStream
 * 
 * class cudaGraphDebugDotFlags(Enum):             # <<<<<<<<<<<<<<
 *     cudaGraphDebugDotFlagsVerbose = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsVerbose
 *     cudaGraphDebugDotFlagsKernelNodeParams = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsKernelNodeParams
 */
  __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, 678, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphDebugDotFlags, __pyx_t_4) < 0) __PYX_ERR(0, 678, __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":690
 *     cudaGraphDebugDotFlagsHandles = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsHandles
 * 
 * class cudaGraphInstantiateFlags(Enum):             # <<<<<<<<<<<<<<
 *     cudaGraphInstantiateFlagAutoFreeOnLaunch = ccudart.cudaGraphInstantiateFlags.cudaGraphInstantiateFlagAutoFreeOnLaunch
 * 
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Enum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 690, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 690, __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, 690, __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, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 690, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":691
 * 
 * class cudaGraphInstantiateFlags(Enum):
 *     cudaGraphInstantiateFlagAutoFreeOnLaunch = ccudart.cudaGraphInstantiateFlags.cudaGraphInstantiateFlagAutoFreeOnLaunch             # <<<<<<<<<<<<<<
 * 
 * class cudaSurfaceBoundaryMode(Enum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphInstantiateFlags(__pyx_e_4cuda_7ccudart_cudaGraphInstantiateFlagAutoFreeOnLaunch); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 691, __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, 691, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":690
 *     cudaGraphDebugDotFlagsHandles = ccudart.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsHandles
 * 
 * class cudaGraphInstantiateFlags(Enum):             # <<<<<<<<<<<<<<
 *     cudaGraphInstantiateFlagAutoFreeOnLaunch = ccudart.cudaGraphInstantiateFlags.cudaGraphInstantiateFlagAutoFreeOnLaunch
 * 
 */
  __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, 690, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphInstantiateFlags, __pyx_t_4) < 0) __PYX_ERR(0, 690, __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":693
 *     cudaGraphInstantiateFlagAutoFreeOnLaunch = ccudart.cudaGraphInstantiateFlags.cudaGraphInstantiateFlagAutoFreeOnLaunch
 * 
 * class cudaSurfaceBoundaryMode(Enum):             # <<<<<<<<<<<<<<
 *     cudaBoundaryModeZero = ccudart.cudaSurfaceBoundaryMode.cudaBoundaryModeZero
 *     cudaBoundaryModeClamp = ccudart.cudaSurfaceBoundaryMode.cudaBoundaryModeClamp
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Enum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 693, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 693, __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, 693, __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, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 693, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":694
 * 
 * class cudaSurfaceBoundaryMode(Enum):
 *     cudaBoundaryModeZero = ccudart.cudaSurfaceBoundaryMode.cudaBoundaryModeZero             # <<<<<<<<<<<<<<
 *     cudaBoundaryModeClamp = ccudart.cudaSurfaceBoundaryMode.cudaBoundaryModeClamp
 *     cudaBoundaryModeTrap = ccudart.cudaSurfaceBoundaryMode.cudaBoundaryModeTrap
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaSurfaceBoundaryMode(__pyx_e_4cuda_7ccudart_cudaBoundaryModeZero); 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_cudaBoundaryModeZero, __pyx_t_4) < 0) __PYX_ERR(0, 694, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":695
 * class cudaSurfaceBoundaryMode(Enum):
 *     cudaBoundaryModeZero = ccudart.cudaSurfaceBoundaryMode.cudaBoundaryModeZero
 *     cudaBoundaryModeClamp = ccudart.cudaSurfaceBoundaryMode.cudaBoundaryModeClamp             # <<<<<<<<<<<<<<
 *     cudaBoundaryModeTrap = ccudart.cudaSurfaceBoundaryMode.cudaBoundaryModeTrap
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaSurfaceBoundaryMode(__pyx_e_4cuda_7ccudart_cudaBoundaryModeClamp); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 695, __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, 695, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":696
 *     cudaBoundaryModeZero = ccudart.cudaSurfaceBoundaryMode.cudaBoundaryModeZero
 *     cudaBoundaryModeClamp = ccudart.cudaSurfaceBoundaryMode.cudaBoundaryModeClamp
 *     cudaBoundaryModeTrap = ccudart.cudaSurfaceBoundaryMode.cudaBoundaryModeTrap             # <<<<<<<<<<<<<<
 * 
 * class cudaSurfaceFormatMode(Enum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaSurfaceBoundaryMode(__pyx_e_4cuda_7ccudart_cudaBoundaryModeTrap); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 696, __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, 696, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":693
 *     cudaGraphInstantiateFlagAutoFreeOnLaunch = ccudart.cudaGraphInstantiateFlags.cudaGraphInstantiateFlagAutoFreeOnLaunch
 * 
 * class cudaSurfaceBoundaryMode(Enum):             # <<<<<<<<<<<<<<
 *     cudaBoundaryModeZero = ccudart.cudaSurfaceBoundaryMode.cudaBoundaryModeZero
 *     cudaBoundaryModeClamp = ccudart.cudaSurfaceBoundaryMode.cudaBoundaryModeClamp
 */
  __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, 693, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaSurfaceBoundaryMode, __pyx_t_4) < 0) __PYX_ERR(0, 693, __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":698
 *     cudaBoundaryModeTrap = ccudart.cudaSurfaceBoundaryMode.cudaBoundaryModeTrap
 * 
 * class cudaSurfaceFormatMode(Enum):             # <<<<<<<<<<<<<<
 *     cudaFormatModeForced = ccudart.cudaSurfaceFormatMode.cudaFormatModeForced
 *     cudaFormatModeAuto = ccudart.cudaSurfaceFormatMode.cudaFormatModeAuto
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Enum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 698, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 698, __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, 698, __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, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 698, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":699
 * 
 * class cudaSurfaceFormatMode(Enum):
 *     cudaFormatModeForced = ccudart.cudaSurfaceFormatMode.cudaFormatModeForced             # <<<<<<<<<<<<<<
 *     cudaFormatModeAuto = ccudart.cudaSurfaceFormatMode.cudaFormatModeAuto
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaSurfaceFormatMode(__pyx_e_4cuda_7ccudart_cudaFormatModeForced); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 699, __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, 699, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":700
 * class cudaSurfaceFormatMode(Enum):
 *     cudaFormatModeForced = ccudart.cudaSurfaceFormatMode.cudaFormatModeForced
 *     cudaFormatModeAuto = ccudart.cudaSurfaceFormatMode.cudaFormatModeAuto             # <<<<<<<<<<<<<<
 * 
 * class cudaTextureAddressMode(Enum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaSurfaceFormatMode(__pyx_e_4cuda_7ccudart_cudaFormatModeAuto); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 700, __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, 700, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":698
 *     cudaBoundaryModeTrap = ccudart.cudaSurfaceBoundaryMode.cudaBoundaryModeTrap
 * 
 * class cudaSurfaceFormatMode(Enum):             # <<<<<<<<<<<<<<
 *     cudaFormatModeForced = ccudart.cudaSurfaceFormatMode.cudaFormatModeForced
 *     cudaFormatModeAuto = ccudart.cudaSurfaceFormatMode.cudaFormatModeAuto
 */
  __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, 698, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaSurfaceFormatMode, __pyx_t_4) < 0) __PYX_ERR(0, 698, __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":702
 *     cudaFormatModeAuto = ccudart.cudaSurfaceFormatMode.cudaFormatModeAuto
 * 
 * class cudaTextureAddressMode(Enum):             # <<<<<<<<<<<<<<
 *     cudaAddressModeWrap = ccudart.cudaTextureAddressMode.cudaAddressModeWrap
 *     cudaAddressModeClamp = ccudart.cudaTextureAddressMode.cudaAddressModeClamp
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Enum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 702, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 702, __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, 702, __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, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 702, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":703
 * 
 * class cudaTextureAddressMode(Enum):
 *     cudaAddressModeWrap = ccudart.cudaTextureAddressMode.cudaAddressModeWrap             # <<<<<<<<<<<<<<
 *     cudaAddressModeClamp = ccudart.cudaTextureAddressMode.cudaAddressModeClamp
 *     cudaAddressModeMirror = ccudart.cudaTextureAddressMode.cudaAddressModeMirror
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaTextureAddressMode(__pyx_e_4cuda_7ccudart_cudaAddressModeWrap); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 703, __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, 703, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":704
 * class cudaTextureAddressMode(Enum):
 *     cudaAddressModeWrap = ccudart.cudaTextureAddressMode.cudaAddressModeWrap
 *     cudaAddressModeClamp = ccudart.cudaTextureAddressMode.cudaAddressModeClamp             # <<<<<<<<<<<<<<
 *     cudaAddressModeMirror = ccudart.cudaTextureAddressMode.cudaAddressModeMirror
 *     cudaAddressModeBorder = ccudart.cudaTextureAddressMode.cudaAddressModeBorder
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaTextureAddressMode(__pyx_e_4cuda_7ccudart_cudaAddressModeClamp); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 704, __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, 704, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":705
 *     cudaAddressModeWrap = ccudart.cudaTextureAddressMode.cudaAddressModeWrap
 *     cudaAddressModeClamp = ccudart.cudaTextureAddressMode.cudaAddressModeClamp
 *     cudaAddressModeMirror = ccudart.cudaTextureAddressMode.cudaAddressModeMirror             # <<<<<<<<<<<<<<
 *     cudaAddressModeBorder = ccudart.cudaTextureAddressMode.cudaAddressModeBorder
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaTextureAddressMode(__pyx_e_4cuda_7ccudart_cudaAddressModeMirror); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 705, __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, 705, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":706
 *     cudaAddressModeClamp = ccudart.cudaTextureAddressMode.cudaAddressModeClamp
 *     cudaAddressModeMirror = ccudart.cudaTextureAddressMode.cudaAddressModeMirror
 *     cudaAddressModeBorder = ccudart.cudaTextureAddressMode.cudaAddressModeBorder             # <<<<<<<<<<<<<<
 * 
 * class cudaTextureFilterMode(Enum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaTextureAddressMode(__pyx_e_4cuda_7ccudart_cudaAddressModeBorder); 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_cudaAddressModeBorder, __pyx_t_4) < 0) __PYX_ERR(0, 706, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":702
 *     cudaFormatModeAuto = ccudart.cudaSurfaceFormatMode.cudaFormatModeAuto
 * 
 * class cudaTextureAddressMode(Enum):             # <<<<<<<<<<<<<<
 *     cudaAddressModeWrap = ccudart.cudaTextureAddressMode.cudaAddressModeWrap
 *     cudaAddressModeClamp = ccudart.cudaTextureAddressMode.cudaAddressModeClamp
 */
  __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, 702, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaTextureAddressMode, __pyx_t_4) < 0) __PYX_ERR(0, 702, __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":708
 *     cudaAddressModeBorder = ccudart.cudaTextureAddressMode.cudaAddressModeBorder
 * 
 * class cudaTextureFilterMode(Enum):             # <<<<<<<<<<<<<<
 *     cudaFilterModePoint = ccudart.cudaTextureFilterMode.cudaFilterModePoint
 *     cudaFilterModeLinear = ccudart.cudaTextureFilterMode.cudaFilterModeLinear
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Enum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 708, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 708, __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, 708, __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, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 708, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":709
 * 
 * class cudaTextureFilterMode(Enum):
 *     cudaFilterModePoint = ccudart.cudaTextureFilterMode.cudaFilterModePoint             # <<<<<<<<<<<<<<
 *     cudaFilterModeLinear = ccudart.cudaTextureFilterMode.cudaFilterModeLinear
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaTextureFilterMode(__pyx_e_4cuda_7ccudart_cudaFilterModePoint); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 709, __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, 709, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":710
 * class cudaTextureFilterMode(Enum):
 *     cudaFilterModePoint = ccudart.cudaTextureFilterMode.cudaFilterModePoint
 *     cudaFilterModeLinear = ccudart.cudaTextureFilterMode.cudaFilterModeLinear             # <<<<<<<<<<<<<<
 * 
 * class cudaTextureReadMode(Enum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaTextureFilterMode(__pyx_e_4cuda_7ccudart_cudaFilterModeLinear); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 710, __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, 710, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":708
 *     cudaAddressModeBorder = ccudart.cudaTextureAddressMode.cudaAddressModeBorder
 * 
 * class cudaTextureFilterMode(Enum):             # <<<<<<<<<<<<<<
 *     cudaFilterModePoint = ccudart.cudaTextureFilterMode.cudaFilterModePoint
 *     cudaFilterModeLinear = ccudart.cudaTextureFilterMode.cudaFilterModeLinear
 */
  __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, 708, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaTextureFilterMode, __pyx_t_4) < 0) __PYX_ERR(0, 708, __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":712
 *     cudaFilterModeLinear = ccudart.cudaTextureFilterMode.cudaFilterModeLinear
 * 
 * class cudaTextureReadMode(Enum):             # <<<<<<<<<<<<<<
 *     cudaReadModeElementType = ccudart.cudaTextureReadMode.cudaReadModeElementType
 *     cudaReadModeNormalizedFloat = ccudart.cudaTextureReadMode.cudaReadModeNormalizedFloat
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Enum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 712, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 712, __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, 712, __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, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 712, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":713
 * 
 * class cudaTextureReadMode(Enum):
 *     cudaReadModeElementType = ccudart.cudaTextureReadMode.cudaReadModeElementType             # <<<<<<<<<<<<<<
 *     cudaReadModeNormalizedFloat = ccudart.cudaTextureReadMode.cudaReadModeNormalizedFloat
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaTextureReadMode(__pyx_e_4cuda_7ccudart_cudaReadModeElementType); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 713, __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, 713, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":714
 * class cudaTextureReadMode(Enum):
 *     cudaReadModeElementType = ccudart.cudaTextureReadMode.cudaReadModeElementType
 *     cudaReadModeNormalizedFloat = ccudart.cudaTextureReadMode.cudaReadModeNormalizedFloat             # <<<<<<<<<<<<<<
 * 
 * class cudaDataType(Enum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaTextureReadMode(__pyx_e_4cuda_7ccudart_cudaReadModeNormalizedFloat); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 714, __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, 714, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":712
 *     cudaFilterModeLinear = ccudart.cudaTextureFilterMode.cudaFilterModeLinear
 * 
 * class cudaTextureReadMode(Enum):             # <<<<<<<<<<<<<<
 *     cudaReadModeElementType = ccudart.cudaTextureReadMode.cudaReadModeElementType
 *     cudaReadModeNormalizedFloat = ccudart.cudaTextureReadMode.cudaReadModeNormalizedFloat
 */
  __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, 712, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaTextureReadMode, __pyx_t_4) < 0) __PYX_ERR(0, 712, __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":716
 *     cudaReadModeNormalizedFloat = ccudart.cudaTextureReadMode.cudaReadModeNormalizedFloat
 * 
 * class cudaDataType(Enum):             # <<<<<<<<<<<<<<
 *     CUDA_R_16F = ccudart.cudaDataType_t.CUDA_R_16F
 *     CUDA_C_16F = ccudart.cudaDataType_t.CUDA_C_16F
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Enum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 716, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 716, __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, 716, __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, 716, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":717
 * 
 * class cudaDataType(Enum):
 *     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____pyx_t_4cuda_7ccudart_cudaDataType_t(__pyx_e_4cuda_7ccudart_CUDA_R_16F); 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_CUDA_R_16F, __pyx_t_4) < 0) __PYX_ERR(0, 717, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":718
 * class cudaDataType(Enum):
 *     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____pyx_t_4cuda_7ccudart_cudaDataType_t(__pyx_e_4cuda_7ccudart_CUDA_C_16F); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 718, __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, 718, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":719
 *     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____pyx_t_4cuda_7ccudart_cudaDataType_t(__pyx_e_4cuda_7ccudart_CUDA_R_16BF); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 719, __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, 719, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":720
 *     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____pyx_t_4cuda_7ccudart_cudaDataType_t(__pyx_e_4cuda_7ccudart_CUDA_C_16BF); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 720, __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, 720, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":721
 *     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____pyx_t_4cuda_7ccudart_cudaDataType_t(__pyx_e_4cuda_7ccudart_CUDA_R_32F); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 721, __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, 721, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":722
 *     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____pyx_t_4cuda_7ccudart_cudaDataType_t(__pyx_e_4cuda_7ccudart_CUDA_C_32F); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 722, __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, 722, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":723
 *     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____pyx_t_4cuda_7ccudart_cudaDataType_t(__pyx_e_4cuda_7ccudart_CUDA_R_64F); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 723, __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, 723, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":724
 *     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____pyx_t_4cuda_7ccudart_cudaDataType_t(__pyx_e_4cuda_7ccudart_CUDA_C_64F); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 724, __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, 724, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":725
 *     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____pyx_t_4cuda_7ccudart_cudaDataType_t(__pyx_e_4cuda_7ccudart_CUDA_R_4I); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 725, __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, 725, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":726
 *     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____pyx_t_4cuda_7ccudart_cudaDataType_t(__pyx_e_4cuda_7ccudart_CUDA_C_4I); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 726, __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, 726, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":727
 *     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____pyx_t_4cuda_7ccudart_cudaDataType_t(__pyx_e_4cuda_7ccudart_CUDA_R_4U); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 727, __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, 727, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":728
 *     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____pyx_t_4cuda_7ccudart_cudaDataType_t(__pyx_e_4cuda_7ccudart_CUDA_C_4U); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 728, __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, 728, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":729
 *     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____pyx_t_4cuda_7ccudart_cudaDataType_t(__pyx_e_4cuda_7ccudart_CUDA_R_8I); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 729, __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, 729, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":730
 *     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____pyx_t_4cuda_7ccudart_cudaDataType_t(__pyx_e_4cuda_7ccudart_CUDA_C_8I); 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_CUDA_C_8I, __pyx_t_4) < 0) __PYX_ERR(0, 730, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":731
 *     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____pyx_t_4cuda_7ccudart_cudaDataType_t(__pyx_e_4cuda_7ccudart_CUDA_R_8U); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 731, __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, 731, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":732
 *     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____pyx_t_4cuda_7ccudart_cudaDataType_t(__pyx_e_4cuda_7ccudart_CUDA_C_8U); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 732, __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, 732, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":733
 *     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____pyx_t_4cuda_7ccudart_cudaDataType_t(__pyx_e_4cuda_7ccudart_CUDA_R_16I); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 733, __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, 733, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":734
 *     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____pyx_t_4cuda_7ccudart_cudaDataType_t(__pyx_e_4cuda_7ccudart_CUDA_C_16I); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 734, __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, 734, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":735
 *     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____pyx_t_4cuda_7ccudart_cudaDataType_t(__pyx_e_4cuda_7ccudart_CUDA_R_16U); 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_CUDA_R_16U, __pyx_t_4) < 0) __PYX_ERR(0, 735, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":736
 *     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____pyx_t_4cuda_7ccudart_cudaDataType_t(__pyx_e_4cuda_7ccudart_CUDA_C_16U); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 736, __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, 736, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":737
 *     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____pyx_t_4cuda_7ccudart_cudaDataType_t(__pyx_e_4cuda_7ccudart_CUDA_R_32I); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 737, __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, 737, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":738
 *     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____pyx_t_4cuda_7ccudart_cudaDataType_t(__pyx_e_4cuda_7ccudart_CUDA_C_32I); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 738, __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, 738, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":739
 *     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____pyx_t_4cuda_7ccudart_cudaDataType_t(__pyx_e_4cuda_7ccudart_CUDA_R_32U); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 739, __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, 739, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":740
 *     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____pyx_t_4cuda_7ccudart_cudaDataType_t(__pyx_e_4cuda_7ccudart_CUDA_C_32U); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 740, __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, 740, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":741
 *     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____pyx_t_4cuda_7ccudart_cudaDataType_t(__pyx_e_4cuda_7ccudart_CUDA_R_64I); 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_CUDA_R_64I, __pyx_t_4) < 0) __PYX_ERR(0, 741, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":742
 *     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____pyx_t_4cuda_7ccudart_cudaDataType_t(__pyx_e_4cuda_7ccudart_CUDA_C_64I); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 742, __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, 742, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":743
 *     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____pyx_t_4cuda_7ccudart_cudaDataType_t(__pyx_e_4cuda_7ccudart_CUDA_R_64U); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 743, __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, 743, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":744
 *     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             # <<<<<<<<<<<<<<
 * 
 * class libraryPropertyType(Enum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDataType_t(__pyx_e_4cuda_7ccudart_CUDA_C_64U); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 744, __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, 744, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":716
 *     cudaReadModeNormalizedFloat = ccudart.cudaTextureReadMode.cudaReadModeNormalizedFloat
 * 
 * class cudaDataType(Enum):             # <<<<<<<<<<<<<<
 *     CUDA_R_16F = ccudart.cudaDataType_t.CUDA_R_16F
 *     CUDA_C_16F = ccudart.cudaDataType_t.CUDA_C_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, 716, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDataType, __pyx_t_4) < 0) __PYX_ERR(0, 716, __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":746
 *     CUDA_C_64U = ccudart.cudaDataType_t.CUDA_C_64U
 * 
 * class libraryPropertyType(Enum):             # <<<<<<<<<<<<<<
 *     MAJOR_VERSION = ccudart.libraryPropertyType_t.MAJOR_VERSION
 *     MINOR_VERSION = ccudart.libraryPropertyType_t.MINOR_VERSION
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Enum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 746, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 746, __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, 746, __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, 746, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "cuda/cudart.pyx":747
 * 
 * class libraryPropertyType(Enum):
 *     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____pyx_t_4cuda_7ccudart_libraryPropertyType_t(__pyx_e_4cuda_7ccudart_MAJOR_VERSION); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 747, __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, 747, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":748
 * class libraryPropertyType(Enum):
 *     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____pyx_t_4cuda_7ccudart_libraryPropertyType_t(__pyx_e_4cuda_7ccudart_MINOR_VERSION); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 748, __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, 748, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":749
 *     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____pyx_t_4cuda_7ccudart_libraryPropertyType_t(__pyx_e_4cuda_7ccudart_PATCH_LEVEL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 749, __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, 749, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":746
 *     CUDA_C_64U = ccudart.cudaDataType_t.CUDA_C_64U
 * 
 * class libraryPropertyType(Enum):             # <<<<<<<<<<<<<<
 *     MAJOR_VERSION = ccudart.libraryPropertyType_t.MAJOR_VERSION
 *     MINOR_VERSION = ccudart.libraryPropertyType_t.MINOR_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, 746, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_libraryPropertyType, __pyx_t_4) < 0) __PYX_ERR(0, 746, __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":783
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_11cudaArray_t_13getPtr, __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_2)) __PYX_ERR(0, 783, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaArray_t->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 783, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_11cudaArray_t_15__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_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_11cudaArray_t_17__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_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":817
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_17cudaArray_const_t_13getPtr, __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_2)) __PYX_ERR(0, 817, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaArray_const_t->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 817, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_17cudaArray_const_t_15__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_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_17cudaArray_const_t_17__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_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":851
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_20cudaMipmappedArray_t_13getPtr, __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_2)) __PYX_ERR(0, 851, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMipmappedArray_t->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 851, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_20cudaMipmappedArray_t_15__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_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_20cudaMipmappedArray_t_17__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_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":885
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_26cudaMipmappedArray_const_t_13getPtr, __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_2)) __PYX_ERR(0, 885, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMipmappedArray_const_t->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 885, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_26cudaMipmappedArray_const_t_15__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_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_26cudaMipmappedArray_const_t_17__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_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":919
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_22cudaGraphicsResource_t_13getPtr, __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_2)) __PYX_ERR(0, 919, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaGraphicsResource_t->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 919, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_22cudaGraphicsResource_t_15__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_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_22cudaGraphicsResource_t_17__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_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":953
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_20cudaExternalMemory_t_13getPtr, __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_2)) __PYX_ERR(0, 953, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExternalMemory_t->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 953, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_20cudaExternalMemory_t_15__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_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_20cudaExternalMemory_t_17__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_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":987
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_23cudaExternalSemaphore_t_13getPtr, __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_2)) __PYX_ERR(0, 987, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExternalSemaphore_t->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 987, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_23cudaExternalSemaphore_t_15__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_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_23cudaExternalSemaphore_t_17__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_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":1021
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_12cudaHostFn_t_13getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaHostFn_t_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__37)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1021, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaHostFn_t->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 1021, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_12cudaHostFn_t_15__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaHostFn_t___reduce_cython, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__38)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_12cudaHostFn_t_17__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaHostFn_t___setstate_cython, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__40)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":1055
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_20cudaStreamCallback_t_13getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaStreamCallback_t_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__42)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1055, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaStreamCallback_t->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 1055, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_20cudaStreamCallback_t_15__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaStreamCallback_t___reduce_cy, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__43)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_20cudaStreamCallback_t_17__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaStreamCallback_t___setstate, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__45)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":1091
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __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__47)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1091, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_dim3->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 1091, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __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__50)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_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__52)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":1163
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __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__54)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1163, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaChannelFormatDesc->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 1163, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __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__55)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_21cudaChannelFormatDesc_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaChannelFormatDesc___setstate, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__57)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":1235
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __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__59)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1235, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart__cudaArraySparseProperties_tileExtent_s->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 1235, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __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__60)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_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__62)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":1307
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __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__64)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1307, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaArraySparseProperties->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 1307, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __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__67)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_25cudaArraySparseProperties_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaArraySparseProperties___sets, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__69)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":1397
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __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__71)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1397, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaPitchedPtr->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 1397, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __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__72)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_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__74)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":1474
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __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__76)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1474, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExtent->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 1474, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __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__77)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_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__79)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":1542
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __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__81)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1542, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaPos->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 1542, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __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__82)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_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__84)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":1626
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __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__86)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1626, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMemcpy3DParms->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 1626, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __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__87)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_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__89)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":1772
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __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__91)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1772, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMemcpy3DPeerParms->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 1772, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __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__92)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_21cudaMemcpy3DPeerParms_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaMemcpy3DPeerParms___setstate, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__94)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":1914
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __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__96)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1914, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMemsetParams->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 1914, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __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__97)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_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__99)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":2020
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __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__101)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2020, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaAccessPolicyWindow->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 2020, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __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__102)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_22cudaAccessPolicyWindow_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaAccessPolicyWindow___setstat, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__104)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":2102
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __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__106)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2102, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaHostNodeParams->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 2102, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __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__107)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_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__109)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":2159
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_19cudaStreamAttrValue_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaStreamAttrValue_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__111)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaStreamAttrValue->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 2159, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_cudaStreamAttrValue);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_19cudaStreamAttrValue_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaStreamAttrValue___reduce_cyt, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__112)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_19cudaStreamAttrValue_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaStreamAttrValue___setstate_c, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__114)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":2220
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_23cudaKernelNodeAttrValue_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaKernelNodeAttrValue_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__116)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2220, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaKernelNodeAttrValue->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 2220, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_6cudart_cudaKernelNodeAttrValue);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_23cudaKernelNodeAttrValue_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaKernelNodeAttrValue___reduce, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__117)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_23cudaKernelNodeAttrValue_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaKernelNodeAttrValue___setsta, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__119)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":2268
 *     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_2 = __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__121)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2268, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart__cudaResourceDesc_res_res_array_s->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 2268, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __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__122)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_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__124)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":2304
 *     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_2 = __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__126)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2304, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart__cudaResourceDesc_res_res_mipmap_s->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 2304, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __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__127)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_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__129)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":2344
 *     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_2 = __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__131)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2344, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart__cudaResourceDesc_res_res_linear_s->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 2344, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __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__132)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_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__134)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":2408
 *     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_2 = __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__136)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2408, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart__cudaResourceDesc_res_res_pitch2D_s->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 2408, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __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__137)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_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__139)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":2489
 *         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_2 = __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__141)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2489, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart__cudaResourceDesc_res_u->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 2489, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __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__142)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_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__144)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":2579
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __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__146)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2579, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaResourceDesc->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 2579, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __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__147)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_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__149)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":2653
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __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__151)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2653, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaResourceViewDesc->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 2653, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __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__152)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_20cudaResourceViewDesc_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaResourceViewDesc___setstate, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__154)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":2774
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __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__156)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2774, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaPointerAttributes->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 2774, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __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__157)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_21cudaPointerAttributes_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaPointerAttributes___setstate, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__159)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":2883
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __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__161)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2883, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaFuncAttributes->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 2883, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __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__162)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_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__164)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":3006
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __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__166)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3006, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMemLocation->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 3006, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __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__167)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_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__169)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":3064
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __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__171)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3064, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMemAccessDesc->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 3064, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __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__172)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_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__174)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":3137
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __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__176)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3137, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMemPoolProps->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 3137, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __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__177)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_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__179)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":3223
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __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__181)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3223, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMemPoolPtrExportData->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 3223, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __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__182)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_24cudaMemPoolPtrExportData_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaMemPoolPtrExportData___setst, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__184)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":3286
 *         if self._accessDescs is not NULL:
 *             free(self._accessDescs)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_22cudaMemAllocNodeParams_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaMemAllocNodeParams_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__186)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3286, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaMemAllocNodeParams->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 3286, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __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__187)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_22cudaMemAllocNodeParams_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaMemAllocNodeParams___setstat, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__189)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":3382
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __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__191)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3382, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_CUuuid_st->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 3382, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __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__192)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_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__194)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":3600
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __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__196)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3600, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaDeviceProp->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 3600, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __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__197)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_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__199)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":4288
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __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__201)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4288, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaIpcEventHandle_st->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 4288, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __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__202)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_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__204)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":4340
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __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__206)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4340, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaIpcMemHandle_st->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 4340, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __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__207)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_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__209)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":4382
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __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__211)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4382, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_handle_win32_s->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 4382, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __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__212)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_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__214)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":4430
 *     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_2 = __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__216)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4430, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart__cudaExternalMemoryHandleDesc_handle_u->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 4430, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __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__217)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_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__219)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":4504
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __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__221)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4504, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExternalMemoryHandleDesc->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 4504, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __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__222)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_28cudaExternalMemoryHandleDesc_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalMemoryHandleDesc___s, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__224)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":4584
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __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__226)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4584, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExternalMemoryBufferDesc->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 4584, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __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__227)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_28cudaExternalMemoryBufferDesc_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalMemoryBufferDesc___s, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__229)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":4659
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __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__231)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4659, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExternalMemoryMipmappedArrayDesc->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 4659, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __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__232)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_36cudaExternalMemoryMipmappedArrayDesc_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalMemoryMipmappedArray_4, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__234)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":4737
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __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__236)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4737, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_handle_win32_s->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 4737, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __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__237)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_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__239)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":4785
 *     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_2 = __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__241)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4785, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreHandleDesc_handle_u->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 4785, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __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__242)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_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__244)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":4857
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __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__246)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4857, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExternalSemaphoreHandleDesc->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 4857, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __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__247)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_31cudaExternalSemaphoreHandleDesc_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalSemaphoreHandleDesc_12, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__249)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":4913
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __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__251)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4913, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_fence_s->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 4913, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __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__252)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_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__254)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":4951
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __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__256)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4951, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_nvSciSync_u->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 4951, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __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__257)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_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__259)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":4995
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __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__261)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4995, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_params_keyedMutex_s->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 4995, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __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__262)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_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__264)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":5039
 *         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_2 = __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__266)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5039, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreSignalParams_params_s->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 5039, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __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__267)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_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__269)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":5134
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __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__271)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5134, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExternalSemaphoreSignalParams->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 5134, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __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__272)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_33cudaExternalSemaphoreSignalParams_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalSemaphoreSignalParam_4, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__274)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":5190
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __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__276)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5190, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_fence_s->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 5190, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __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__277)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_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__279)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":5228
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __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__281)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5228, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_nvSciSync_u->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 5228, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __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__282)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_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__284)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":5274
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __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__286)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5274, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_params_keyedMutex_s->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 5274, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __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__287)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_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__289)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":5326
 *         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_2 = __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__291)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5326, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart__cudaExternalSemaphoreWaitParams_params_s->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 5326, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __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__292)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_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__294)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":5421
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __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__296)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5421, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExternalSemaphoreWaitParams->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 5421, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __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__297)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_31cudaExternalSemaphoreWaitParams_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalSemaphoreWaitParams_20, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__299)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":5500
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __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__301)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5500, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaKernelNodeParams->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 5500, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __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__302)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_20cudaKernelNodeParams_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaKernelNodeParams___setstate, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__304)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":5603
 *         if self._paramsArray is not NULL:
 *             free(self._paramsArray)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalSemaphoreSignalNodeP_2, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__306)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5603, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExternalSemaphoreSignalNodeParams->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 5603, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __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__307)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_37cudaExternalSemaphoreSignalNodeParams_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalSemaphoreSignalNodeP_4, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__309)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":5701
 *         if self._paramsArray is not NULL:
 *             free(self._paramsArray)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalSemaphoreWaitNodePar_2, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__311)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5701, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExternalSemaphoreWaitNodeParams->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 5701, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __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__312)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_35cudaExternalSemaphoreWaitNodeParams_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaExternalSemaphoreWaitNodePar_4, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__314)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":5813
 *             free(self._ptr)
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __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__316)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5813, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaTextureDesc->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 5813, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __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__317)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_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__319)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":5946
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_19cudaSurfaceObject_t_9getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaSurfaceObject_t_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__321)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5946, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaSurfaceObject_t->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 5946, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __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__322)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_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__324)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":5977
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_19cudaTextureObject_t_9getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cudaTextureObject_t_getPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__326)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5977, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4cuda_6cudart_cudaTextureObject_t->tp_dict, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(0, 5977, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 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_2 = __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__327)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_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__329)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":5981
 * 
 * @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_1cudaDeviceReset, 0, __pyx_n_s_cudaDeviceReset, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__331)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5981, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceReset, __pyx_t_2) < 0) __PYX_ERR(0, 5981, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":6015
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceSynchronize():             # <<<<<<<<<<<<<<
 *     """ Wait for compute device to finish.
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_3cudaDeviceSynchronize, 0, __pyx_n_s_cudaDeviceSynchronize, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__332)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6015, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceSynchronize, __pyx_t_2) < 0) __PYX_ERR(0, 6015, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":6041
 * 
 * @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, 6041, __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, 6041, __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, 6041, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_5cudaDeviceSetLimit, 0, __pyx_n_s_cudaDeviceSetLimit, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__333)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6041, __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, 6041, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":6130
 * 
 * @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, 6130, __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, 6130, __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, 6130, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_7cudaDeviceGetLimit, 0, __pyx_n_s_cudaDeviceGetLimit, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__334)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6130, __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, 6130, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":6171
 * 
 * @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, 6171, __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, 6171, __pyx_L1_error)
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_9cudaDeviceGetTexture1DLinearMaxWidth, 0, __pyx_n_s_cudaDeviceGetTexture1DLinearMaxW, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__335)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6171, __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, 6171, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":6199
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetCacheConfig():             # <<<<<<<<<<<<<<
 *     """ Returns the preferred cache configuration for the current device.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_11cudaDeviceGetCacheConfig, 0, __pyx_n_s_cudaDeviceGetCacheConfig, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__336)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6199, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceGetCacheConfig, __pyx_t_1) < 0) __PYX_ERR(0, 6199, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":6237
 * 
 * @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_13cudaDeviceGetStreamPriorityRange, 0, __pyx_n_s_cudaDeviceGetStreamPriorityRange, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__337)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6237, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceGetStreamPriorityRange, __pyx_t_1) < 0) __PYX_ERR(0, 6237, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":6279
 * 
 * @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, 6279, __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, 6279, __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, 6279, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_15cudaDeviceSetCacheConfig, 0, __pyx_n_s_cudaDeviceSetCacheConfig, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__338)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6279, __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, 6279, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":6330
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetSharedMemConfig():             # <<<<<<<<<<<<<<
 *     """ Returns the shared memory configuration for the current device.
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_17cudaDeviceGetSharedMemConfig, 0, __pyx_n_s_cudaDeviceGetSharedMemConfig, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__339)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6330, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceGetSharedMemConfig, __pyx_t_2) < 0) __PYX_ERR(0, 6330, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":6367
 * 
 * @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, 6367, __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, 6367, __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, 6367, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_19cudaDeviceSetSharedMemConfig, 0, __pyx_n_s_cudaDeviceSetSharedMemConfig, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__340)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6367, __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, 6367, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":6419
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetByPCIBusId(char* pciBusId):             # <<<<<<<<<<<<<<
 *     """ Returns a handle to a compute device.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_21cudaDeviceGetByPCIBusId, 0, __pyx_n_s_cudaDeviceGetByPCIBusId, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__341)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6419, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceGetByPCIBusId, __pyx_t_1) < 0) __PYX_ERR(0, 6419, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":6448
 * 
 * @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_23cudaDeviceGetPCIBusId, 0, __pyx_n_s_cudaDeviceGetPCIBusId, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__342)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6448, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceGetPCIBusId, __pyx_t_1) < 0) __PYX_ERR(0, 6448, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":6481
 * 
 * @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_25cudaIpcGetEventHandle, 0, __pyx_n_s_cudaIpcGetEventHandle, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__343)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6481, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaIpcGetEventHandle, __pyx_t_1) < 0) __PYX_ERR(0, 6481, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":6539
 * 
 * @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, 6539, __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, 6539, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_27cudaIpcOpenEventHandle, 0, __pyx_n_s_cudaIpcOpenEventHandle, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__344)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6539, __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, 6539, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":6588
 * 
 * @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_29cudaIpcGetMemHandle, 0, __pyx_n_s_cudaIpcGetMemHandle, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__345)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6588, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaIpcGetMemHandle, __pyx_t_2) < 0) __PYX_ERR(0, 6588, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":6637
 * 
 * @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, 6637, __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, 6637, __pyx_L1_error)
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_31cudaIpcOpenMemHandle, 0, __pyx_n_s_cudaIpcOpenMemHandle, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__346)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6637, __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, 6637, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":6713
 * 
 * @cython.embedsignature(True)
 * def cudaIpcCloseMemHandle(devPtr):             # <<<<<<<<<<<<<<
 *     """ Attempts to close memory mapped with cudaIpcOpenMemHandle.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_33cudaIpcCloseMemHandle, 0, __pyx_n_s_cudaIpcCloseMemHandle, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__347)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6713, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaIpcCloseMemHandle, __pyx_t_1) < 0) __PYX_ERR(0, 6713, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":6759
 * 
 * @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, 6759, __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, 6759, __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, 6759, __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, 6759, __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, 6759, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_35cudaDeviceFlushGPUDirectRDMAWrites, 0, __pyx_n_s_cudaDeviceFlushGPUDirectRDMAWrit, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__348)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6759, __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, 6759, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":6801
 * 
 * @cython.embedsignature(True)
 * def cudaThreadExit():             # <<<<<<<<<<<<<<
 *     """ Exit and clean up from CUDA launches.
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_37cudaThreadExit, 0, __pyx_n_s_cudaThreadExit, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__349)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6801, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaThreadExit, __pyx_t_2) < 0) __PYX_ERR(0, 6801, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":6834
 * 
 * @cython.embedsignature(True)
 * def cudaThreadSynchronize():             # <<<<<<<<<<<<<<
 *     """ Wait for compute device to finish.
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_39cudaThreadSynchronize, 0, __pyx_n_s_cudaThreadSynchronize, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__350)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6834, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaThreadSynchronize, __pyx_t_2) < 0) __PYX_ERR(0, 6834, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":6864
 * 
 * @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, 6864, __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, 6864, __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, 6864, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_41cudaThreadSetLimit, 0, __pyx_n_s_cudaThreadSetLimit, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__351)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6864, __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, 6864, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":6919
 * 
 * @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, 6919, __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, 6919, __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, 6919, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_43cudaThreadGetLimit, 0, __pyx_n_s_cudaThreadGetLimit, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__352)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6919, __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, 6919, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":6958
 * 
 * @cython.embedsignature(True)
 * def cudaThreadGetCacheConfig():             # <<<<<<<<<<<<<<
 *     """ Returns the preferred cache configuration for the current device.
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_45cudaThreadGetCacheConfig, 0, __pyx_n_s_cudaThreadGetCacheConfig, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__353)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6958, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaThreadGetCacheConfig, __pyx_t_2) < 0) __PYX_ERR(0, 6958, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":6999
 * 
 * @cython.embedsignature(True)
 * def cudaThreadSetCacheConfig(cacheConfig not None : cudaFuncCache):             # <<<<<<<<<<<<<<
 *     """ Sets the preferred cache configuration for the current device.
 * 
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6999, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_cudaFuncCache); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6999, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_cacheConfig, __pyx_t_1) < 0) __PYX_ERR(0, 6999, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_47cudaThreadSetCacheConfig, 0, __pyx_n_s_cudaThreadSetCacheConfig, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__354)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6999, __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_cudaThreadSetCacheConfig, __pyx_t_1) < 0) __PYX_ERR(0, 6999, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":7053
 * 
 * @cython.embedsignature(True)
 * def cudaGetLastError():             # <<<<<<<<<<<<<<
 *     """ Returns the last error from a runtime call.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_49cudaGetLastError, 0, __pyx_n_s_cudaGetLastError, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__355)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7053, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGetLastError, __pyx_t_1) < 0) __PYX_ERR(0, 7053, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":7108
 * 
 * @cython.embedsignature(True)
 * def cudaPeekAtLastError():             # <<<<<<<<<<<<<<
 *     """ Returns the last error from a runtime call.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_51cudaPeekAtLastError, 0, __pyx_n_s_cudaPeekAtLastError, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__356)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7108, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaPeekAtLastError, __pyx_t_1) < 0) __PYX_ERR(0, 7108, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":7164
 * 
 * @cython.embedsignature(True)
 * def cudaGetErrorName(error not None : cudaError_t):             # <<<<<<<<<<<<<<
 *     """ Returns the string representation of an error code enum name.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7164, __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, 7164, __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, 7164, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_53cudaGetErrorName, 0, __pyx_n_s_cudaGetErrorName, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__357)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7164, __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_cudaGetErrorName, __pyx_t_2) < 0) __PYX_ERR(0, 7164, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":7196
 * 
 * @cython.embedsignature(True)
 * def cudaGetErrorString(error not None : cudaError_t):             # <<<<<<<<<<<<<<
 *     """ Returns the description string for an error code.
 * 
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7196, __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, 7196, __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, 7196, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_55cudaGetErrorString, 0, __pyx_n_s_cudaGetErrorString, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__358)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7196, __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_cudaGetErrorString, __pyx_t_1) < 0) __PYX_ERR(0, 7196, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":7227
 * 
 * @cython.embedsignature(True)
 * def cudaGetDeviceCount():             # <<<<<<<<<<<<<<
 *     """ Returns the number of compute-capable devices.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_57cudaGetDeviceCount, 0, __pyx_n_s_cudaGetDeviceCount, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__359)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7227, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGetDeviceCount, __pyx_t_1) < 0) __PYX_ERR(0, 7227, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":7254
 * 
 * @cython.embedsignature(True)
 * def cudaGetDeviceProperties(int device):             # <<<<<<<<<<<<<<
 *     """ Returns information about the compute-device.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_59cudaGetDeviceProperties, 0, __pyx_n_s_cudaGetDeviceProperties, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__360)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7254, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGetDeviceProperties, __pyx_t_1) < 0) __PYX_ERR(0, 7254, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":7437
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetAttribute(attr not None : cudaDeviceAttr, int device):             # <<<<<<<<<<<<<<
 *     """ Returns information about the device.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7437, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_cudaDeviceAttr); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7437, __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, 7437, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_61cudaDeviceGetAttribute, 0, __pyx_n_s_cudaDeviceGetAttribute, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__361)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7437, __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_cudaDeviceGetAttribute, __pyx_t_2) < 0) __PYX_ERR(0, 7437, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":7641
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetDefaultMemPool(int device):             # <<<<<<<<<<<<<<
 *     """ Returns the default mempool of a device.
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_63cudaDeviceGetDefaultMemPool, 0, __pyx_n_s_cudaDeviceGetDefaultMemPool, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__362)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7641, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceGetDefaultMemPool, __pyx_t_2) < 0) __PYX_ERR(0, 7641, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":7673
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceSetMemPool(int device, memPool):             # <<<<<<<<<<<<<<
 *     """ Sets the current memory pool of a device.
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_65cudaDeviceSetMemPool, 0, __pyx_n_s_cudaDeviceSetMemPool, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__363)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7673, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceSetMemPool, __pyx_t_2) < 0) __PYX_ERR(0, 7673, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":7711
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetMemPool(int device):             # <<<<<<<<<<<<<<
 *     """ Gets the current mempool for a device.
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_67cudaDeviceGetMemPool, 0, __pyx_n_s_cudaDeviceGetMemPool, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__364)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7711, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceGetMemPool, __pyx_t_2) < 0) __PYX_ERR(0, 7711, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":7741
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetNvSciSyncAttributes(int device, int flags):             # <<<<<<<<<<<<<<
 *     """ Return NvSciSync attributes that this device can support.
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_69cudaDeviceGetNvSciSyncAttributes, 0, __pyx_n_s_cudaDeviceGetNvSciSyncAttributes, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__365)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7741, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceGetNvSciSyncAttributes, __pyx_t_2) < 0) __PYX_ERR(0, 7741, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":7794
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceGetP2PAttribute(attr not None : cudaDeviceP2PAttr, int srcDevice, int dstDevice):             # <<<<<<<<<<<<<<
 *     """ Queries attributes of the link between two devices.
 * 
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7794, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_cudaDeviceP2PAttr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7794, __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, 7794, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_71cudaDeviceGetP2PAttribute, 0, __pyx_n_s_cudaDeviceGetP2PAttribute, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__366)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7794, __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_cudaDeviceGetP2PAttribute, __pyx_t_1) < 0) __PYX_ERR(0, 7794, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":7842
 * 
 * @cython.embedsignature(True)
 * def cudaChooseDevice(prop : cudaDeviceProp):             # <<<<<<<<<<<<<<
 *     """ Select compute-device which best matches criteria.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7842, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_prop, __pyx_n_u_cudaDeviceProp) < 0) __PYX_ERR(0, 7842, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_73cudaChooseDevice, 0, __pyx_n_s_cudaChooseDevice, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__367)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7842, __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_cudaChooseDevice, __pyx_t_2) < 0) __PYX_ERR(0, 7842, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":7874
 * 
 * @cython.embedsignature(True)
 * def cudaSetDevice(int device):             # <<<<<<<<<<<<<<
 *     """ Set device to be used for GPU executions.
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_75cudaSetDevice, 0, __pyx_n_s_cudaSetDevice, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__368)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7874, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaSetDevice, __pyx_t_2) < 0) __PYX_ERR(0, 7874, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":7924
 * 
 * @cython.embedsignature(True)
 * def cudaGetDevice():             # <<<<<<<<<<<<<<
 *     """ Returns which device is currently being used.
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_77cudaGetDevice, 0, __pyx_n_s_cudaGetDevice, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__369)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7924, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGetDevice, __pyx_t_2) < 0) __PYX_ERR(0, 7924, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":7951
 * 
 * @cython.embedsignature(True)
 * def cudaSetDeviceFlags(unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Sets flags to be used for device executions.
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_79cudaSetDeviceFlags, 0, __pyx_n_s_cudaSetDeviceFlags, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__370)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7951, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaSetDeviceFlags, __pyx_t_2) < 0) __PYX_ERR(0, 7951, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":8026
 * 
 * @cython.embedsignature(True)
 * def cudaGetDeviceFlags():             # <<<<<<<<<<<<<<
 *     """ Gets the flags for the current device.
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_81cudaGetDeviceFlags, 0, __pyx_n_s_cudaGetDeviceFlags, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__371)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8026, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGetDeviceFlags, __pyx_t_2) < 0) __PYX_ERR(0, 8026, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":8075
 * 
 * @cython.embedsignature(True)
 * def cudaStreamCreate():             # <<<<<<<<<<<<<<
 *     """ Create an asynchronous stream.
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_83cudaStreamCreate, 0, __pyx_n_s_cudaStreamCreate, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__372)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8075, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaStreamCreate, __pyx_t_2) < 0) __PYX_ERR(0, 8075, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":8106
 * 
 * @cython.embedsignature(True)
 * def cudaStreamCreateWithFlags(unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Create an asynchronous stream.
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_85cudaStreamCreateWithFlags, 0, __pyx_n_s_cudaStreamCreateWithFlags, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__373)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8106, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaStreamCreateWithFlags, __pyx_t_2) < 0) __PYX_ERR(0, 8106, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":8146
 * 
 * @cython.embedsignature(True)
 * def cudaStreamCreateWithPriority(unsigned int flags, int priority):             # <<<<<<<<<<<<<<
 *     """ Create an asynchronous stream with the specified priority.
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_87cudaStreamCreateWithPriority, 0, __pyx_n_s_cudaStreamCreateWithPriority, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__374)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8146, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaStreamCreateWithPriority, __pyx_t_2) < 0) __PYX_ERR(0, 8146, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":8203
 * 
 * @cython.embedsignature(True)
 * def cudaStreamGetPriority(hStream):             # <<<<<<<<<<<<<<
 *     """ Query the priority of a stream.
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_89cudaStreamGetPriority, 0, __pyx_n_s_cudaStreamGetPriority, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__375)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8203, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaStreamGetPriority, __pyx_t_2) < 0) __PYX_ERR(0, 8203, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":8242
 * 
 * @cython.embedsignature(True)
 * def cudaStreamGetFlags(hStream):             # <<<<<<<<<<<<<<
 *     """ Query the flags of a stream.
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_91cudaStreamGetFlags, 0, __pyx_n_s_cudaStreamGetFlags, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__376)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8242, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaStreamGetFlags, __pyx_t_2) < 0) __PYX_ERR(0, 8242, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":8277
 * 
 * @cython.embedsignature(True)
 * def cudaCtxResetPersistingL2Cache():             # <<<<<<<<<<<<<<
 *     """ Resets all persisting lines in cache to normal status.
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_93cudaCtxResetPersistingL2Cache, 0, __pyx_n_s_cudaCtxResetPersistingL2Cache, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__377)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8277, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaCtxResetPersistingL2Cache, __pyx_t_2) < 0) __PYX_ERR(0, 8277, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":8298
 * 
 * @cython.embedsignature(True)
 * def cudaStreamCopyAttributes(dst, src):             # <<<<<<<<<<<<<<
 *     """ Copies attributes from source stream to destination stream.
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_95cudaStreamCopyAttributes, 0, __pyx_n_s_cudaStreamCopyAttributes, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__378)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8298, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaStreamCopyAttributes, __pyx_t_2) < 0) __PYX_ERR(0, 8298, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":8331
 * 
 * @cython.embedsignature(True)
 * def cudaStreamGetAttribute(hStream, attr not None : cudaStreamAttrID):             # <<<<<<<<<<<<<<
 *     """ Queries stream attribute.
 * 
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8331, __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, 8331, __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, 8331, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_97cudaStreamGetAttribute, 0, __pyx_n_s_cudaStreamGetAttribute, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__379)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8331, __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_cudaStreamGetAttribute, __pyx_t_1) < 0) __PYX_ERR(0, 8331, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":8365
 * 
 * @cython.embedsignature(True)
 * def cudaStreamSetAttribute(hStream, attr not None : cudaStreamAttrID, value : cudaStreamAttrValue):             # <<<<<<<<<<<<<<
 *     """ Sets stream attribute.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8365, __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, 8365, __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, 8365, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_value, __pyx_n_u_cudaStreamAttrValue) < 0) __PYX_ERR(0, 8365, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_99cudaStreamSetAttribute, 0, __pyx_n_s_cudaStreamSetAttribute, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__380)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8365, __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_cudaStreamSetAttribute, __pyx_t_2) < 0) __PYX_ERR(0, 8365, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":8402
 * 
 * @cython.embedsignature(True)
 * def cudaStreamDestroy(stream):             # <<<<<<<<<<<<<<
 *     """ Destroys and cleans up an asynchronous stream.
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_101cudaStreamDestroy, 0, __pyx_n_s_cudaStreamDestroy, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__381)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8402, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaStreamDestroy, __pyx_t_2) < 0) __PYX_ERR(0, 8402, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":8442
 * 
 * @cython.embedsignature(True)
 * def cudaStreamWaitEvent(stream, event, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Make a compute stream wait on an event.
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_103cudaStreamWaitEvent, 0, __pyx_n_s_cudaStreamWaitEvent, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__382)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8442, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaStreamWaitEvent, __pyx_t_2) < 0) __PYX_ERR(0, 8442, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":8491
 * 
 * @cython.embedsignature(True)
 * def cudaStreamAddCallback(stream, callback not None : cudaStreamCallback_t, userData, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Add a callback to a compute stream.
 * 
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8491, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_callback, __pyx_n_u_cudaStreamCallback_t_2) < 0) __PYX_ERR(0, 8491, __pyx_L1_error)
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_105cudaStreamAddCallback, 0, __pyx_n_s_cudaStreamAddCallback, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__383)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8491, __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_cudaStreamAddCallback, __pyx_t_1) < 0) __PYX_ERR(0, 8491, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":8571
 * 
 * @cython.embedsignature(True)
 * def cudaStreamSynchronize(stream):             # <<<<<<<<<<<<<<
 *     """ Waits for stream tasks to complete.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_107cudaStreamSynchronize, 0, __pyx_n_s_cudaStreamSynchronize, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__384)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8571, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaStreamSynchronize, __pyx_t_1) < 0) __PYX_ERR(0, 8571, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":8608
 * 
 * @cython.embedsignature(True)
 * def cudaStreamQuery(stream):             # <<<<<<<<<<<<<<
 *     """ Queries an asynchronous stream for completion status.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_109cudaStreamQuery, 0, __pyx_n_s_cudaStreamQuery, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__385)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8608, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaStreamQuery, __pyx_t_1) < 0) __PYX_ERR(0, 8608, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":8647
 * 
 * @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_111cudaStreamAttachMemAsync, 0, __pyx_n_s_cudaStreamAttachMemAsync, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__386)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8647, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaStreamAttachMemAsync, __pyx_t_1) < 0) __PYX_ERR(0, 8647, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":8754
 * 
 * @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, 8754, __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, 8754, __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, 8754, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_113cudaStreamBeginCapture, 0, __pyx_n_s_cudaStreamBeginCapture, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__387)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8754, __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, 8754, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cudart.pyx":8806
 * 
 * @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, 8806, __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, 8806, __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, 8806, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_115cudaThreadExchangeStreamCaptureMode, 0, __pyx_n_s_cudaThreadExchangeStreamCaptureM, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__388)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8806, __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, 8806, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":8868
 * 
 * @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_117cudaStreamEndCapture, 0, __pyx_n_s_cudaStreamEndCapture, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__389)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8868, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaStreamEndCapture, __pyx_t_1) < 0) __PYX_ERR(0, 8868, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":8907
 * 
 * @cython.embedsignature(True)
 * def cudaStreamIsCapturing(stream):             # <<<<<<<<<<<<<<
 *     """ Returns a stream's capture status.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_119cudaStreamIsCapturing, 0, __pyx_n_s_cudaStreamIsCapturing, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__390)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8907, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaStreamIsCapturing, __pyx_t_1) < 0) __PYX_ERR(0, 8907, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":8956
 * 
 * @cython.embedsignature(True)
 * def cudaStreamGetCaptureInfo(stream):             # <<<<<<<<<<<<<<
 *     """ Query capture status of a stream.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_121cudaStreamGetCaptureInfo, 0, __pyx_n_s_cudaStreamGetCaptureInfo, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__391)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8956, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaStreamGetCaptureInfo, __pyx_t_1) < 0) __PYX_ERR(0, 8956, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":9003
 * 
 * @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_123cudaStreamGetCaptureInfo_v2, 0, __pyx_n_s_cudaStreamGetCaptureInfo_v2, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__392)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9003, __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, 9003, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":9083
 * 
 * @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, 9083, __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, 9083, __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, 9083, __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, 9083, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_125cudaStreamUpdateCaptureDependencies, 0, __pyx_n_s_cudaStreamUpdateCaptureDependenc_3, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__393)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9083, __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, 9083, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":9141
 * 
 * @cython.embedsignature(True)
 * def cudaEventCreate():             # <<<<<<<<<<<<<<
 *     """ Creates an event object.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_127cudaEventCreate, 0, __pyx_n_s_cudaEventCreate, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__396)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9141, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaEventCreate, __pyx_t_3) < 0) __PYX_ERR(0, 9141, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":9172
 * 
 * @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_129cudaEventCreateWithFlags, 0, __pyx_n_s_cudaEventCreateWithFlags, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__397)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9172, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaEventCreateWithFlags, __pyx_t_3) < 0) __PYX_ERR(0, 9172, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":9218
 * 
 * @cython.embedsignature(True)
 * def cudaEventRecord(event, stream):             # <<<<<<<<<<<<<<
 *     """ Records an event.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_131cudaEventRecord, 0, __pyx_n_s_cudaEventRecord, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__398)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9218, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaEventRecord, __pyx_t_3) < 0) __PYX_ERR(0, 9218, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":9273
 * 
 * @cython.embedsignature(True)
 * def cudaEventRecordWithFlags(event, stream, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Records an event.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_133cudaEventRecordWithFlags, 0, __pyx_n_s_cudaEventRecordWithFlags, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__399)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9273, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaEventRecordWithFlags, __pyx_t_3) < 0) __PYX_ERR(0, 9273, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":9334
 * 
 * @cython.embedsignature(True)
 * def cudaEventQuery(event):             # <<<<<<<<<<<<<<
 *     """ Queries an event's status.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_135cudaEventQuery, 0, __pyx_n_s_cudaEventQuery, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__400)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9334, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaEventQuery, __pyx_t_3) < 0) __PYX_ERR(0, 9334, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":9378
 * 
 * @cython.embedsignature(True)
 * def cudaEventSynchronize(event):             # <<<<<<<<<<<<<<
 *     """ Waits for an event to complete.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_137cudaEventSynchronize, 0, __pyx_n_s_cudaEventSynchronize, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__401)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9378, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaEventSynchronize, __pyx_t_3) < 0) __PYX_ERR(0, 9378, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":9421
 * 
 * @cython.embedsignature(True)
 * def cudaEventDestroy(event):             # <<<<<<<<<<<<<<
 *     """ Destroys an event object.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_139cudaEventDestroy, 0, __pyx_n_s_cudaEventDestroy, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__402)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9421, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaEventDestroy, __pyx_t_3) < 0) __PYX_ERR(0, 9421, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":9462
 * 
 * @cython.embedsignature(True)
 * def cudaEventElapsedTime(start, end):             # <<<<<<<<<<<<<<
 *     """ Computes the elapsed time between events.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_141cudaEventElapsedTime, 0, __pyx_n_s_cudaEventElapsedTime, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__403)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9462, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaEventElapsedTime, __pyx_t_3) < 0) __PYX_ERR(0, 9462, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":9521
 * 
 * @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, 9521, __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, 9521, __pyx_L1_error)
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_143cudaImportExternalMemory, 0, __pyx_n_s_cudaImportExternalMemory, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__404)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9521, __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, 9521, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":9677
 * 
 * @cython.embedsignature(True)
 * def cudaExternalMemoryGetMappedBuffer(extMem not None : cudaExternalMemory_t, bufferDesc : cudaExternalMemoryBufferDesc):             # <<<<<<<<<<<<<<
 *     """ Maps a buffer onto an imported memory object.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9677, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_extMem, __pyx_n_u_cudaExternalMemory_t_2) < 0) __PYX_ERR(0, 9677, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_bufferDesc, __pyx_n_u_cudaExternalMemoryBufferDesc) < 0) __PYX_ERR(0, 9677, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_145cudaExternalMemoryGetMappedBuffer, 0, __pyx_n_s_cudaExternalMemoryGetMappedBuffe, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__405)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9677, __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, 9677, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":9736
 * 
 * @cython.embedsignature(True)
 * def cudaExternalMemoryGetMappedMipmappedArray(extMem not None : cudaExternalMemory_t, mipmapDesc : cudaExternalMemoryMipmappedArrayDesc):             # <<<<<<<<<<<<<<
 *     """ Maps a CUDA mipmapped array onto an external memory object.
 * 
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9736, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_extMem, __pyx_n_u_cudaExternalMemory_t_2) < 0) __PYX_ERR(0, 9736, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mipmapDesc, __pyx_n_u_cudaExternalMemoryMipmappedArray) < 0) __PYX_ERR(0, 9736, __pyx_L1_error)
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_147cudaExternalMemoryGetMappedMipmappedArray, 0, __pyx_n_s_cudaExternalMemoryGetMappedMipma, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__406)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9736, __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, 9736, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":9801
 * 
 * @cython.embedsignature(True)
 * def cudaDestroyExternalMemory(extMem not None : cudaExternalMemory_t):             # <<<<<<<<<<<<<<
 *     """ Destroys an external memory object.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9801, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_extMem, __pyx_n_u_cudaExternalMemory_t_2) < 0) __PYX_ERR(0, 9801, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_149cudaDestroyExternalMemory, 0, __pyx_n_s_cudaDestroyExternalMemory, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__407)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9801, __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_cudaDestroyExternalMemory, __pyx_t_3) < 0) __PYX_ERR(0, 9801, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":9832
 * 
 * @cython.embedsignature(True)
 * def cudaImportExternalSemaphore(semHandleDesc : cudaExternalSemaphoreHandleDesc):             # <<<<<<<<<<<<<<
 *     """ Imports an external semaphore.
 * 
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9832, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_semHandleDesc, __pyx_n_u_cudaExternalSemaphoreHandleDesc_3) < 0) __PYX_ERR(0, 9832, __pyx_L1_error)
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_151cudaImportExternalSemaphore, 0, __pyx_n_s_cudaImportExternalSemaphore, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__408)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9832, __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_cudaImportExternalSemaphore, __pyx_t_1) < 0) __PYX_ERR(0, 9832, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":9981
 * 
 * @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_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9981, __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, 9981, __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, 9981, __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, 9981, __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, 9981, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExternalSemaphoreSignalParams)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9981, __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, 9981, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_153cudaSignalExternalSemaphoresAsync, 0, __pyx_n_s_cudaSignalExternalSemaphoresAsyn_2, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__409)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9981, __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_cudaSignalExternalSemaphoresAsyn_2, __pyx_t_3) < 0) __PYX_ERR(0, 9981, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":10093
 * 
 * @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_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10093, __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, 10093, __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, 10093, __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, 10093, __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, 10093, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, ((PyObject *)__pyx_ptype_4cuda_6cudart_cudaExternalSemaphoreWaitParams)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10093, __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, 10093, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_155cudaWaitExternalSemaphoresAsync, 0, __pyx_n_s_cudaWaitExternalSemaphoresAsync_2, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__412)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10093, __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_cudaWaitExternalSemaphoresAsync_2, __pyx_t_1) < 0) __PYX_ERR(0, 10093, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":10212
 * 
 * @cython.embedsignature(True)
 * def cudaDestroyExternalSemaphore(extSem not None : cudaExternalSemaphore_t):             # <<<<<<<<<<<<<<
 *     """ Destroys an external semaphore.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10212, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_extSem, __pyx_n_u_cudaExternalSemaphore_t_2) < 0) __PYX_ERR(0, 10212, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_157cudaDestroyExternalSemaphore, 0, __pyx_n_s_cudaDestroyExternalSemaphore, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__414)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10212, __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_cudaDestroyExternalSemaphore, __pyx_t_3) < 0) __PYX_ERR(0, 10212, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":10242
 * 
 * @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, 10242, __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, 10242, __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, 10242, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_159cudaFuncSetCacheConfig, 0, __pyx_n_s_cudaFuncSetCacheConfig, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__415)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10242, __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, 10242, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":10301
 * 
 * @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, 10301, __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, 10301, __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, 10301, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_161cudaFuncSetSharedMemConfig, 0, __pyx_n_s_cudaFuncSetSharedMemConfig, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__416)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10301, __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, 10301, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":10368
 * 
 * @cython.embedsignature(True)
 * def cudaFuncGetAttributes(func):             # <<<<<<<<<<<<<<
 *     """ Find out attributes for a given function.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_163cudaFuncGetAttributes, 0, __pyx_n_s_cudaFuncGetAttributes, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__417)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10368, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaFuncGetAttributes, __pyx_t_3) < 0) __PYX_ERR(0, 10368, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":10409
 * 
 * @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, 10409, __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, 10409, __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, 10409, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_165cudaFuncSetAttribute, 0, __pyx_n_s_cudaFuncSetAttribute, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__418)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10409, __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, 10409, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":10460
 * 
 * @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_167cudaSetDoubleForDevice, 0, __pyx_n_s_cudaSetDoubleForDevice, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__419)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10460, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaSetDoubleForDevice, __pyx_t_1) < 0) __PYX_ERR(0, 10460, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":10489
 * 
 * @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_169cudaSetDoubleForHost, 0, __pyx_n_s_cudaSetDoubleForHost, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__420)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10489, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaSetDoubleForHost, __pyx_t_1) < 0) __PYX_ERR(0, 10489, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":10520
 * 
 * @cython.embedsignature(True)
 * def cudaLaunchHostFunc(stream, fn not None : cudaHostFn_t, userData):             # <<<<<<<<<<<<<<
 *     """ Enqueues a host function call in a stream.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10520, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_fn_2, __pyx_n_u_cudaHostFn_t_2) < 0) __PYX_ERR(0, 10520, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_171cudaLaunchHostFunc, 0, __pyx_n_s_cudaLaunchHostFunc, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__421)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10520, __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_cudaLaunchHostFunc, __pyx_t_3) < 0) __PYX_ERR(0, 10520, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":10596
 * 
 * @cython.embedsignature(True)
 * def cudaOccupancyMaxActiveBlocksPerMultiprocessor(func, int blockSize, size_t dynamicSMemSize):             # <<<<<<<<<<<<<<
 *     """ Returns occupancy for a device function.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_173cudaOccupancyMaxActiveBlocksPerMultiprocessor, 0, __pyx_n_s_cudaOccupancyMaxActiveBlocksPerM, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__422)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10596, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaOccupancyMaxActiveBlocksPerM, __pyx_t_3) < 0) __PYX_ERR(0, 10596, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":10639
 * 
 * @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_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_175cudaOccupancyAvailableDynamicSMemPerBlock, 0, __pyx_n_s_cudaOccupancyAvailableDynamicSMe, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__423)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10639, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaOccupancyAvailableDynamicSMe, __pyx_t_3) < 0) __PYX_ERR(0, 10639, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":10681
 * 
 * @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_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_177cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags, 0, __pyx_n_s_cudaOccupancyMaxActiveBlocksPerM_2, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__424)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10681, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaOccupancyMaxActiveBlocksPerM_2, __pyx_t_3) < 0) __PYX_ERR(0, 10681, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":10740
 * 
 * @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_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_179cudaMallocManaged, 0, __pyx_n_s_cudaMallocManaged, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__425)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10740, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMallocManaged, __pyx_t_3) < 0) __PYX_ERR(0, 10740, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":10873
 * 
 * @cython.embedsignature(True)
 * def cudaMalloc(size_t size):             # <<<<<<<<<<<<<<
 *     """ Allocate memory on the device.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_181cudaMalloc, 0, __pyx_n_s_cudaMalloc, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__426)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10873, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMalloc, __pyx_t_3) < 0) __PYX_ERR(0, 10873, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":10917
 * 
 * @cython.embedsignature(True)
 * def cudaMallocHost(size_t size):             # <<<<<<<<<<<<<<
 *     """ Allocates page-locked memory on the host.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_183cudaMallocHost, 0, __pyx_n_s_cudaMallocHost, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__427)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10917, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMallocHost, __pyx_t_3) < 0) __PYX_ERR(0, 10917, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":10965
 * 
 * @cython.embedsignature(True)
 * def cudaMallocPitch(size_t width, size_t height):             # <<<<<<<<<<<<<<
 *     """ Allocates pitched memory on the device.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_185cudaMallocPitch, 0, __pyx_n_s_cudaMallocPitch, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__428)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10965, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMallocPitch, __pyx_t_3) < 0) __PYX_ERR(0, 10965, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":11024
 * 
 * @cython.embedsignature(True)
 * def cudaMallocArray(desc : cudaChannelFormatDesc, size_t width, size_t height, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Allocate an array on the device.
 * 
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 11024, __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, 11024, __pyx_L1_error)
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_187cudaMallocArray, 0, __pyx_n_s_cudaMallocArray, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__429)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11024, __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_cudaMallocArray, __pyx_t_1) < 0) __PYX_ERR(0, 11024, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":11089
 * 
 * @cython.embedsignature(True)
 * def cudaFree(devPtr):             # <<<<<<<<<<<<<<
 *     """ Frees memory on the device.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_189cudaFree, 0, __pyx_n_s_cudaFree, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__430)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11089, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaFree, __pyx_t_1) < 0) __PYX_ERR(0, 11089, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":11134
 * 
 * @cython.embedsignature(True)
 * def cudaFreeHost(ptr):             # <<<<<<<<<<<<<<
 *     """ Frees page-locked memory.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_191cudaFreeHost, 0, __pyx_n_s_cudaFreeHost, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__431)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11134, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaFreeHost, __pyx_t_1) < 0) __PYX_ERR(0, 11134, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":11173
 * 
 * @cython.embedsignature(True)
 * def cudaFreeArray(array not None : cudaArray_t):             # <<<<<<<<<<<<<<
 *     """ Frees an array on the device.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11173, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_array_2, __pyx_n_u_cudaArray_t_2) < 0) __PYX_ERR(0, 11173, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_193cudaFreeArray, 0, __pyx_n_s_cudaFreeArray, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__432)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 11173, __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_cudaFreeArray, __pyx_t_3) < 0) __PYX_ERR(0, 11173, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":11209
 * 
 * @cython.embedsignature(True)
 * def cudaFreeMipmappedArray(mipmappedArray not None : cudaMipmappedArray_t):             # <<<<<<<<<<<<<<
 *     """ Frees a mipmapped array on the device.
 * 
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 11209, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mipmappedArray, __pyx_n_u_cudaMipmappedArray_t_2) < 0) __PYX_ERR(0, 11209, __pyx_L1_error)
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_195cudaFreeMipmappedArray, 0, __pyx_n_s_cudaFreeMipmappedArray, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__433)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11209, __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_cudaFreeMipmappedArray, __pyx_t_1) < 0) __PYX_ERR(0, 11209, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":11244
 * 
 * @cython.embedsignature(True)
 * def cudaHostAlloc(size_t size, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Allocates page-locked memory on the host.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_197cudaHostAlloc, 0, __pyx_n_s_cudaHostAlloc, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__434)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11244, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaHostAlloc, __pyx_t_1) < 0) __PYX_ERR(0, 11244, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":11320
 * 
 * @cython.embedsignature(True)
 * def cudaHostRegister(ptr, size_t size, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Registers an existing host memory range for use by CUDA.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_199cudaHostRegister, 0, __pyx_n_s_cudaHostRegister, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__435)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11320, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaHostRegister, __pyx_t_1) < 0) __PYX_ERR(0, 11320, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":11429
 * 
 * @cython.embedsignature(True)
 * def cudaHostUnregister(ptr):             # <<<<<<<<<<<<<<
 *     """ Unregisters a memory range that was registered with cudaHostRegister.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_201cudaHostUnregister, 0, __pyx_n_s_cudaHostUnregister, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__436)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11429, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaHostUnregister, __pyx_t_1) < 0) __PYX_ERR(0, 11429, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":11463
 * 
 * @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_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_203cudaHostGetDevicePointer, 0, __pyx_n_s_cudaHostGetDevicePointer, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__437)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11463, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaHostGetDevicePointer, __pyx_t_1) < 0) __PYX_ERR(0, 11463, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":11522
 * 
 * @cython.embedsignature(True)
 * def cudaHostGetFlags(pHost):             # <<<<<<<<<<<<<<
 *     """ Passes back flags used to allocate pinned host memory allocated by cudaHostAlloc.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_205cudaHostGetFlags, 0, __pyx_n_s_cudaHostGetFlags, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__438)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11522, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaHostGetFlags, __pyx_t_1) < 0) __PYX_ERR(0, 11522, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":11553
 * 
 * @cython.embedsignature(True)
 * def cudaMalloc3D(extent not None : cudaExtent):             # <<<<<<<<<<<<<<
 *     """ Allocates logical 1D, 2D, or 3D memory objects on the device.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11553, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_extent_2, __pyx_n_u_cudaExtent) < 0) __PYX_ERR(0, 11553, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_207cudaMalloc3D, 0, __pyx_n_s_cudaMalloc3D, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__439)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 11553, __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_cudaMalloc3D, __pyx_t_3) < 0) __PYX_ERR(0, 11553, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":11609
 * 
 * @cython.embedsignature(True)
 * def cudaMalloc3DArray(desc : cudaChannelFormatDesc, extent not None : cudaExtent, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Allocate an array on the device.
 * 
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 11609, __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, 11609, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_extent_2, __pyx_n_u_cudaExtent) < 0) __PYX_ERR(0, 11609, __pyx_L1_error)
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_209cudaMalloc3DArray, 0, __pyx_n_s_cudaMalloc3DArray, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__440)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11609, __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_cudaMalloc3DArray, __pyx_t_1) < 0) __PYX_ERR(0, 11609, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":11727
 * 
 * @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_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11727, __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, 11727, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_extent_2, __pyx_n_u_cudaExtent) < 0) __PYX_ERR(0, 11727, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_211cudaMallocMipmappedArray, 0, __pyx_n_s_cudaMallocMipmappedArray, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__441)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 11727, __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_cudaMallocMipmappedArray, __pyx_t_3) < 0) __PYX_ERR(0, 11727, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":11848
 * 
 * @cython.embedsignature(True)
 * def cudaGetMipmappedArrayLevel(mipmappedArray not None : cudaMipmappedArray_const_t, unsigned int level):             # <<<<<<<<<<<<<<
 *     """ Gets a mipmap level of a CUDA mipmapped array.
 * 
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 11848, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mipmappedArray, __pyx_n_u_cudaMipmappedArray_const_t_2) < 0) __PYX_ERR(0, 11848, __pyx_L1_error)
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_213cudaGetMipmappedArrayLevel, 0, __pyx_n_s_cudaGetMipmappedArrayLevel, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__442)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11848, __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_cudaGetMipmappedArrayLevel, __pyx_t_1) < 0) __PYX_ERR(0, 11848, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":11894
 * 
 * @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, 11894, __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, 11894, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_215cudaMemcpy3D, 0, __pyx_n_s_cudaMemcpy3D, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__443)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 11894, __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, 11894, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":12000
 * 
 * @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, 12000, __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, 12000, __pyx_L1_error)
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_217cudaMemcpy3DPeer, 0, __pyx_n_s_cudaMemcpy3DPeer, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__444)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12000, __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, 12000, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":12042
 * 
 * @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, 12042, __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, 12042, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_219cudaMemcpy3DAsync, 0, __pyx_n_s_cudaMemcpy3DAsync, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__445)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12042, __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, 12042, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":12162
 * 
 * @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, 12162, __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, 12162, __pyx_L1_error)
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_221cudaMemcpy3DPeerAsync, 0, __pyx_n_s_cudaMemcpy3DPeerAsync, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__446)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12162, __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, 12162, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":12201
 * 
 * @cython.embedsignature(True)
 * def cudaMemGetInfo():             # <<<<<<<<<<<<<<
 *     """ Gets free and total device memory.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_223cudaMemGetInfo, 0, __pyx_n_s_cudaMemGetInfo, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__447)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12201, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemGetInfo, __pyx_t_1) < 0) __PYX_ERR(0, 12201, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":12230
 * 
 * @cython.embedsignature(True)
 * def cudaArrayGetInfo(array not None : cudaArray_t):             # <<<<<<<<<<<<<<
 *     """ Gets info about the specified cudaArray.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12230, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_array_2, __pyx_n_u_cudaArray_t_2) < 0) __PYX_ERR(0, 12230, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_225cudaArrayGetInfo, 0, __pyx_n_s_cudaArrayGetInfo, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__448)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12230, __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_cudaArrayGetInfo, __pyx_t_3) < 0) __PYX_ERR(0, 12230, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":12267
 * 
 * @cython.embedsignature(True)
 * def cudaArrayGetPlane(hArray not None : cudaArray_t, unsigned int planeIdx):             # <<<<<<<<<<<<<<
 *     """ Gets a CUDA array plane from a CUDA array.
 * 
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12267, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_hArray, __pyx_n_u_cudaArray_t_2) < 0) __PYX_ERR(0, 12267, __pyx_L1_error)
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_227cudaArrayGetPlane, 0, __pyx_n_s_cudaArrayGetPlane, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__449)); 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_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaArrayGetPlane, __pyx_t_1) < 0) __PYX_ERR(0, 12267, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":12309
 * 
 * @cython.embedsignature(True)
 * def cudaArrayGetSparseProperties(array not None : cudaArray_t):             # <<<<<<<<<<<<<<
 *     """ Returns the layout properties of a sparse CUDA array.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12309, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_array_2, __pyx_n_u_cudaArray_t_2) < 0) __PYX_ERR(0, 12309, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_229cudaArrayGetSparseProperties, 0, __pyx_n_s_cudaArrayGetSparseProperties, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__450)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12309, __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_cudaArrayGetSparseProperties, __pyx_t_3) < 0) __PYX_ERR(0, 12309, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":12351
 * 
 * @cython.embedsignature(True)
 * def cudaMipmappedArrayGetSparseProperties(mipmap not None : cudaMipmappedArray_t):             # <<<<<<<<<<<<<<
 *     """ Returns the layout properties of a sparse CUDA mipmapped array.
 * 
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12351, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mipmap_2, __pyx_n_u_cudaMipmappedArray_t_2) < 0) __PYX_ERR(0, 12351, __pyx_L1_error)
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_231cudaMipmappedArrayGetSparseProperties, 0, __pyx_n_s_cudaMipmappedArrayGetSparsePrope, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__451)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12351, __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_cudaMipmappedArrayGetSparsePrope, __pyx_t_1) < 0) __PYX_ERR(0, 12351, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":12394
 * 
 * @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, 12394, __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, 12394, __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, 12394, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_233cudaMemcpy, 0, __pyx_n_s_cudaMemcpy, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__452)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12394, __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, 12394, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":12457
 * 
 * @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_235cudaMemcpyPeer, 0, __pyx_n_s_cudaMemcpyPeer, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__453)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12457, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemcpyPeer, __pyx_t_3) < 0) __PYX_ERR(0, 12457, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":12510
 * 
 * @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, 12510, __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, 12510, __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, 12510, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_237cudaMemcpy2D, 0, __pyx_n_s_cudaMemcpy2D, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__454)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12510, __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, 12510, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":12583
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy2DToArray(dst not None : cudaArray_t, 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(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12583, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dst_2, __pyx_n_u_cudaArray_t_2) < 0) __PYX_ERR(0, 12583, __pyx_L1_error)
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaMemcpyKind); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12583, __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, 12583, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_239cudaMemcpy2DToArray, 0, __pyx_n_s_cudaMemcpy2DToArray, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__455)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12583, __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, 12583, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":12655
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy2DFromArray(dst, size_t dpitch, src not None : cudaArray_const_t, 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(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12655, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_src, __pyx_n_u_cudaArray_const_t_2) < 0) __PYX_ERR(0, 12655, __pyx_L1_error)
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_cudaMemcpyKind); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12655, __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, 12655, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_241cudaMemcpy2DFromArray, 0, __pyx_n_s_cudaMemcpy2DFromArray, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__456)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12655, __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, 12655, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":12727
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy2DArrayToArray(dst not None : cudaArray_t, size_t wOffsetDst, size_t hOffsetDst, src not None : cudaArray_const_t, 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(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12727, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dst_2, __pyx_n_u_cudaArray_t_2) < 0) __PYX_ERR(0, 12727, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_src, __pyx_n_u_cudaArray_const_t_2) < 0) __PYX_ERR(0, 12727, __pyx_L1_error)
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaMemcpyKind); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12727, __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, 12727, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_243cudaMemcpy2DArrayToArray, 0, __pyx_n_s_cudaMemcpy2DArrayToArray, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__457)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12727, __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, 12727, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":12796
 * 
 * @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, 12796, __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, 12796, __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, 12796, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_245cudaMemcpyAsync, 0, __pyx_n_s_cudaMemcpyAsync, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__458)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12796, __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, 12796, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":12875
 * 
 * @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_247cudaMemcpyPeerAsync, 0, __pyx_n_s_cudaMemcpyPeerAsync, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__459)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12875, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemcpyPeerAsync, __pyx_t_1) < 0) __PYX_ERR(0, 12875, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":12930
 * 
 * @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, 12930, __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, 12930, __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, 12930, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_249cudaMemcpy2DAsync, 0, __pyx_n_s_cudaMemcpy2DAsync, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__460)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12930, __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, 12930, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":13017
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy2DToArrayAsync(dst not None : cudaArray_t, 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(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13017, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dst_2, __pyx_n_u_cudaArray_t_2) < 0) __PYX_ERR(0, 13017, __pyx_L1_error)
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_cudaMemcpyKind); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13017, __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, 13017, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_251cudaMemcpy2DToArrayAsync, 0, __pyx_n_s_cudaMemcpy2DToArrayAsync, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__461)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13017, __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, 13017, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":13095
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpy2DFromArrayAsync(dst, size_t dpitch, src not None : cudaArray_const_t, 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(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13095, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_src, __pyx_n_u_cudaArray_const_t_2) < 0) __PYX_ERR(0, 13095, __pyx_L1_error)
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaMemcpyKind); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13095, __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, 13095, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_253cudaMemcpy2DFromArrayAsync, 0, __pyx_n_s_cudaMemcpy2DFromArrayAsync, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__462)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13095, __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, 13095, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":13174
 * 
 * @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_255cudaMemset, 0, __pyx_n_s_cudaMemset, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__463)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13174, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemset, __pyx_t_3) < 0) __PYX_ERR(0, 13174, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":13213
 * 
 * @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_257cudaMemset2D, 0, __pyx_n_s_cudaMemset2D, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__464)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13213, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemset2D, __pyx_t_3) < 0) __PYX_ERR(0, 13213, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":13263
 * 
 * @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, 13263, __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, 13263, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_extent_2, __pyx_n_u_cudaExtent) < 0) __PYX_ERR(0, 13263, __pyx_L1_error)
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_259cudaMemset3D, 0, __pyx_n_s_cudaMemset3D, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__465)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13263, __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, 13263, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":13323
 * 
 * @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_261cudaMemsetAsync, 0, __pyx_n_s_cudaMemsetAsync, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__466)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13323, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemsetAsync, __pyx_t_1) < 0) __PYX_ERR(0, 13323, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":13377
 * 
 * @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_263cudaMemset2DAsync, 0, __pyx_n_s_cudaMemset2DAsync, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__467)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13377, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemset2DAsync, __pyx_t_1) < 0) __PYX_ERR(0, 13377, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":13437
 * 
 * @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, 13437, __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, 13437, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_extent_2, __pyx_n_u_cudaExtent) < 0) __PYX_ERR(0, 13437, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_265cudaMemset3DAsync, 0, __pyx_n_s_cudaMemset3DAsync, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__468)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13437, __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, 13437, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":13507
 * 
 * @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_267cudaMemPrefetchAsync, 0, __pyx_n_s_cudaMemPrefetchAsync, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__469)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13507, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemPrefetchAsync, __pyx_t_3) < 0) __PYX_ERR(0, 13507, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":13600
 * 
 * @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, 13600, __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, 13600, __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, 13600, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_269cudaMemAdvise, 0, __pyx_n_s_cudaMemAdvise, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__470)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13600, __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, 13600, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":13758
 * 
 * @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, 13758, __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, 13758, __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, 13758, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_271cudaMemRangeGetAttribute, 0, __pyx_n_s_cudaMemRangeGetAttribute, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__471)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13758, __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, 13758, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":13843
 * 
 * @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, 13843, __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, 13843, __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, 13843, __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, 13843, __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, 13843, __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, 13843, __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, 13843, __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, 13843, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_273cudaMemRangeGetAttributes, 0, __pyx_n_s_cudaMemRangeGetAttributes, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__472)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13843, __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, 13843, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":13909
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpyToArray(dst not None : cudaArray_t, 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(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13909, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_dst_2, __pyx_n_u_cudaArray_t_2) < 0) __PYX_ERR(0, 13909, __pyx_L1_error)
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaMemcpyKind); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13909, __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, 13909, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_275cudaMemcpyToArray, 0, __pyx_n_s_cudaMemcpyToArray, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__475)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13909, __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, 13909, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":13977
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpyFromArray(dst, src not None : cudaArray_const_t, 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(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13977, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_src, __pyx_n_u_cudaArray_const_t_2) < 0) __PYX_ERR(0, 13977, __pyx_L1_error)
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaMemcpyKind); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13977, __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, 13977, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_277cudaMemcpyFromArray, 0, __pyx_n_s_cudaMemcpyFromArray, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__476)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 13977, __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, 13977, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":14045
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpyArrayToArray(dst not None : cudaArray_t, size_t wOffsetDst, size_t hOffsetDst, src not None : cudaArray_const_t, 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(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14045, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_dst_2, __pyx_n_u_cudaArray_t_2) < 0) __PYX_ERR(0, 14045, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_src, __pyx_n_u_cudaArray_const_t_2) < 0) __PYX_ERR(0, 14045, __pyx_L1_error)
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaMemcpyKind); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14045, __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, 14045, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_279cudaMemcpyArrayToArray, 0, __pyx_n_s_cudaMemcpyArrayToArray, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__477)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14045, __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, 14045, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":14115
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpyToArrayAsync(dst not None : cudaArray_t, 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(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14115, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dst_2, __pyx_n_u_cudaArray_t_2) < 0) __PYX_ERR(0, 14115, __pyx_L1_error)
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaMemcpyKind); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14115, __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, 14115, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_281cudaMemcpyToArrayAsync, 0, __pyx_n_s_cudaMemcpyToArrayAsync, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__478)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14115, __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, 14115, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":14194
 * 
 * @cython.embedsignature(True)
 * def cudaMemcpyFromArrayAsync(dst, src not None : cudaArray_const_t, 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(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14194, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_src, __pyx_n_u_cudaArray_const_t_2) < 0) __PYX_ERR(0, 14194, __pyx_L1_error)
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaMemcpyKind); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14194, __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, 14194, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_283cudaMemcpyFromArrayAsync, 0, __pyx_n_s_cudaMemcpyFromArrayAsync, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__479)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14194, __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, 14194, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":14273
 * 
 * @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_285cudaMallocAsync, 0, __pyx_n_s_cudaMallocAsync, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__480)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14273, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMallocAsync, __pyx_t_3) < 0) __PYX_ERR(0, 14273, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":14326
 * 
 * @cython.embedsignature(True)
 * def cudaFreeAsync(devPtr, hStream):             # <<<<<<<<<<<<<<
 *     """ Frees memory with stream ordered semantics.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_287cudaFreeAsync, 0, __pyx_n_s_cudaFreeAsync, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__481)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14326, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaFreeAsync, __pyx_t_3) < 0) __PYX_ERR(0, 14326, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":14369
 * 
 * @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_289cudaMemPoolTrimTo, 0, __pyx_n_s_cudaMemPoolTrimTo, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__482)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14369, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemPoolTrimTo, __pyx_t_3) < 0) __PYX_ERR(0, 14369, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":14417
 * 
 * @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, 14417, __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, 14417, __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, 14417, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_291cudaMemPoolSetAttribute, 0, __pyx_n_s_cudaMemPoolSetAttribute, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__483)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14417, __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, 14417, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":14475
 * 
 * @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, 14475, __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, 14475, __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, 14475, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_293cudaMemPoolGetAttribute, 0, __pyx_n_s_cudaMemPoolGetAttribute, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__484)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14475, __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, 14475, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":14531
 * 
 * @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, 14531, __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, 14531, __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, 14531, __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, 14531, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_295cudaMemPoolSetAccess, 0, __pyx_n_s_cudaMemPoolSetAccess, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__485)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14531, __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, 14531, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":14579
 * 
 * @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, 14579, __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, 14579, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_297cudaMemPoolGetAccess, 0, __pyx_n_s_cudaMemPoolGetAccess, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__487)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14579, __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, 14579, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":14612
 * 
 * @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, 14612, __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, 14612, __pyx_L1_error)
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_299cudaMemPoolCreate, 0, __pyx_n_s_cudaMemPoolCreate, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__488)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14612, __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, 14612, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":14651
 * 
 * @cython.embedsignature(True)
 * def cudaMemPoolDestroy(memPool):             # <<<<<<<<<<<<<<
 *     """ Destroys the specified memory pool.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_301cudaMemPoolDestroy, 0, __pyx_n_s_cudaMemPoolDestroy, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__489)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14651, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemPoolDestroy, __pyx_t_1) < 0) __PYX_ERR(0, 14651, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":14691
 * 
 * @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_303cudaMallocFromPoolAsync, 0, __pyx_n_s_cudaMallocFromPoolAsync, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__490)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14691, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMallocFromPoolAsync, __pyx_t_1) < 0) __PYX_ERR(0, 14691, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":14742
 * 
 * @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, 14742, __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, 14742, __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, 14742, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_305cudaMemPoolExportToShareableHandle, 0, __pyx_n_s_cudaMemPoolExportToShareableHand, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__491)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14742, __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, 14742, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":14792
 * 
 * @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, 14792, __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, 14792, __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, 14792, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_307cudaMemPoolImportFromShareableHandle, 0, __pyx_n_s_cudaMemPoolImportFromShareableHa, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__492)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14792, __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, 14792, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":14836
 * 
 * @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_309cudaMemPoolExportPointer, 0, __pyx_n_s_cudaMemPoolExportPointer, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__493)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14836, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaMemPoolExportPointer, __pyx_t_1) < 0) __PYX_ERR(0, 14836, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":14872
 * 
 * @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, 14872, __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, 14872, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_311cudaMemPoolImportPointer, 0, __pyx_n_s_cudaMemPoolImportPointer, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__494)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14872, __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, 14872, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":14920
 * 
 * @cython.embedsignature(True)
 * def cudaPointerGetAttributes(ptr):             # <<<<<<<<<<<<<<
 *     """ Returns attributes about a specified pointer.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_313cudaPointerGetAttributes, 0, __pyx_n_s_cudaPointerGetAttributes, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__495)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14920, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaPointerGetAttributes, __pyx_t_3) < 0) __PYX_ERR(0, 14920, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":14979
 * 
 * @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_315cudaDeviceCanAccessPeer, 0, __pyx_n_s_cudaDeviceCanAccessPeer, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__496)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14979, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceCanAccessPeer, __pyx_t_3) < 0) __PYX_ERR(0, 14979, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":15015
 * 
 * @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_317cudaDeviceEnablePeerAccess, 0, __pyx_n_s_cudaDeviceEnablePeerAccess, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__497)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15015, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceEnablePeerAccess, __pyx_t_3) < 0) __PYX_ERR(0, 15015, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":15067
 * 
 * @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_319cudaDeviceDisablePeerAccess, 0, __pyx_n_s_cudaDeviceDisablePeerAccess, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__498)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15067, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceDisablePeerAccess, __pyx_t_3) < 0) __PYX_ERR(0, 15067, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":15097
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsUnregisterResource(resource not None : cudaGraphicsResource_t):             # <<<<<<<<<<<<<<
 *     """ Unregisters a graphics resource for access by CUDA.
 * 
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15097, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_resource, __pyx_n_u_cudaGraphicsResource_t_2) < 0) __PYX_ERR(0, 15097, __pyx_L1_error)
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_321cudaGraphicsUnregisterResource, 0, __pyx_n_s_cudaGraphicsUnregisterResource, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__499)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15097, __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_cudaGraphicsUnregisterResource, __pyx_t_1) < 0) __PYX_ERR(0, 15097, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":15128
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsResourceSetMapFlags(resource not None : cudaGraphicsResource_t, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Set usage flags for mapping a graphics resource.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15128, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_resource, __pyx_n_u_cudaGraphicsResource_t_2) < 0) __PYX_ERR(0, 15128, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_323cudaGraphicsResourceSetMapFlags, 0, __pyx_n_s_cudaGraphicsResourceSetMapFlags, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__500)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15128, __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_cudaGraphicsResourceSetMapFlags, __pyx_t_3) < 0) __PYX_ERR(0, 15128, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":15173
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsMapResources(int count, resources : cudaGraphicsResource_t, stream):             # <<<<<<<<<<<<<<
 *     """ Map graphics resources for access by CUDA.
 * 
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15173, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_resources, __pyx_n_u_cudaGraphicsResource_t_2) < 0) __PYX_ERR(0, 15173, __pyx_L1_error)
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_325cudaGraphicsMapResources, 0, __pyx_n_s_cudaGraphicsMapResources, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__501)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15173, __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_cudaGraphicsMapResources, __pyx_t_1) < 0) __PYX_ERR(0, 15173, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":15223
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsUnmapResources(int count, resources : cudaGraphicsResource_t, stream):             # <<<<<<<<<<<<<<
 *     """ Unmap graphics resources.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15223, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_resources, __pyx_n_u_cudaGraphicsResource_t_2) < 0) __PYX_ERR(0, 15223, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_327cudaGraphicsUnmapResources, 0, __pyx_n_s_cudaGraphicsUnmapResources, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__502)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15223, __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_cudaGraphicsUnmapResources, __pyx_t_3) < 0) __PYX_ERR(0, 15223, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":15270
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsResourceGetMappedPointer(resource not None : cudaGraphicsResource_t):             # <<<<<<<<<<<<<<
 *     """ Get an device pointer through which to access a mapped graphics resource.
 * 
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15270, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_resource, __pyx_n_u_cudaGraphicsResource_t_2) < 0) __PYX_ERR(0, 15270, __pyx_L1_error)
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_329cudaGraphicsResourceGetMappedPointer, 0, __pyx_n_s_cudaGraphicsResourceGetMappedPoi, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__503)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15270, __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_cudaGraphicsResourceGetMappedPoi, __pyx_t_1) < 0) __PYX_ERR(0, 15270, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":15302
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsSubResourceGetMappedArray(resource not None : cudaGraphicsResource_t, unsigned int arrayIndex, unsigned int mipLevel):             # <<<<<<<<<<<<<<
 *     """ Get an array through which to access a subresource of a mapped graphics resource.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15302, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_resource, __pyx_n_u_cudaGraphicsResource_t_2) < 0) __PYX_ERR(0, 15302, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_331cudaGraphicsSubResourceGetMappedArray, 0, __pyx_n_s_cudaGraphicsSubResourceGetMapped, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__504)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15302, __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_cudaGraphicsSubResourceGetMapped, __pyx_t_3) < 0) __PYX_ERR(0, 15302, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":15349
 * 
 * @cython.embedsignature(True)
 * def cudaGraphicsResourceGetMappedMipmappedArray(resource not None : cudaGraphicsResource_t):             # <<<<<<<<<<<<<<
 *     """ Get a mipmapped array through which to access a mapped graphics resource.
 * 
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15349, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_resource, __pyx_n_u_cudaGraphicsResource_t_2) < 0) __PYX_ERR(0, 15349, __pyx_L1_error)
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_333cudaGraphicsResourceGetMappedMipmappedArray, 0, __pyx_n_s_cudaGraphicsResourceGetMappedMip, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__505)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15349, __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_cudaGraphicsResourceGetMappedMip, __pyx_t_1) < 0) __PYX_ERR(0, 15349, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":15385
 * 
 * @cython.embedsignature(True)
 * def cudaGetChannelDesc(array not None : cudaArray_const_t):             # <<<<<<<<<<<<<<
 *     """ Get the channel descriptor of an array.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15385, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_array_2, __pyx_n_u_cudaArray_const_t_2) < 0) __PYX_ERR(0, 15385, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_335cudaGetChannelDesc, 0, __pyx_n_s_cudaGetChannelDesc, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__506)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15385, __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_cudaGetChannelDesc, __pyx_t_3) < 0) __PYX_ERR(0, 15385, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":15415
 * 
 * @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, 15415, __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, 15415, __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, 15415, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_337cudaCreateChannelDesc, 0, __pyx_n_s_cudaCreateChannelDesc, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__507)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15415, __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, 15415, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":15460
 * 
 * @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, 15460, __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, 15460, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_pTexDesc, __pyx_n_u_cudaTextureDesc) < 0) __PYX_ERR(0, 15460, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_pResViewDesc, __pyx_n_u_cudaResourceViewDesc) < 0) __PYX_ERR(0, 15460, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_339cudaCreateTextureObject, 0, __pyx_n_s_cudaCreateTextureObject, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__508)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15460, __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, 15460, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":15589
 * 
 * @cython.embedsignature(True)
 * def cudaDestroyTextureObject(texObject not None : cudaTextureObject_t):             # <<<<<<<<<<<<<<
 *     """ Destroys a texture object.
 * 
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15589, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_texObject, __pyx_n_u_cudaTextureObject_t_2) < 0) __PYX_ERR(0, 15589, __pyx_L1_error)
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_341cudaDestroyTextureObject, 0, __pyx_n_s_cudaDestroyTextureObject, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__509)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15589, __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_cudaDestroyTextureObject, __pyx_t_1) < 0) __PYX_ERR(0, 15589, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":15617
 * 
 * @cython.embedsignature(True)
 * def cudaGetTextureObjectResourceDesc(texObject not None : cudaTextureObject_t):             # <<<<<<<<<<<<<<
 *     """ Returns a texture object's resource descriptor.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15617, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_texObject, __pyx_n_u_cudaTextureObject_t_2) < 0) __PYX_ERR(0, 15617, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_343cudaGetTextureObjectResourceDesc, 0, __pyx_n_s_cudaGetTextureObjectResourceDesc, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__510)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15617, __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_cudaGetTextureObjectResourceDesc, __pyx_t_3) < 0) __PYX_ERR(0, 15617, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":15647
 * 
 * @cython.embedsignature(True)
 * def cudaGetTextureObjectTextureDesc(texObject not None : cudaTextureObject_t):             # <<<<<<<<<<<<<<
 *     """ Returns a texture object's texture descriptor.
 * 
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15647, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_texObject, __pyx_n_u_cudaTextureObject_t_2) < 0) __PYX_ERR(0, 15647, __pyx_L1_error)
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_345cudaGetTextureObjectTextureDesc, 0, __pyx_n_s_cudaGetTextureObjectTextureDesc, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__511)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15647, __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_cudaGetTextureObjectTextureDesc, __pyx_t_1) < 0) __PYX_ERR(0, 15647, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":15677
 * 
 * @cython.embedsignature(True)
 * def cudaGetTextureObjectResourceViewDesc(texObject not None : cudaTextureObject_t):             # <<<<<<<<<<<<<<
 *     """ Returns a texture object's resource view descriptor.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15677, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_texObject, __pyx_n_u_cudaTextureObject_t_2) < 0) __PYX_ERR(0, 15677, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_347cudaGetTextureObjectResourceViewDesc, 0, __pyx_n_s_cudaGetTextureObjectResourceView, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__512)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15677, __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_cudaGetTextureObjectResourceView, __pyx_t_3) < 0) __PYX_ERR(0, 15677, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":15707
 * 
 * @cython.embedsignature(True)
 * def cudaCreateSurfaceObject(pResDesc : cudaResourceDesc):             # <<<<<<<<<<<<<<
 *     """ Creates a surface object.
 * 
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15707, __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, 15707, __pyx_L1_error)
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_349cudaCreateSurfaceObject, 0, __pyx_n_s_cudaCreateSurfaceObject, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__513)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15707, __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_cudaCreateSurfaceObject, __pyx_t_1) < 0) __PYX_ERR(0, 15707, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":15747
 * 
 * @cython.embedsignature(True)
 * def cudaDestroySurfaceObject(surfObject not None : cudaSurfaceObject_t):             # <<<<<<<<<<<<<<
 *     """ Destroys a surface object.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15747, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_surfObject, __pyx_n_u_cudaSurfaceObject_t_2) < 0) __PYX_ERR(0, 15747, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_351cudaDestroySurfaceObject, 0, __pyx_n_s_cudaDestroySurfaceObject, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__514)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15747, __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_cudaDestroySurfaceObject, __pyx_t_3) < 0) __PYX_ERR(0, 15747, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":15775
 * 
 * @cython.embedsignature(True)
 * def cudaGetSurfaceObjectResourceDesc(surfObject not None : cudaSurfaceObject_t):             # <<<<<<<<<<<<<<
 *     """ Returns a surface object's resource descriptor Returns the resource descriptor for the surface object specified by `surfObject`.
 * 
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15775, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_surfObject, __pyx_n_u_cudaSurfaceObject_t_2) < 0) __PYX_ERR(0, 15775, __pyx_L1_error)
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_353cudaGetSurfaceObjectResourceDesc, 0, __pyx_n_s_cudaGetSurfaceObjectResourceDesc, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__515)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15775, __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_cudaGetSurfaceObjectResourceDesc, __pyx_t_1) < 0) __PYX_ERR(0, 15775, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":15801
 * 
 * @cython.embedsignature(True)
 * def cudaDriverGetVersion():             # <<<<<<<<<<<<<<
 *     """ Returns the latest version of CUDA supported by the driver.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_355cudaDriverGetVersion, 0, __pyx_n_s_cudaDriverGetVersion, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__516)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15801, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDriverGetVersion, __pyx_t_1) < 0) __PYX_ERR(0, 15801, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":15830
 * 
 * @cython.embedsignature(True)
 * def cudaRuntimeGetVersion():             # <<<<<<<<<<<<<<
 *     """ Returns the CUDA Runtime version.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_357cudaRuntimeGetVersion, 0, __pyx_n_s_cudaRuntimeGetVersion, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__517)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15830, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaRuntimeGetVersion, __pyx_t_1) < 0) __PYX_ERR(0, 15830, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":15858
 * 
 * @cython.embedsignature(True)
 * def cudaGraphCreate(unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Creates a graph.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_359cudaGraphCreate, 0, __pyx_n_s_cudaGraphCreate, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__518)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15858, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphCreate, __pyx_t_1) < 0) __PYX_ERR(0, 15858, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":15897
 * 
 * @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_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15897, __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, 15897, __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, 15897, __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, 15897, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_pNodeParams, __pyx_n_u_cudaKernelNodeParams) < 0) __PYX_ERR(0, 15897, __pyx_L1_error)
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_361cudaGraphAddKernelNode, 0, __pyx_n_s_cudaGraphAddKernelNode, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__519)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15897, __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_cudaGraphAddKernelNode, __pyx_t_4) < 0) __PYX_ERR(0, 15897, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":16015
 * 
 * @cython.embedsignature(True)
 * def cudaGraphKernelNodeGetParams(node):             # <<<<<<<<<<<<<<
 *     """ Returns a kernel node's parameters.
 * 
 */
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_363cudaGraphKernelNodeGetParams, 0, __pyx_n_s_cudaGraphKernelNodeGetParams, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__521)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16015, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphKernelNodeGetParams, __pyx_t_4) < 0) __PYX_ERR(0, 16015, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":16055
 * 
 * @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, 16055, __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, 16055, __pyx_L1_error)
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_365cudaGraphKernelNodeSetParams, 0, __pyx_n_s_cudaGraphKernelNodeSetParams, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__522)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16055, __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_cudaGraphKernelNodeSetParams, __pyx_t_1) < 0) __PYX_ERR(0, 16055, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":16090
 * 
 * @cython.embedsignature(True)
 * def cudaGraphKernelNodeCopyAttributes(hSrc, hDst):             # <<<<<<<<<<<<<<
 *     """ Copies attributes from source node to destination node.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_367cudaGraphKernelNodeCopyAttributes, 0, __pyx_n_s_cudaGraphKernelNodeCopyAttribute, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__523)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16090, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphKernelNodeCopyAttribute, __pyx_t_1) < 0) __PYX_ERR(0, 16090, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":16123
 * 
 * @cython.embedsignature(True)
 * def cudaGraphKernelNodeGetAttribute(hNode, attr not None : cudaKernelNodeAttrID):             # <<<<<<<<<<<<<<
 *     """ Queries node attribute.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16123, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaKernelNodeAttrID); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16123, __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, 16123, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_369cudaGraphKernelNodeGetAttribute, 0, __pyx_n_s_cudaGraphKernelNodeGetAttribute, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__524)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16123, __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_cudaGraphKernelNodeGetAttribute, __pyx_t_4) < 0) __PYX_ERR(0, 16123, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":16157
 * 
 * @cython.embedsignature(True)
 * def cudaGraphKernelNodeSetAttribute(hNode, attr not None : cudaKernelNodeAttrID, value : cudaKernelNodeAttrValue):             # <<<<<<<<<<<<<<
 *     """ Sets node attribute.
 * 
 */
  __pyx_t_4 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16157, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_cudaKernelNodeAttrID); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16157, __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, 16157, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_value, __pyx_n_u_cudaKernelNodeAttrValue) < 0) __PYX_ERR(0, 16157, __pyx_L1_error)
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_371cudaGraphKernelNodeSetAttribute, 0, __pyx_n_s_cudaGraphKernelNodeSetAttribute, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__525)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16157, __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_cudaGraphKernelNodeSetAttribute, __pyx_t_1) < 0) __PYX_ERR(0, 16157, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":16193
 * 
 * @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_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16193, __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, 16193, __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, 16193, __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_pDependencies, __pyx_t_3) < 0) __PYX_ERR(0, 16193, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_pCopyParams, __pyx_n_u_cudaMemcpy3DParms) < 0) __PYX_ERR(0, 16193, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_373cudaGraphAddMemcpyNode, 0, __pyx_n_s_cudaGraphAddMemcpyNode, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__526)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16193, __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_cudaGraphAddMemcpyNode, __pyx_t_3) < 0) __PYX_ERR(0, 16193, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":16268
 * 
 * @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_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16268, __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, 16268, __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, 16268, __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, 16268, __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, 16268, __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, 16268, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_375cudaGraphAddMemcpyNode1D, 0, __pyx_n_s_cudaGraphAddMemcpyNode1D, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__527)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16268, __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_cudaGraphAddMemcpyNode1D, __pyx_t_4) < 0) __PYX_ERR(0, 16268, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":16359
 * 
 * @cython.embedsignature(True)
 * def cudaGraphMemcpyNodeGetParams(node):             # <<<<<<<<<<<<<<
 *     """ Returns a memcpy node's parameters.
 * 
 */
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_377cudaGraphMemcpyNodeGetParams, 0, __pyx_n_s_cudaGraphMemcpyNodeGetParams, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__528)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16359, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphMemcpyNodeGetParams, __pyx_t_4) < 0) __PYX_ERR(0, 16359, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":16390
 * 
 * @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, 16390, __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, 16390, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_379cudaGraphMemcpyNodeSetParams, 0, __pyx_n_s_cudaGraphMemcpyNodeSetParams, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__529)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16390, __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_cudaGraphMemcpyNodeSetParams, __pyx_t_3) < 0) __PYX_ERR(0, 16390, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":16426
 * 
 * @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_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16426, __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, 16426, __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, 16426, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_381cudaGraphMemcpyNodeSetParams1D, 0, __pyx_n_s_cudaGraphMemcpyNodeSetParams1D, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__530)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16426, __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_cudaGraphMemcpyNodeSetParams1D, __pyx_t_4) < 0) __PYX_ERR(0, 16426, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":16482
 * 
 * @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, 16482, __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, 16482, __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, 16482, __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, 16482, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_pMemsetParams, __pyx_n_u_cudaMemsetParams) < 0) __PYX_ERR(0, 16482, __pyx_L1_error)
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_383cudaGraphAddMemsetNode, 0, __pyx_n_s_cudaGraphAddMemsetNode, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__531)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16482, __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_cudaGraphAddMemsetNode, __pyx_t_1) < 0) __PYX_ERR(0, 16482, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":16550
 * 
 * @cython.embedsignature(True)
 * def cudaGraphMemsetNodeGetParams(node):             # <<<<<<<<<<<<<<
 *     """ Returns a memset node's parameters.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_385cudaGraphMemsetNodeGetParams, 0, __pyx_n_s_cudaGraphMemsetNodeGetParams, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__532)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16550, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphMemsetNodeGetParams, __pyx_t_1) < 0) __PYX_ERR(0, 16550, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":16581
 * 
 * @cython.embedsignature(True)
 * def cudaGraphMemsetNodeSetParams(node, pNodeParams : cudaMemsetParams):             # <<<<<<<<<<<<<<
 *     """ Sets a memset node's parameters.
 * 
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16581, __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, 16581, __pyx_L1_error)
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_387cudaGraphMemsetNodeSetParams, 0, __pyx_n_s_cudaGraphMemsetNodeSetParams, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__533)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16581, __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_cudaGraphMemsetNodeSetParams, __pyx_t_4) < 0) __PYX_ERR(0, 16581, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":16614
 * 
 * @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, 16614, __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, 16614, __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, 16614, __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, 16614, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_pNodeParams, __pyx_n_u_cudaHostNodeParams) < 0) __PYX_ERR(0, 16614, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_389cudaGraphAddHostNode, 0, __pyx_n_s_cudaGraphAddHostNode, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__534)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16614, __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_cudaGraphAddHostNode, __pyx_t_3) < 0) __PYX_ERR(0, 16614, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":16683
 * 
 * @cython.embedsignature(True)
 * def cudaGraphHostNodeGetParams(node):             # <<<<<<<<<<<<<<
 *     """ Returns a host node's parameters.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_391cudaGraphHostNodeGetParams, 0, __pyx_n_s_cudaGraphHostNodeGetParams, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__535)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16683, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphHostNodeGetParams, __pyx_t_3) < 0) __PYX_ERR(0, 16683, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":16714
 * 
 * @cython.embedsignature(True)
 * def cudaGraphHostNodeSetParams(node, pNodeParams : cudaHostNodeParams):             # <<<<<<<<<<<<<<
 *     """ Sets a host node's parameters.
 * 
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16714, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_pNodeParams, __pyx_n_u_cudaHostNodeParams) < 0) __PYX_ERR(0, 16714, __pyx_L1_error)
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_393cudaGraphHostNodeSetParams, 0, __pyx_n_s_cudaGraphHostNodeSetParams, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__536)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16714, __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_cudaGraphHostNodeSetParams, __pyx_t_4) < 0) __PYX_ERR(0, 16714, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":16747
 * 
 * @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, 16747, __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, 16747, __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, 16747, __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, 16747, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_395cudaGraphAddChildGraphNode, 0, __pyx_n_s_cudaGraphAddChildGraphNode, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__537)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16747, __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_cudaGraphAddChildGraphNode, __pyx_t_1) < 0) __PYX_ERR(0, 16747, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":16818
 * 
 * @cython.embedsignature(True)
 * def cudaGraphChildGraphNodeGetGraph(node):             # <<<<<<<<<<<<<<
 *     """ Gets a handle to the embedded graph of a child graph node.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_397cudaGraphChildGraphNodeGetGraph, 0, __pyx_n_s_cudaGraphChildGraphNodeGetGraph, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__538)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16818, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphChildGraphNodeGetGraph, __pyx_t_1) < 0) __PYX_ERR(0, 16818, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":16853
 * 
 * @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_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16853, __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, 16853, __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, 16853, __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_pDependencies, __pyx_t_3) < 0) __PYX_ERR(0, 16853, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_399cudaGraphAddEmptyNode, 0, __pyx_n_s_cudaGraphAddEmptyNode, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__539)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16853, __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_cudaGraphAddEmptyNode, __pyx_t_3) < 0) __PYX_ERR(0, 16853, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":16918
 * 
 * @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_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16918, __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, 16918, __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, 16918, __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, 16918, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_401cudaGraphAddEventRecordNode, 0, __pyx_n_s_cudaGraphAddEventRecordNode, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__540)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16918, __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_cudaGraphAddEventRecordNode, __pyx_t_4) < 0) __PYX_ERR(0, 16918, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":16989
 * 
 * @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_403cudaGraphEventRecordNodeGetEvent, 0, __pyx_n_s_cudaGraphEventRecordNodeGetEvent, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__541)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16989, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphEventRecordNodeGetEvent, __pyx_t_4) < 0) __PYX_ERR(0, 16989, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":17022
 * 
 * @cython.embedsignature(True)
 * def cudaGraphEventRecordNodeSetEvent(node, event):             # <<<<<<<<<<<<<<
 *     """ Sets an event record node's event.
 * 
 */
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_405cudaGraphEventRecordNodeSetEvent, 0, __pyx_n_s_cudaGraphEventRecordNodeSetEvent, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__542)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17022, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphEventRecordNodeSetEvent, __pyx_t_4) < 0) __PYX_ERR(0, 17022, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":17058
 * 
 * @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, 17058, __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, 17058, __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, 17058, __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, 17058, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_407cudaGraphAddEventWaitNode, 0, __pyx_n_s_cudaGraphAddEventWaitNode, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__543)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17058, __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_cudaGraphAddEventWaitNode, __pyx_t_1) < 0) __PYX_ERR(0, 17058, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":17132
 * 
 * @cython.embedsignature(True)
 * def cudaGraphEventWaitNodeGetEvent(node):             # <<<<<<<<<<<<<<
 *     """ Returns the event associated with an event wait node.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_409cudaGraphEventWaitNodeGetEvent, 0, __pyx_n_s_cudaGraphEventWaitNodeGetEvent, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__544)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17132, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphEventWaitNodeGetEvent, __pyx_t_1) < 0) __PYX_ERR(0, 17132, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":17165
 * 
 * @cython.embedsignature(True)
 * def cudaGraphEventWaitNodeSetEvent(node, event):             # <<<<<<<<<<<<<<
 *     """ Sets an event wait node's event.
 * 
 */
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_411cudaGraphEventWaitNodeSetEvent, 0, __pyx_n_s_cudaGraphEventWaitNodeSetEvent, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__545)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17165, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphEventWaitNodeSetEvent, __pyx_t_1) < 0) __PYX_ERR(0, 17165, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":17201
 * 
 * @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_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17201, __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, 17201, __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, 17201, __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_pDependencies, __pyx_t_3) < 0) __PYX_ERR(0, 17201, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_nodeParams, __pyx_n_u_cudaExternalSemaphoreSignalNodeP) < 0) __PYX_ERR(0, 17201, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_413cudaGraphAddExternalSemaphoresSignalNode, 0, __pyx_n_s_cudaGraphAddExternalSemaphoresSi_2, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__546)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17201, __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_cudaGraphAddExternalSemaphoresSi_2, __pyx_t_3) < 0) __PYX_ERR(0, 17201, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":17276
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExternalSemaphoresSignalNodeGetParams(hNode):             # <<<<<<<<<<<<<<
 *     """ Returns an external semaphore signal node's parameters.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_415cudaGraphExternalSemaphoresSignalNodeGetParams, 0, __pyx_n_s_cudaGraphExternalSemaphoresSigna, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__547)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17276, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphExternalSemaphoresSigna, __pyx_t_3) < 0) __PYX_ERR(0, 17276, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":17315
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExternalSemaphoresSignalNodeSetParams(hNode, nodeParams : cudaExternalSemaphoreSignalNodeParams):             # <<<<<<<<<<<<<<
 *     """ Sets an external semaphore signal node's parameters.
 * 
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17315, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_nodeParams, __pyx_n_u_cudaExternalSemaphoreSignalNodeP) < 0) __PYX_ERR(0, 17315, __pyx_L1_error)
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_417cudaGraphExternalSemaphoresSignalNodeSetParams, 0, __pyx_n_s_cudaGraphExternalSemaphoresSigna_2, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__548)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17315, __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_cudaGraphExternalSemaphoresSigna_2, __pyx_t_1) < 0) __PYX_ERR(0, 17315, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":17351
 * 
 * @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_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17351, __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, 17351, __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, 17351, __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, 17351, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_nodeParams, __pyx_n_u_cudaExternalSemaphoreWaitNodePar) < 0) __PYX_ERR(0, 17351, __pyx_L1_error)
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_419cudaGraphAddExternalSemaphoresWaitNode, 0, __pyx_n_s_cudaGraphAddExternalSemaphoresWa_2, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__549)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17351, __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_cudaGraphAddExternalSemaphoresWa_2, __pyx_t_4) < 0) __PYX_ERR(0, 17351, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":17426
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExternalSemaphoresWaitNodeGetParams(hNode):             # <<<<<<<<<<<<<<
 *     """ Returns an external semaphore wait node's parameters.
 * 
 */
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_421cudaGraphExternalSemaphoresWaitNodeGetParams, 0, __pyx_n_s_cudaGraphExternalSemaphoresWaitN, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__550)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17426, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphExternalSemaphoresWaitN, __pyx_t_4) < 0) __PYX_ERR(0, 17426, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":17464
 * 
 * @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, 17464, __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, 17464, __pyx_L1_error)
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_423cudaGraphExternalSemaphoresWaitNodeSetParams, 0, __pyx_n_s_cudaGraphExternalSemaphoresWaitN_2, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__551)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17464, __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_cudaGraphExternalSemaphoresWaitN_2, __pyx_t_1) < 0) __PYX_ERR(0, 17464, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cudart.pyx":17499
 * 
 * @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_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17499, __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, 17499, __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, 17499, __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_pDependencies, __pyx_t_3) < 0) __PYX_ERR(0, 17499, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_nodeParams, __pyx_n_u_cudaMemAllocNodeParams) < 0) __PYX_ERR(0, 17499, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_425cudaGraphAddMemAllocNode, 0, __pyx_n_s_cudaGraphAddMemAllocNode, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__552)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17499, __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_cudaGraphAddMemAllocNode, __pyx_t_3) < 0) __PYX_ERR(0, 17499, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":17605
 * 
 * @cython.embedsignature(True)
 * def cudaGraphMemAllocNodeGetParams(node):             # <<<<<<<<<<<<<<
 *     """ Returns a memory alloc node's parameters.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_427cudaGraphMemAllocNodeGetParams, 0, __pyx_n_s_cudaGraphMemAllocNodeGetParams, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__553)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17605, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphMemAllocNodeGetParams, __pyx_t_3) < 0) __PYX_ERR(0, 17605, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":17638
 * 
 * @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_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17638, __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, 17638, __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, 17638, __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, 17638, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_429cudaGraphAddMemFreeNode, 0, __pyx_n_s_cudaGraphAddMemFreeNode, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__554)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17638, __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_cudaGraphAddMemFreeNode, __pyx_t_4) < 0) __PYX_ERR(0, 17638, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":17722
 * 
 * @cython.embedsignature(True)
 * def cudaGraphMemFreeNodeGetParams(node):             # <<<<<<<<<<<<<<
 *     """ Returns a memory free node's parameters.
 * 
 */
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_431cudaGraphMemFreeNodeGetParams, 0, __pyx_n_s_cudaGraphMemFreeNodeGetParams, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__555)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17722, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphMemFreeNodeGetParams, __pyx_t_4) < 0) __PYX_ERR(0, 17722, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":17753
 * 
 * @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_433cudaDeviceGraphMemTrim, 0, __pyx_n_s_cudaDeviceGraphMemTrim, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__556)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17753, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaDeviceGraphMemTrim, __pyx_t_4) < 0) __PYX_ERR(0, 17753, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":17786
 * 
 * @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, 17786, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cudaGraphMemAttributeType); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17786, __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, 17786, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_435cudaDeviceGetGraphMemAttribute, 0, __pyx_n_s_cudaDeviceGetGraphMemAttribute, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__557)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17786, __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_cudaDeviceGetGraphMemAttribute, __pyx_t_3) < 0) __PYX_ERR(0, 17786, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":17831
 * 
 * @cython.embedsignature(True)
 * def cudaDeviceSetGraphMemAttribute(int device, attr not None : cudaGraphMemAttributeType, value):             # <<<<<<<<<<<<<<
 *     """ Set asynchronous allocation attributes related to graphs.
 * 
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17831, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cudaGraphMemAttributeType); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17831, __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, 17831, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_437cudaDeviceSetGraphMemAttribute, 0, __pyx_n_s_cudaDeviceSetGraphMemAttribute, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__558)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17831, __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_cudaDeviceSetGraphMemAttribute, __pyx_t_4) < 0) __PYX_ERR(0, 17831, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":17875
 * 
 * @cython.embedsignature(True)
 * def cudaGraphClone(originalGraph):             # <<<<<<<<<<<<<<
 *     """ Clones a graph.
 * 
 */
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_439cudaGraphClone, 0, __pyx_n_s_cudaGraphClone, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__559)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17875, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphClone, __pyx_t_4) < 0) __PYX_ERR(0, 17875, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":17912
 * 
 * @cython.embedsignature(True)
 * def cudaGraphNodeFindInClone(originalNode, clonedGraph):             # <<<<<<<<<<<<<<
 *     """ Finds a cloned version of a node.
 * 
 */
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_441cudaGraphNodeFindInClone, 0, __pyx_n_s_cudaGraphNodeFindInClone, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__560)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17912, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphNodeFindInClone, __pyx_t_4) < 0) __PYX_ERR(0, 17912, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":17952
 * 
 * @cython.embedsignature(True)
 * def cudaGraphNodeGetType(node):             # <<<<<<<<<<<<<<
 *     """ Returns a node's type.
 * 
 */
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_443cudaGraphNodeGetType, 0, __pyx_n_s_cudaGraphNodeGetType, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__561)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17952, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphNodeGetType, __pyx_t_4) < 0) __PYX_ERR(0, 17952, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":17991
 * 
 * @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, 17991, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17991, __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_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_445cudaGraphGetNodes, 0, __pyx_n_s_cudaGraphGetNodes, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__562)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17991, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphGetNodes, __pyx_t_4) < 0) __PYX_ERR(0, 17991, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":18042
 * 
 * @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, 18042, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18042, __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_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_447cudaGraphGetRootNodes, 0, __pyx_n_s_cudaGraphGetRootNodes, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__563)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18042, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphGetRootNodes, __pyx_t_4) < 0) __PYX_ERR(0, 18042, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":18093
 * 
 * @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, 18093, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18093, __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_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_449cudaGraphGetEdges, 0, __pyx_n_s_cudaGraphGetEdges, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__564)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18093, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphGetEdges, __pyx_t_4) < 0) __PYX_ERR(0, 18093, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":18158
 * 
 * @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, 18158, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18158, __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_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_451cudaGraphNodeGetDependencies, 0, __pyx_n_s_cudaGraphNodeGetDependencies, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__565)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18158, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphNodeGetDependencies, __pyx_t_4) < 0) __PYX_ERR(0, 18158, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":18210
 * 
 * @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, 18210, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18210, __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_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_453cudaGraphNodeGetDependentNodes, 0, __pyx_n_s_cudaGraphNodeGetDependentNodes, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__566)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18210, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphNodeGetDependentNodes, __pyx_t_4) < 0) __PYX_ERR(0, 18210, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":18262
 * 
 * @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, 18262, __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, 18262, __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, 18262, __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_from, __pyx_t_1) < 0) __PYX_ERR(0, 18262, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_List); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18262, __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, 18262, __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_to, __pyx_t_3) < 0) __PYX_ERR(0, 18262, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_455cudaGraphAddDependencies, 0, __pyx_n_s_cudaGraphAddDependencies, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__567)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18262, __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_cudaGraphAddDependencies, __pyx_t_3) < 0) __PYX_ERR(0, 18262, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":18334
 * 
 * @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_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18334, __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, 18334, __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, 18334, __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_from, __pyx_t_1) < 0) __PYX_ERR(0, 18334, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_List); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18334, __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, 18334, __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_to, __pyx_t_4) < 0) __PYX_ERR(0, 18334, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_457cudaGraphRemoveDependencies, 0, __pyx_n_s_cudaGraphRemoveDependencies, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__570)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18334, __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_cudaGraphRemoveDependencies, __pyx_t_4) < 0) __PYX_ERR(0, 18334, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":18407
 * 
 * @cython.embedsignature(True)
 * def cudaGraphDestroyNode(node):             # <<<<<<<<<<<<<<
 *     """ Remove a node from the graph.
 * 
 */
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_459cudaGraphDestroyNode, 0, __pyx_n_s_cudaGraphDestroyNode, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__571)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18407, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphDestroyNode, __pyx_t_4) < 0) __PYX_ERR(0, 18407, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":18444
 * 
 * @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_461cudaGraphInstantiate, 0, __pyx_n_s_cudaGraphInstantiate, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__572)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18444, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphInstantiate, __pyx_t_4) < 0) __PYX_ERR(0, 18444, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":18494
 * 
 * @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_463cudaGraphInstantiateWithFlags, 0, __pyx_n_s_cudaGraphInstantiateWithFlags, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__573)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18494, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphInstantiateWithFlags, __pyx_t_4) < 0) __PYX_ERR(0, 18494, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":18545
 * 
 * @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, 18545, __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, 18545, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_465cudaGraphExecKernelNodeSetParams, 0, __pyx_n_s_cudaGraphExecKernelNodeSetParams, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__574)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18545, __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_cudaGraphExecKernelNodeSetParams, __pyx_t_3) < 0) __PYX_ERR(0, 18545, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":18602
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecMemcpyNodeSetParams(hGraphExec, node, pNodeParams : cudaMemcpy3DParms):             # <<<<<<<<<<<<<<
 *     """ Sets the parameters for a memcpy node in the given graphExec.
 * 
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18602, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_pNodeParams, __pyx_n_u_cudaMemcpy3DParms) < 0) __PYX_ERR(0, 18602, __pyx_L1_error)
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_467cudaGraphExecMemcpyNodeSetParams, 0, __pyx_n_s_cudaGraphExecMemcpyNodeSetParams, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__575)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18602, __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_cudaGraphExecMemcpyNodeSetParams, __pyx_t_4) < 0) __PYX_ERR(0, 18602, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":18667
 * 
 * @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, 18667, __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, 18667, __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, 18667, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_469cudaGraphExecMemcpyNodeSetParams1D, 0, __pyx_n_s_cudaGraphExecMemcpyNodeSetParams_2, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__576)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18667, __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_cudaGraphExecMemcpyNodeSetParams_2, __pyx_t_3) < 0) __PYX_ERR(0, 18667, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":18741
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecMemsetNodeSetParams(hGraphExec, node, pNodeParams : cudaMemsetParams):             # <<<<<<<<<<<<<<
 *     """ Sets the parameters for a memset node in the given graphExec.
 * 
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18741, __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, 18741, __pyx_L1_error)
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_471cudaGraphExecMemsetNodeSetParams, 0, __pyx_n_s_cudaGraphExecMemsetNodeSetParams, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__577)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18741, __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_cudaGraphExecMemsetNodeSetParams, __pyx_t_4) < 0) __PYX_ERR(0, 18741, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":18802
 * 
 * @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, 18802, __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, 18802, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_473cudaGraphExecHostNodeSetParams, 0, __pyx_n_s_cudaGraphExecHostNodeSetParams, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__578)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18802, __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_cudaGraphExecHostNodeSetParams, __pyx_t_3) < 0) __PYX_ERR(0, 18802, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":18855
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecChildGraphNodeSetParams(hGraphExec, node, childGraph):             # <<<<<<<<<<<<<<
 *     """ Updates node parameters in the child graph node in the given graphExec.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_475cudaGraphExecChildGraphNodeSetParams, 0, __pyx_n_s_cudaGraphExecChildGraphNodeSetPa, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__579)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18855, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphExecChildGraphNodeSetPa, __pyx_t_3) < 0) __PYX_ERR(0, 18855, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":18916
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecEventRecordNodeSetEvent(hGraphExec, hNode, event):             # <<<<<<<<<<<<<<
 *     """ Sets the event for an event record node in the given graphExec.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_477cudaGraphExecEventRecordNodeSetEvent, 0, __pyx_n_s_cudaGraphExecEventRecordNodeSetE, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__580)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18916, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphExecEventRecordNodeSetE, __pyx_t_3) < 0) __PYX_ERR(0, 18916, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":18974
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecEventWaitNodeSetEvent(hGraphExec, hNode, event):             # <<<<<<<<<<<<<<
 *     """ Sets the event for an event wait node in the given graphExec.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_479cudaGraphExecEventWaitNodeSetEvent, 0, __pyx_n_s_cudaGraphExecEventWaitNodeSetEve, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__581)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18974, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphExecEventWaitNodeSetEve, __pyx_t_3) < 0) __PYX_ERR(0, 18974, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":19032
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecExternalSemaphoresSignalNodeSetParams(hGraphExec, hNode, nodeParams : cudaExternalSemaphoreSignalNodeParams):             # <<<<<<<<<<<<<<
 *     """ Sets the parameters for an external semaphore signal node in the given graphExec.
 * 
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19032, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_nodeParams, __pyx_n_u_cudaExternalSemaphoreSignalNodeP) < 0) __PYX_ERR(0, 19032, __pyx_L1_error)
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_481cudaGraphExecExternalSemaphoresSignalNodeSetParams, 0, __pyx_n_s_cudaGraphExecExternalSemaphoresS, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__582)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19032, __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_cudaGraphExecExternalSemaphoresS, __pyx_t_4) < 0) __PYX_ERR(0, 19032, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":19092
 * 
 * @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, 19092, __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, 19092, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_483cudaGraphExecExternalSemaphoresWaitNodeSetParams, 0, __pyx_n_s_cudaGraphExecExternalSemaphoresW, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__583)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19092, __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_cudaGraphExecExternalSemaphoresW, __pyx_t_3) < 0) __PYX_ERR(0, 19092, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":19152
 * 
 * @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_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_485cudaGraphExecUpdate, 0, __pyx_n_s_cudaGraphExecUpdate, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__584)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19152, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphExecUpdate, __pyx_t_3) < 0) __PYX_ERR(0, 19152, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":19247
 * 
 * @cython.embedsignature(True)
 * def cudaGraphUpload(graphExec, stream):             # <<<<<<<<<<<<<<
 *     """ Uploads an executable graph in a stream.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_487cudaGraphUpload, 0, __pyx_n_s_cudaGraphUpload, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__585)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19247, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphUpload, __pyx_t_3) < 0) __PYX_ERR(0, 19247, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":19285
 * 
 * @cython.embedsignature(True)
 * def cudaGraphLaunch(graphExec, stream):             # <<<<<<<<<<<<<<
 *     """ Launches an executable graph in a stream.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_489cudaGraphLaunch, 0, __pyx_n_s_cudaGraphLaunch, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__586)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19285, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphLaunch, __pyx_t_3) < 0) __PYX_ERR(0, 19285, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":19328
 * 
 * @cython.embedsignature(True)
 * def cudaGraphExecDestroy(graphExec):             # <<<<<<<<<<<<<<
 *     """ Destroys an executable graph.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_491cudaGraphExecDestroy, 0, __pyx_n_s_cudaGraphExecDestroy, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__587)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19328, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphExecDestroy, __pyx_t_3) < 0) __PYX_ERR(0, 19328, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":19358
 * 
 * @cython.embedsignature(True)
 * def cudaGraphDestroy(graph):             # <<<<<<<<<<<<<<
 *     """ Destroys a graph.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_493cudaGraphDestroy, 0, __pyx_n_s_cudaGraphDestroy, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__588)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19358, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphDestroy, __pyx_t_3) < 0) __PYX_ERR(0, 19358, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":19386
 * 
 * @cython.embedsignature(True)
 * def cudaGraphDebugDotPrint(graph, char* path, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Write a DOT file describing graph structure.
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_495cudaGraphDebugDotPrint, 0, __pyx_n_s_cudaGraphDebugDotPrint, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__589)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19386, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphDebugDotPrint, __pyx_t_3) < 0) __PYX_ERR(0, 19386, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":19420
 * 
 * @cython.embedsignature(True)
 * def cudaUserObjectCreate(ptr, destroy not None : cudaHostFn_t, unsigned int initialRefcount, unsigned int flags):             # <<<<<<<<<<<<<<
 *     """ Create a user object.
 * 
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19420, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_destroy, __pyx_n_u_cudaHostFn_t_2) < 0) __PYX_ERR(0, 19420, __pyx_L1_error)
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_497cudaUserObjectCreate, 0, __pyx_n_s_cudaUserObjectCreate, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__590)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19420, __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_cudaUserObjectCreate, __pyx_t_4) < 0) __PYX_ERR(0, 19420, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":19473
 * 
 * @cython.embedsignature(True)
 * def cudaUserObjectRetain(object, unsigned int count):             # <<<<<<<<<<<<<<
 *     """ Retain a reference to a user object.
 * 
 */
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_499cudaUserObjectRetain, 0, __pyx_n_s_cudaUserObjectRetain, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__591)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19473, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaUserObjectRetain, __pyx_t_4) < 0) __PYX_ERR(0, 19473, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":19512
 * 
 * @cython.embedsignature(True)
 * def cudaUserObjectRelease(object, unsigned int count):             # <<<<<<<<<<<<<<
 *     """ Release a reference to a user object.
 * 
 */
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_501cudaUserObjectRelease, 0, __pyx_n_s_cudaUserObjectRelease, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__592)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19512, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaUserObjectRelease, __pyx_t_4) < 0) __PYX_ERR(0, 19512, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":19554
 * 
 * @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_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_503cudaGraphRetainUserObject, 0, __pyx_n_s_cudaGraphRetainUserObject, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__593)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19554, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphRetainUserObject, __pyx_t_4) < 0) __PYX_ERR(0, 19554, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":19601
 * 
 * @cython.embedsignature(True)
 * def cudaGraphReleaseUserObject(graph, object, unsigned int count):             # <<<<<<<<<<<<<<
 *     """ Release a user object reference from a graph.
 * 
 */
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_505cudaGraphReleaseUserObject, 0, __pyx_n_s_cudaGraphReleaseUserObject, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__594)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19601, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGraphReleaseUserObject, __pyx_t_4) < 0) __PYX_ERR(0, 19601, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":19643
 * 
 * @cython.embedsignature(True)
 * def cudaGetDriverEntryPoint(char* symbol, unsigned long long flags):             # <<<<<<<<<<<<<<
 *     """ Returns the requested driver API function pointer.
 * 
 */
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_507cudaGetDriverEntryPoint, 0, __pyx_n_s_cudaGetDriverEntryPoint, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__595)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19643, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cudaGetDriverEntryPoint, __pyx_t_4) < 0) __PYX_ERR(0, 19643, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cudart.pyx":19709
 * 
 * @cython.embedsignature(True)
 * def cudaGetExportTable(pExportTableId : cudaUUID_t):             # <<<<<<<<<<<<<<
 *     """"""
 *     cdef void_ptr ppExportTable = 0
 */
  __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 19709, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_pExportTableId, __pyx_n_u_cudaUUID_t) < 0) __PYX_ERR(0, 19709, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_509cudaGetExportTable, 0, __pyx_n_s_cudaGetExportTable, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__596)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19709, __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_cudaGetExportTable, __pyx_t_3) < 0) __PYX_ERR(0, 19709, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":19717
 * 
 * @cython.embedsignature(True)
 * def make_cudaPitchedPtr(d, size_t p, size_t xsz, size_t ysz):             # <<<<<<<<<<<<<<
 *     """"""
 *     cd = utils.HelperInputVoidPtr(d)
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_511make_cudaPitchedPtr, 0, __pyx_n_s_make_cudaPitchedPtr, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__597)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19717, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_cudaPitchedPtr, __pyx_t_3) < 0) __PYX_ERR(0, 19717, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":19728
 * 
 * @cython.embedsignature(True)
 * def make_cudaPos(size_t x, size_t y, size_t z):             # <<<<<<<<<<<<<<
 *     """"""
 *     cdef ccudart.cudaPos err
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_513make_cudaPos, 0, __pyx_n_s_make_cudaPos, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__598)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19728, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_cudaPos, __pyx_t_3) < 0) __PYX_ERR(0, 19728, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":19737
 * 
 * @cython.embedsignature(True)
 * def make_cudaExtent(size_t w, size_t h, size_t d):             # <<<<<<<<<<<<<<
 *     """"""
 *     cdef ccudart.cudaExtent err
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_515make_cudaExtent, 0, __pyx_n_s_make_cudaExtent, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__599)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19737, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_make_cudaExtent, __pyx_t_3) < 0) __PYX_ERR(0, 19737, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":19746
 * 
 * @cython.embedsignature(True)
 * def sizeof(objType):             # <<<<<<<<<<<<<<
 *     """ Returns the size of provided CUDA Python structure in bytes
 * 
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_6cudart_517sizeof, 0, __pyx_n_s_sizeof, NULL, __pyx_n_s_cuda_cudart, __pyx_d, ((PyObject *)__pyx_codeobj__600)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19746, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_sizeof, __pyx_t_3) < 0) __PYX_ERR(0, 19746, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cudart.pyx":1
 * # Copyright 2021 NVIDIA Corporation.  All rights reserved.             # <<<<<<<<<<<<<<
 * #
 * # Please refer to the NVIDIA end user license agreement (EULA) associated
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_kp_u_cudaSetDevice_line_7874, __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_3) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "vector.from_py":45
 * 
 * @cname("__pyx_convert_vector_from_py_enum____pyx_t_4cuda_7ccudart_cudaMemRangeAttribute")
 * cdef vector[X] __pyx_convert_vector_from_py_enum____pyx_t_4cuda_7ccudart_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

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

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

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

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

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

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

/* 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_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_reduce_ex = NULL;
    PyObject *reduce = NULL;
    PyObject *reduce_ex = NULL;
    PyObject *reduce_cython = NULL;
    PyObject *setstate = NULL;
    PyObject *setstate_cython = NULL;
#if CYTHON_USE_PYTYPE_LOOKUP
    if (_PyType_Lookup((PyTypeObject*)type_obj, __pyx_n_s_getstate)) goto __PYX_GOOD;
#else
    if (PyObject_HasAttr(type_obj, __pyx_n_s_getstate)) goto __PYX_GOOD;
#endif
#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);
#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);
            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
    0,
#endif
#if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
    0,
#endif
#if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
    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"
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;
    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) {
        py_code = __Pyx_CreateCodeObjectForTraceback(
            funcname, c_line, py_line, filename);
        if (!py_code) goto bad;
        __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____pyx_t_4cuda_7ccudart_cudaRoundMode(enum __pyx_t_4cuda_7ccudart_cudaRoundMode value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaRoundMode neg_one = (enum __pyx_t_4cuda_7ccudart_cudaRoundMode) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaRoundMode) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaRoundMode) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaRoundMode) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaRoundMode) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaRoundMode),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaError(enum __pyx_t_4cuda_7ccudart_cudaError value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaError neg_one = (enum __pyx_t_4cuda_7ccudart_cudaError) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaError) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaError) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaError) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaError) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaError),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaChannelFormatKind(enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind neg_one = (enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaChannelFormatKind) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaChannelFormatKind),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemoryType(enum __pyx_t_4cuda_7ccudart_cudaMemoryType value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaMemoryType neg_one = (enum __pyx_t_4cuda_7ccudart_cudaMemoryType) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemoryType) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemoryType) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemoryType) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemoryType) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemoryType),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemcpyKind(enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind neg_one = (enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemcpyKind) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemcpyKind),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaAccessProperty(enum __pyx_t_4cuda_7ccudart_cudaAccessProperty value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaAccessProperty neg_one = (enum __pyx_t_4cuda_7ccudart_cudaAccessProperty) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaAccessProperty) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaAccessProperty) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaAccessProperty) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaAccessProperty) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaAccessProperty),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaStreamCaptureStatus(enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureStatus value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureStatus neg_one = (enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureStatus) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaStreamCaptureStatus) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureStatus) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureStatus) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureStatus) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaStreamCaptureStatus),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaStreamCaptureMode(enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode neg_one = (enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy(enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy neg_one = (enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy),
                                     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_cudaStreamUpdateCaptureDependenciesFlags(enum __pyx_t_4cuda_7ccudart_cudaStreamUpdateCaptureDependenciesFlags value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaStreamUpdateCaptureDependenciesFlags neg_one = (enum __pyx_t_4cuda_7ccudart_cudaStreamUpdateCaptureDependenciesFlags) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaStreamUpdateCaptureDependenciesFlags) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaStreamUpdateCaptureDependenciesFlags) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaStreamUpdateCaptureDependenciesFlags) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaStreamUpdateCaptureDependenciesFlags) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaStreamUpdateCaptureDependenciesFlags),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaUserObjectFlags(enum __pyx_t_4cuda_7ccudart_cudaUserObjectFlags value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaUserObjectFlags neg_one = (enum __pyx_t_4cuda_7ccudart_cudaUserObjectFlags) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaUserObjectFlags) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaUserObjectFlags) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaUserObjectFlags) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaUserObjectFlags) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaUserObjectFlags),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaUserObjectRetainFlags(enum __pyx_t_4cuda_7ccudart_cudaUserObjectRetainFlags value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaUserObjectRetainFlags neg_one = (enum __pyx_t_4cuda_7ccudart_cudaUserObjectRetainFlags) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaUserObjectRetainFlags) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaUserObjectRetainFlags) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaUserObjectRetainFlags) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaUserObjectRetainFlags) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaUserObjectRetainFlags),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphicsRegisterFlags(enum __pyx_t_4cuda_7ccudart_cudaGraphicsRegisterFlags value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaGraphicsRegisterFlags neg_one = (enum __pyx_t_4cuda_7ccudart_cudaGraphicsRegisterFlags) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaGraphicsRegisterFlags) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaGraphicsRegisterFlags) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaGraphicsRegisterFlags) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaGraphicsRegisterFlags) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaGraphicsRegisterFlags),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphicsMapFlags(enum __pyx_t_4cuda_7ccudart_cudaGraphicsMapFlags value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaGraphicsMapFlags neg_one = (enum __pyx_t_4cuda_7ccudart_cudaGraphicsMapFlags) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaGraphicsMapFlags) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaGraphicsMapFlags) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaGraphicsMapFlags) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaGraphicsMapFlags) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaGraphicsMapFlags),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphicsCubeFace(enum __pyx_t_4cuda_7ccudart_cudaGraphicsCubeFace value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaGraphicsCubeFace neg_one = (enum __pyx_t_4cuda_7ccudart_cudaGraphicsCubeFace) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaGraphicsCubeFace) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaGraphicsCubeFace) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaGraphicsCubeFace) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaGraphicsCubeFace) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaGraphicsCubeFace),
                                     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_cudaResourceType(enum __pyx_t_4cuda_7ccudart_cudaResourceType value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaResourceType neg_one = (enum __pyx_t_4cuda_7ccudart_cudaResourceType) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaResourceType) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaResourceType) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaResourceType) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaResourceType) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaResourceType),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaResourceViewFormat(enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat neg_one = (enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaResourceViewFormat) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaResourceViewFormat),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaFuncAttribute(enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute neg_one = (enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaFuncAttribute) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaFuncAttribute),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaFuncCache(enum __pyx_t_4cuda_7ccudart_cudaFuncCache value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaFuncCache neg_one = (enum __pyx_t_4cuda_7ccudart_cudaFuncCache) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaFuncCache) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaFuncCache) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaFuncCache) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaFuncCache) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaFuncCache),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaSharedMemConfig(enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig neg_one = (enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaSharedMemConfig) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaSharedMemConfig),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaSharedCarveout(enum __pyx_t_4cuda_7ccudart_cudaSharedCarveout value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaSharedCarveout neg_one = (enum __pyx_t_4cuda_7ccudart_cudaSharedCarveout) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaSharedCarveout) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaSharedCarveout) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaSharedCarveout) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaSharedCarveout) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaSharedCarveout),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaComputeMode(enum __pyx_t_4cuda_7ccudart_cudaComputeMode value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaComputeMode neg_one = (enum __pyx_t_4cuda_7ccudart_cudaComputeMode) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaComputeMode) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaComputeMode) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaComputeMode) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaComputeMode) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaComputeMode),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaLimit(enum __pyx_t_4cuda_7ccudart_cudaLimit value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaLimit neg_one = (enum __pyx_t_4cuda_7ccudart_cudaLimit) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaLimit) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaLimit) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaLimit) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaLimit) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaLimit),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemoryAdvise(enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise neg_one = (enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemoryAdvise) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemoryAdvise),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemRangeAttribute(enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute neg_one = (enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaOutputMode(enum __pyx_t_4cuda_7ccudart_cudaOutputMode value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaOutputMode neg_one = (enum __pyx_t_4cuda_7ccudart_cudaOutputMode) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaOutputMode) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaOutputMode) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaOutputMode) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaOutputMode) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaOutputMode),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesOptions(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesOptions value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesOptions neg_one = (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesOptions) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesOptions) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesOptions) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesOptions) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesOptions) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesOptions),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGPUDirectRDMAWritesOrdering(enum __pyx_t_4cuda_7ccudart_cudaGPUDirectRDMAWritesOrdering value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaGPUDirectRDMAWritesOrdering neg_one = (enum __pyx_t_4cuda_7ccudart_cudaGPUDirectRDMAWritesOrdering) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaGPUDirectRDMAWritesOrdering) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaGPUDirectRDMAWritesOrdering) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaGPUDirectRDMAWritesOrdering) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaGPUDirectRDMAWritesOrdering) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaGPUDirectRDMAWritesOrdering),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope neg_one = (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget neg_one = (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr neg_one = (enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaDeviceAttr) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaDeviceAttr),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemPoolAttr(enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr neg_one = (enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemPoolAttr) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemPoolAttr),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemLocationType(enum __pyx_t_4cuda_7ccudart_cudaMemLocationType value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaMemLocationType neg_one = (enum __pyx_t_4cuda_7ccudart_cudaMemLocationType) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemLocationType) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemLocationType) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemLocationType) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemLocationType) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemLocationType),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemAccessFlags(enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags neg_one = (enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemAccessFlags) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemAccessFlags),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemAllocationType(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType neg_one = (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemAllocationType) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemAllocationType),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType neg_one = (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType(enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType neg_one = (enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr(enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr neg_one = (enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType(enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType neg_one = (enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType(enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType neg_one = (enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaCGScope(enum __pyx_t_4cuda_7ccudart_cudaCGScope value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaCGScope neg_one = (enum __pyx_t_4cuda_7ccudart_cudaCGScope) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaCGScope) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaCGScope) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaCGScope) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaCGScope) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaCGScope),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphNodeType(enum __pyx_t_4cuda_7ccudart_cudaGraphNodeType value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaGraphNodeType neg_one = (enum __pyx_t_4cuda_7ccudart_cudaGraphNodeType) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaGraphNodeType) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaGraphNodeType) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaGraphNodeType) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaGraphNodeType) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaGraphNodeType),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphExecUpdateResult(enum __pyx_t_4cuda_7ccudart_cudaGraphExecUpdateResult value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaGraphExecUpdateResult neg_one = (enum __pyx_t_4cuda_7ccudart_cudaGraphExecUpdateResult) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaGraphExecUpdateResult) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaGraphExecUpdateResult) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaGraphExecUpdateResult) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaGraphExecUpdateResult) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaGraphExecUpdateResult),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGetDriverEntryPointFlags(enum __pyx_t_4cuda_7ccudart_cudaGetDriverEntryPointFlags value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaGetDriverEntryPointFlags neg_one = (enum __pyx_t_4cuda_7ccudart_cudaGetDriverEntryPointFlags) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaGetDriverEntryPointFlags) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaGetDriverEntryPointFlags) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaGetDriverEntryPointFlags) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaGetDriverEntryPointFlags) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaGetDriverEntryPointFlags),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphDebugDotFlags(enum __pyx_t_4cuda_7ccudart_cudaGraphDebugDotFlags value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaGraphDebugDotFlags neg_one = (enum __pyx_t_4cuda_7ccudart_cudaGraphDebugDotFlags) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaGraphDebugDotFlags) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaGraphDebugDotFlags) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaGraphDebugDotFlags) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaGraphDebugDotFlags) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaGraphDebugDotFlags),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaGraphInstantiateFlags(enum __pyx_t_4cuda_7ccudart_cudaGraphInstantiateFlags value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaGraphInstantiateFlags neg_one = (enum __pyx_t_4cuda_7ccudart_cudaGraphInstantiateFlags) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaGraphInstantiateFlags) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaGraphInstantiateFlags) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaGraphInstantiateFlags) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaGraphInstantiateFlags) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaGraphInstantiateFlags),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaSurfaceBoundaryMode(enum __pyx_t_4cuda_7ccudart_cudaSurfaceBoundaryMode value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaSurfaceBoundaryMode neg_one = (enum __pyx_t_4cuda_7ccudart_cudaSurfaceBoundaryMode) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaSurfaceBoundaryMode) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaSurfaceBoundaryMode) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaSurfaceBoundaryMode) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaSurfaceBoundaryMode) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaSurfaceBoundaryMode),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaSurfaceFormatMode(enum __pyx_t_4cuda_7ccudart_cudaSurfaceFormatMode value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaSurfaceFormatMode neg_one = (enum __pyx_t_4cuda_7ccudart_cudaSurfaceFormatMode) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaSurfaceFormatMode) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaSurfaceFormatMode) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaSurfaceFormatMode) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaSurfaceFormatMode) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaSurfaceFormatMode),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaTextureAddressMode(enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode neg_one = (enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaTextureAddressMode) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaTextureAddressMode),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaTextureFilterMode(enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode neg_one = (enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaTextureFilterMode) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaTextureFilterMode),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaTextureReadMode(enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode neg_one = (enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaTextureReadMode) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaTextureReadMode),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_cudaDataType_t(enum __pyx_t_4cuda_7ccudart_cudaDataType_t value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaDataType_t neg_one = (enum __pyx_t_4cuda_7ccudart_cudaDataType_t) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaDataType_t) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaDataType_t) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaDataType_t) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaDataType_t) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaDataType_t),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_7ccudart_libraryPropertyType_t(enum __pyx_t_4cuda_7ccudart_libraryPropertyType_t value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_libraryPropertyType_t neg_one = (enum __pyx_t_4cuda_7ccudart_libraryPropertyType_t) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_libraryPropertyType_t) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_libraryPropertyType_t) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_libraryPropertyType_t) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_7ccudart_libraryPropertyType_t) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_libraryPropertyType_t),
                                     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;
}

/* 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 __pyx_t_4cuda_7ccudart_cudaChannelFormatKind __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaChannelFormatKind(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind neg_one = (enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaChannelFormatKind) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaChannelFormatKind) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind) >= 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind) (((((enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind, 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_cudaChannelFormatKind) >= 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind) (((((((enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaChannelFormatKind) >= 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind) (((((((((enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaChannelFormatKind) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaChannelFormatKind) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind) (((enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind)-1)*(((((enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind) ((((((enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind, 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_cudaChannelFormatKind) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind) (((enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind)-1)*(((((((enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind, 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_cudaChannelFormatKind) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind) ((((((((enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaChannelFormatKind) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind) (((enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind)-1)*(((((((((enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaChannelFormatKind) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind) ((((((((((enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaChannelFormatKind) -1;
        }
    } else {
        enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind) -1;
        val = __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaChannelFormatKind(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind");
    return (enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind");
    return (enum __pyx_t_4cuda_7ccudart_cudaChannelFormatKind) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaMemcpyKind(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind neg_one = (enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemcpyKind) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemcpyKind) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind) >= 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind) (((((enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind, 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_cudaMemcpyKind) >= 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind) (((((((enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemcpyKind) >= 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind) (((((((((enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemcpyKind) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemcpyKind) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind) (((enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)-1)*(((((enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind) ((((((enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind, 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_cudaMemcpyKind) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind) (((enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)-1)*(((((((enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind, 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_cudaMemcpyKind) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind) ((((((((enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemcpyKind) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind) (((enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)-1)*(((((((((enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemcpyKind) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind) ((((((((((enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemcpyKind) -1;
        }
    } else {
        enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind) -1;
        val = __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaMemcpyKind(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind");
    return (enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind");
    return (enum __pyx_t_4cuda_7ccudart_cudaMemcpyKind) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaAccessProperty __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaAccessProperty(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaAccessProperty neg_one = (enum __pyx_t_4cuda_7ccudart_cudaAccessProperty) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaAccessProperty) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaAccessProperty) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaAccessProperty, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaAccessProperty) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaAccessProperty, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaAccessProperty) >= 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaAccessProperty) (((((enum __pyx_t_4cuda_7ccudart_cudaAccessProperty)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaAccessProperty)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaAccessProperty) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaAccessProperty, 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_cudaAccessProperty) >= 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaAccessProperty) (((((((enum __pyx_t_4cuda_7ccudart_cudaAccessProperty)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaAccessProperty)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaAccessProperty)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaAccessProperty) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaAccessProperty) >= 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaAccessProperty) (((((((((enum __pyx_t_4cuda_7ccudart_cudaAccessProperty)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaAccessProperty)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaAccessProperty)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaAccessProperty) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaAccessProperty) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaAccessProperty, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaAccessProperty) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaAccessProperty) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaAccessProperty, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaAccessProperty,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaAccessProperty) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaAccessProperty, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaAccessProperty) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaAccessProperty) (((enum __pyx_t_4cuda_7ccudart_cudaAccessProperty)-1)*(((((enum __pyx_t_4cuda_7ccudart_cudaAccessProperty)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaAccessProperty)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaAccessProperty) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaAccessProperty, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaAccessProperty) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaAccessProperty) ((((((enum __pyx_t_4cuda_7ccudart_cudaAccessProperty)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaAccessProperty)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaAccessProperty) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaAccessProperty, 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_cudaAccessProperty) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaAccessProperty) (((enum __pyx_t_4cuda_7ccudart_cudaAccessProperty)-1)*(((((((enum __pyx_t_4cuda_7ccudart_cudaAccessProperty)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaAccessProperty)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaAccessProperty)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaAccessProperty) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaAccessProperty, 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_cudaAccessProperty) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaAccessProperty) ((((((((enum __pyx_t_4cuda_7ccudart_cudaAccessProperty)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaAccessProperty)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaAccessProperty)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaAccessProperty) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaAccessProperty) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaAccessProperty) (((enum __pyx_t_4cuda_7ccudart_cudaAccessProperty)-1)*(((((((((enum __pyx_t_4cuda_7ccudart_cudaAccessProperty)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaAccessProperty)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaAccessProperty)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaAccessProperty)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaAccessProperty) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaAccessProperty) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaAccessProperty) ((((((((((enum __pyx_t_4cuda_7ccudart_cudaAccessProperty)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaAccessProperty)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaAccessProperty)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaAccessProperty)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaAccessProperty) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaAccessProperty, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaAccessProperty) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaAccessProperty) -1;
        }
    } else {
        enum __pyx_t_4cuda_7ccudart_cudaAccessProperty val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum __pyx_t_4cuda_7ccudart_cudaAccessProperty) -1;
        val = __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaAccessProperty(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum __pyx_t_4cuda_7ccudart_cudaAccessProperty");
    return (enum __pyx_t_4cuda_7ccudart_cudaAccessProperty) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum __pyx_t_4cuda_7ccudart_cudaAccessProperty");
    return (enum __pyx_t_4cuda_7ccudart_cudaAccessProperty) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy neg_one = (enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy) >= 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy) (((((enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy, 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_cudaSynchronizationPolicy) >= 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy) (((((((enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy) >= 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy) (((((((((enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy) (((enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy)-1)*(((((enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy) ((((((enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy, 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_cudaSynchronizationPolicy) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy) (((enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy)-1)*(((((((enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy, 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_cudaSynchronizationPolicy) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy) ((((((((enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy) (((enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy)-1)*(((((((((enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy) ((((((((((enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy) -1;
        }
    } else {
        enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy) -1;
        val = __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy");
    return (enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy");
    return (enum __pyx_t_4cuda_7ccudart_cudaSynchronizationPolicy) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaResourceType __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaResourceType(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaResourceType neg_one = (enum __pyx_t_4cuda_7ccudart_cudaResourceType) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaResourceType) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaResourceType) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaResourceType, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaResourceType) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaResourceType, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaResourceType) >= 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaResourceType) (((((enum __pyx_t_4cuda_7ccudart_cudaResourceType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaResourceType)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaResourceType) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaResourceType, 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_cudaResourceType) >= 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaResourceType) (((((((enum __pyx_t_4cuda_7ccudart_cudaResourceType)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaResourceType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaResourceType)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaResourceType) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaResourceType) >= 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaResourceType) (((((((((enum __pyx_t_4cuda_7ccudart_cudaResourceType)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaResourceType)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaResourceType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaResourceType) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaResourceType) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaResourceType, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaResourceType) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaResourceType) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaResourceType, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaResourceType,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaResourceType) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaResourceType, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaResourceType) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaResourceType) (((enum __pyx_t_4cuda_7ccudart_cudaResourceType)-1)*(((((enum __pyx_t_4cuda_7ccudart_cudaResourceType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaResourceType)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaResourceType) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaResourceType, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaResourceType) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaResourceType) ((((((enum __pyx_t_4cuda_7ccudart_cudaResourceType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaResourceType)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaResourceType) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaResourceType, 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_cudaResourceType) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaResourceType) (((enum __pyx_t_4cuda_7ccudart_cudaResourceType)-1)*(((((((enum __pyx_t_4cuda_7ccudart_cudaResourceType)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaResourceType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaResourceType)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaResourceType) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaResourceType, 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_cudaResourceType) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaResourceType) ((((((((enum __pyx_t_4cuda_7ccudart_cudaResourceType)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaResourceType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaResourceType)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaResourceType) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaResourceType) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaResourceType) (((enum __pyx_t_4cuda_7ccudart_cudaResourceType)-1)*(((((((((enum __pyx_t_4cuda_7ccudart_cudaResourceType)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaResourceType)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaResourceType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaResourceType)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaResourceType) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaResourceType) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaResourceType) ((((((((((enum __pyx_t_4cuda_7ccudart_cudaResourceType)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaResourceType)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaResourceType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaResourceType)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaResourceType) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaResourceType, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaResourceType) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaResourceType) -1;
        }
    } else {
        enum __pyx_t_4cuda_7ccudart_cudaResourceType val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum __pyx_t_4cuda_7ccudart_cudaResourceType) -1;
        val = __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaResourceType(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum __pyx_t_4cuda_7ccudart_cudaResourceType");
    return (enum __pyx_t_4cuda_7ccudart_cudaResourceType) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum __pyx_t_4cuda_7ccudart_cudaResourceType");
    return (enum __pyx_t_4cuda_7ccudart_cudaResourceType) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaResourceViewFormat(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat neg_one = (enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaResourceViewFormat) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaResourceViewFormat) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat) >= 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat) (((((enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat, 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_cudaResourceViewFormat) >= 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat) (((((((enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaResourceViewFormat) >= 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat) (((((((((enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaResourceViewFormat) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaResourceViewFormat) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat) (((enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat)-1)*(((((enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat) ((((((enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat, 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_cudaResourceViewFormat) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat) (((enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat)-1)*(((((((enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat, 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_cudaResourceViewFormat) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat) ((((((((enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaResourceViewFormat) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat) (((enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat)-1)*(((((((((enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaResourceViewFormat) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat) ((((((((((enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaResourceViewFormat) -1;
        }
    } else {
        enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat) -1;
        val = __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaResourceViewFormat(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat");
    return (enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat");
    return (enum __pyx_t_4cuda_7ccudart_cudaResourceViewFormat) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaMemoryType __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaMemoryType(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaMemoryType neg_one = (enum __pyx_t_4cuda_7ccudart_cudaMemoryType) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemoryType) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemoryType) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemoryType, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemoryType) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemoryType, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemoryType) >= 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemoryType) (((((enum __pyx_t_4cuda_7ccudart_cudaMemoryType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemoryType)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemoryType) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemoryType, 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_cudaMemoryType) >= 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemoryType) (((((((enum __pyx_t_4cuda_7ccudart_cudaMemoryType)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemoryType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemoryType)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemoryType) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemoryType) >= 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemoryType) (((((((((enum __pyx_t_4cuda_7ccudart_cudaMemoryType)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemoryType)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemoryType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemoryType) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemoryType) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaMemoryType, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemoryType) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemoryType) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemoryType, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemoryType,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemoryType) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemoryType, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemoryType) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemoryType) (((enum __pyx_t_4cuda_7ccudart_cudaMemoryType)-1)*(((((enum __pyx_t_4cuda_7ccudart_cudaMemoryType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemoryType)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemoryType) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemoryType, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemoryType) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemoryType) ((((((enum __pyx_t_4cuda_7ccudart_cudaMemoryType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemoryType)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemoryType) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemoryType, 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_cudaMemoryType) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemoryType) (((enum __pyx_t_4cuda_7ccudart_cudaMemoryType)-1)*(((((((enum __pyx_t_4cuda_7ccudart_cudaMemoryType)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemoryType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemoryType)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemoryType) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemoryType, 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_cudaMemoryType) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemoryType) ((((((((enum __pyx_t_4cuda_7ccudart_cudaMemoryType)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemoryType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemoryType)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemoryType) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemoryType) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemoryType) (((enum __pyx_t_4cuda_7ccudart_cudaMemoryType)-1)*(((((((((enum __pyx_t_4cuda_7ccudart_cudaMemoryType)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemoryType)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemoryType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemoryType)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemoryType) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemoryType) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemoryType) ((((((((((enum __pyx_t_4cuda_7ccudart_cudaMemoryType)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemoryType)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemoryType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemoryType)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemoryType) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaMemoryType, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemoryType) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemoryType) -1;
        }
    } else {
        enum __pyx_t_4cuda_7ccudart_cudaMemoryType val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum __pyx_t_4cuda_7ccudart_cudaMemoryType) -1;
        val = __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaMemoryType(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum __pyx_t_4cuda_7ccudart_cudaMemoryType");
    return (enum __pyx_t_4cuda_7ccudart_cudaMemoryType) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum __pyx_t_4cuda_7ccudart_cudaMemoryType");
    return (enum __pyx_t_4cuda_7ccudart_cudaMemoryType) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaMemLocationType __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaMemLocationType(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaMemLocationType neg_one = (enum __pyx_t_4cuda_7ccudart_cudaMemLocationType) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemLocationType) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemLocationType) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemLocationType, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemLocationType) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemLocationType, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemLocationType) >= 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemLocationType) (((((enum __pyx_t_4cuda_7ccudart_cudaMemLocationType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemLocationType)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemLocationType) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemLocationType, 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_cudaMemLocationType) >= 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemLocationType) (((((((enum __pyx_t_4cuda_7ccudart_cudaMemLocationType)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemLocationType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemLocationType)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemLocationType) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemLocationType) >= 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemLocationType) (((((((((enum __pyx_t_4cuda_7ccudart_cudaMemLocationType)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemLocationType)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemLocationType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemLocationType) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemLocationType) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaMemLocationType, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemLocationType) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemLocationType) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemLocationType, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemLocationType,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemLocationType) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemLocationType, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemLocationType) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemLocationType) (((enum __pyx_t_4cuda_7ccudart_cudaMemLocationType)-1)*(((((enum __pyx_t_4cuda_7ccudart_cudaMemLocationType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemLocationType)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemLocationType) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemLocationType, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemLocationType) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemLocationType) ((((((enum __pyx_t_4cuda_7ccudart_cudaMemLocationType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemLocationType)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemLocationType) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemLocationType, 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_cudaMemLocationType) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemLocationType) (((enum __pyx_t_4cuda_7ccudart_cudaMemLocationType)-1)*(((((((enum __pyx_t_4cuda_7ccudart_cudaMemLocationType)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemLocationType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemLocationType)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemLocationType) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemLocationType, 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_cudaMemLocationType) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemLocationType) ((((((((enum __pyx_t_4cuda_7ccudart_cudaMemLocationType)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemLocationType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemLocationType)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemLocationType) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemLocationType) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemLocationType) (((enum __pyx_t_4cuda_7ccudart_cudaMemLocationType)-1)*(((((((((enum __pyx_t_4cuda_7ccudart_cudaMemLocationType)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemLocationType)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemLocationType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemLocationType)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemLocationType) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemLocationType) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemLocationType) ((((((((((enum __pyx_t_4cuda_7ccudart_cudaMemLocationType)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemLocationType)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemLocationType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemLocationType)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemLocationType) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaMemLocationType, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemLocationType) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemLocationType) -1;
        }
    } else {
        enum __pyx_t_4cuda_7ccudart_cudaMemLocationType val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum __pyx_t_4cuda_7ccudart_cudaMemLocationType) -1;
        val = __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaMemLocationType(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum __pyx_t_4cuda_7ccudart_cudaMemLocationType");
    return (enum __pyx_t_4cuda_7ccudart_cudaMemLocationType) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum __pyx_t_4cuda_7ccudart_cudaMemLocationType");
    return (enum __pyx_t_4cuda_7ccudart_cudaMemLocationType) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaMemAccessFlags(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags neg_one = (enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemAccessFlags) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemAccessFlags) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags) >= 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags) (((((enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags, 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_cudaMemAccessFlags) >= 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags) (((((((enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemAccessFlags) >= 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags) (((((((((enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemAccessFlags) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemAccessFlags) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags) (((enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags)-1)*(((((enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags) ((((((enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags, 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_cudaMemAccessFlags) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags) (((enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags)-1)*(((((((enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags, 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_cudaMemAccessFlags) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags) ((((((((enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemAccessFlags) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags) (((enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags)-1)*(((((((((enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemAccessFlags) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags) ((((((((((enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemAccessFlags) -1;
        }
    } else {
        enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags) -1;
        val = __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaMemAccessFlags(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags");
    return (enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags");
    return (enum __pyx_t_4cuda_7ccudart_cudaMemAccessFlags) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaMemAllocationType(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType neg_one = (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemAllocationType) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemAllocationType) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType) >= 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType) (((((enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType, 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_cudaMemAllocationType) >= 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType) (((((((enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemAllocationType) >= 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType) (((((((((enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemAllocationType) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemAllocationType) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType) (((enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType)-1)*(((((enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType) ((((((enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType, 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_cudaMemAllocationType) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType) (((enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType)-1)*(((((((enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType, 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_cudaMemAllocationType) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType) ((((((((enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemAllocationType) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType) (((enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType)-1)*(((((((((enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemAllocationType) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType) ((((((((((enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemAllocationType) -1;
        }
    } else {
        enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType) -1;
        val = __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaMemAllocationType(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType");
    return (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType");
    return (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationType) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType neg_one = (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType) >= 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType) (((((enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType, 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_cudaMemAllocationHandleType) >= 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType) (((((((enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType) >= 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType) (((((((((enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType) (((enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType)-1)*(((((enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType) ((((((enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType, 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_cudaMemAllocationHandleType) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType) (((enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType)-1)*(((((((enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType, 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_cudaMemAllocationHandleType) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType) ((((((((enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType) (((enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType)-1)*(((((((((enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType) ((((((((((enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType) -1;
        }
    } else {
        enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType) -1;
        val = __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType");
    return (enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum __pyx_t_4cuda_7ccudart_cudaMemAllocationHandleType");
    return (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType neg_one = (enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType) >= 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType) (((((enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType, 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_cudaExternalMemoryHandleType) >= 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType) (((((((enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType) >= 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType) (((((((((enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType) (((enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType)-1)*(((((enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType) ((((((enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType, 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_cudaExternalMemoryHandleType) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType) (((enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType)-1)*(((((((enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType, 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_cudaExternalMemoryHandleType) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType) ((((((((enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType) (((enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType)-1)*(((((((((enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType) ((((((((((enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType) -1;
        }
    } else {
        enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType) -1;
        val = __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType");
    return (enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType");
    return (enum __pyx_t_4cuda_7ccudart_cudaExternalMemoryHandleType) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType neg_one = (enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType) >= 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType) (((((enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType, 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_cudaExternalSemaphoreHandleType) >= 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType) (((((((enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType) >= 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType) (((((((((enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType) (((enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType)-1)*(((((enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType) ((((((enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType, 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_cudaExternalSemaphoreHandleType) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType) (((enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType)-1)*(((((((enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType, 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_cudaExternalSemaphoreHandleType) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType) ((((((((enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType) (((enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType)-1)*(((((((((enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType) ((((((((((enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType) -1;
        }
    } else {
        enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType) -1;
        val = __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType");
    return (enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType");
    return (enum __pyx_t_4cuda_7ccudart_cudaExternalSemaphoreHandleType) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaTextureAddressMode(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode neg_one = (enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaTextureAddressMode) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaTextureAddressMode) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode) >= 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode) (((((enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode, 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_cudaTextureAddressMode) >= 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode) (((((((enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaTextureAddressMode) >= 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode) (((((((((enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaTextureAddressMode) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaTextureAddressMode) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode) (((enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode)-1)*(((((enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode) ((((((enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode, 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_cudaTextureAddressMode) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode) (((enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode)-1)*(((((((enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode, 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_cudaTextureAddressMode) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode) ((((((((enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaTextureAddressMode) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode) (((enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode)-1)*(((((((((enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaTextureAddressMode) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode) ((((((((((enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaTextureAddressMode) -1;
        }
    } else {
        enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode) -1;
        val = __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaTextureAddressMode(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode");
    return (enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode");
    return (enum __pyx_t_4cuda_7ccudart_cudaTextureAddressMode) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaTextureFilterMode(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode neg_one = (enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaTextureFilterMode) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaTextureFilterMode) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode) >= 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode) (((((enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode, 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_cudaTextureFilterMode) >= 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode) (((((((enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaTextureFilterMode) >= 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode) (((((((((enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaTextureFilterMode) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaTextureFilterMode) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode) (((enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode)-1)*(((((enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode) ((((((enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode, 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_cudaTextureFilterMode) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode) (((enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode)-1)*(((((((enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode, 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_cudaTextureFilterMode) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode) ((((((((enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaTextureFilterMode) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode) (((enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode)-1)*(((((((((enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaTextureFilterMode) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode) ((((((((((enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaTextureFilterMode) -1;
        }
    } else {
        enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode) -1;
        val = __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaTextureFilterMode(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode");
    return (enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode");
    return (enum __pyx_t_4cuda_7ccudart_cudaTextureFilterMode) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaTextureReadMode(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode neg_one = (enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaTextureReadMode) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaTextureReadMode) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode) >= 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode) (((((enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode, 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_cudaTextureReadMode) >= 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode) (((((((enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaTextureReadMode) >= 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode) (((((((((enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaTextureReadMode) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaTextureReadMode) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode) (((enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode)-1)*(((((enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode) ((((((enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode, 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_cudaTextureReadMode) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode) (((enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode)-1)*(((((((enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode, 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_cudaTextureReadMode) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode) ((((((((enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaTextureReadMode) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode) (((enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode)-1)*(((((((((enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaTextureReadMode) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode) ((((((((((enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaTextureReadMode) -1;
        }
    } else {
        enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode) -1;
        val = __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaTextureReadMode(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode");
    return (enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode");
    return (enum __pyx_t_4cuda_7ccudart_cudaTextureReadMode) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaLimit __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaLimit(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaLimit neg_one = (enum __pyx_t_4cuda_7ccudart_cudaLimit) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaLimit) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaLimit) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaLimit, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaLimit) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaLimit, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaLimit) >= 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaLimit) (((((enum __pyx_t_4cuda_7ccudart_cudaLimit)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaLimit)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaLimit) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaLimit, 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_cudaLimit) >= 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaLimit) (((((((enum __pyx_t_4cuda_7ccudart_cudaLimit)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaLimit)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaLimit)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaLimit) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaLimit) >= 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaLimit) (((((((((enum __pyx_t_4cuda_7ccudart_cudaLimit)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaLimit)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaLimit)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaLimit) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaLimit) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaLimit, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaLimit) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaLimit) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaLimit, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaLimit,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaLimit) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaLimit, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaLimit) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaLimit) (((enum __pyx_t_4cuda_7ccudart_cudaLimit)-1)*(((((enum __pyx_t_4cuda_7ccudart_cudaLimit)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaLimit)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaLimit) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaLimit, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaLimit) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaLimit) ((((((enum __pyx_t_4cuda_7ccudart_cudaLimit)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaLimit)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaLimit) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaLimit, 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_cudaLimit) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaLimit) (((enum __pyx_t_4cuda_7ccudart_cudaLimit)-1)*(((((((enum __pyx_t_4cuda_7ccudart_cudaLimit)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaLimit)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaLimit)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaLimit) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaLimit, 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_cudaLimit) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaLimit) ((((((((enum __pyx_t_4cuda_7ccudart_cudaLimit)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaLimit)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaLimit)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaLimit) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaLimit) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaLimit) (((enum __pyx_t_4cuda_7ccudart_cudaLimit)-1)*(((((((((enum __pyx_t_4cuda_7ccudart_cudaLimit)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaLimit)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaLimit)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaLimit)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaLimit) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaLimit) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaLimit) ((((((((((enum __pyx_t_4cuda_7ccudart_cudaLimit)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaLimit)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaLimit)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaLimit)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaLimit) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaLimit, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaLimit) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaLimit) -1;
        }
    } else {
        enum __pyx_t_4cuda_7ccudart_cudaLimit val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum __pyx_t_4cuda_7ccudart_cudaLimit) -1;
        val = __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaLimit(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum __pyx_t_4cuda_7ccudart_cudaLimit");
    return (enum __pyx_t_4cuda_7ccudart_cudaLimit) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum __pyx_t_4cuda_7ccudart_cudaLimit");
    return (enum __pyx_t_4cuda_7ccudart_cudaLimit) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaFuncCache __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaFuncCache(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaFuncCache neg_one = (enum __pyx_t_4cuda_7ccudart_cudaFuncCache) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaFuncCache) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaFuncCache) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaFuncCache, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaFuncCache) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaFuncCache, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaFuncCache) >= 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaFuncCache) (((((enum __pyx_t_4cuda_7ccudart_cudaFuncCache)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFuncCache)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaFuncCache) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaFuncCache, 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_cudaFuncCache) >= 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaFuncCache) (((((((enum __pyx_t_4cuda_7ccudart_cudaFuncCache)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFuncCache)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFuncCache)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaFuncCache) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaFuncCache) >= 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaFuncCache) (((((((((enum __pyx_t_4cuda_7ccudart_cudaFuncCache)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFuncCache)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFuncCache)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaFuncCache) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaFuncCache) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaFuncCache, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaFuncCache) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaFuncCache) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaFuncCache, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaFuncCache,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaFuncCache) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaFuncCache, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaFuncCache) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaFuncCache) (((enum __pyx_t_4cuda_7ccudart_cudaFuncCache)-1)*(((((enum __pyx_t_4cuda_7ccudart_cudaFuncCache)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFuncCache)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaFuncCache) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaFuncCache, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaFuncCache) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaFuncCache) ((((((enum __pyx_t_4cuda_7ccudart_cudaFuncCache)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFuncCache)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaFuncCache) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaFuncCache, 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_cudaFuncCache) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaFuncCache) (((enum __pyx_t_4cuda_7ccudart_cudaFuncCache)-1)*(((((((enum __pyx_t_4cuda_7ccudart_cudaFuncCache)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFuncCache)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFuncCache)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaFuncCache) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaFuncCache, 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_cudaFuncCache) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaFuncCache) ((((((((enum __pyx_t_4cuda_7ccudart_cudaFuncCache)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFuncCache)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFuncCache)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaFuncCache) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaFuncCache) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaFuncCache) (((enum __pyx_t_4cuda_7ccudart_cudaFuncCache)-1)*(((((((((enum __pyx_t_4cuda_7ccudart_cudaFuncCache)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFuncCache)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFuncCache)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFuncCache)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaFuncCache) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaFuncCache) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaFuncCache) ((((((((((enum __pyx_t_4cuda_7ccudart_cudaFuncCache)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFuncCache)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFuncCache)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFuncCache)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaFuncCache) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaFuncCache, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaFuncCache) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaFuncCache) -1;
        }
    } else {
        enum __pyx_t_4cuda_7ccudart_cudaFuncCache val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum __pyx_t_4cuda_7ccudart_cudaFuncCache) -1;
        val = __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaFuncCache(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum __pyx_t_4cuda_7ccudart_cudaFuncCache");
    return (enum __pyx_t_4cuda_7ccudart_cudaFuncCache) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum __pyx_t_4cuda_7ccudart_cudaFuncCache");
    return (enum __pyx_t_4cuda_7ccudart_cudaFuncCache) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaSharedMemConfig(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig neg_one = (enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaSharedMemConfig) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaSharedMemConfig) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig) >= 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig) (((((enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig, 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_cudaSharedMemConfig) >= 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig) (((((((enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaSharedMemConfig) >= 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig) (((((((((enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaSharedMemConfig) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaSharedMemConfig) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig) (((enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig)-1)*(((((enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig) ((((((enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig, 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_cudaSharedMemConfig) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig) (((enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig)-1)*(((((((enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig, 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_cudaSharedMemConfig) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig) ((((((((enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaSharedMemConfig) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig) (((enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig)-1)*(((((((((enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaSharedMemConfig) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig) ((((((((((enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaSharedMemConfig) -1;
        }
    } else {
        enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig) -1;
        val = __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaSharedMemConfig(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig");
    return (enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig");
    return (enum __pyx_t_4cuda_7ccudart_cudaSharedMemConfig) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget neg_one = (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget) >= 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget) (((((enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget, 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_cudaFlushGPUDirectRDMAWritesTarget) >= 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget) (((((((enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget) >= 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget) (((((((((enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget) (((enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget)-1)*(((((enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget) ((((((enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget, 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_cudaFlushGPUDirectRDMAWritesTarget) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget) (((enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget)-1)*(((((((enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget, 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_cudaFlushGPUDirectRDMAWritesTarget) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget) ((((((((enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget) (((enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget)-1)*(((((((((enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget) ((((((((((enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget) -1;
        }
    } else {
        enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget) -1;
        val = __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget");
    return (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget");
    return (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesTarget) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope neg_one = (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope) >= 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope) (((((enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope, 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_cudaFlushGPUDirectRDMAWritesScope) >= 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope) (((((((enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope) >= 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope) (((((((((enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope) (((enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope)-1)*(((((enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope) ((((((enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope, 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_cudaFlushGPUDirectRDMAWritesScope) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope) (((enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope)-1)*(((((((enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope, 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_cudaFlushGPUDirectRDMAWritesScope) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope) ((((((((enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope) (((enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope)-1)*(((((((((enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope) ((((((((((enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope) -1;
        }
    } else {
        enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope) -1;
        val = __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope");
    return (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope");
    return (enum __pyx_t_4cuda_7ccudart_cudaFlushGPUDirectRDMAWritesScope) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaError __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaError(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaError neg_one = (enum __pyx_t_4cuda_7ccudart_cudaError) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaError) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaError) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaError, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaError) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaError, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaError) >= 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaError) (((((enum __pyx_t_4cuda_7ccudart_cudaError)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaError)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaError) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaError, 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_cudaError) >= 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaError) (((((((enum __pyx_t_4cuda_7ccudart_cudaError)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaError)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaError)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaError) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaError) >= 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaError) (((((((((enum __pyx_t_4cuda_7ccudart_cudaError)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaError)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaError)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaError) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaError) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaError, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaError) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaError) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaError, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaError,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaError) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaError, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaError) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaError) (((enum __pyx_t_4cuda_7ccudart_cudaError)-1)*(((((enum __pyx_t_4cuda_7ccudart_cudaError)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaError)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaError) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaError, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaError) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaError) ((((((enum __pyx_t_4cuda_7ccudart_cudaError)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaError)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaError) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaError, 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_cudaError) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaError) (((enum __pyx_t_4cuda_7ccudart_cudaError)-1)*(((((((enum __pyx_t_4cuda_7ccudart_cudaError)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaError)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaError)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaError) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaError, 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_cudaError) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaError) ((((((((enum __pyx_t_4cuda_7ccudart_cudaError)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaError)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaError)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaError) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaError) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaError) (((enum __pyx_t_4cuda_7ccudart_cudaError)-1)*(((((((((enum __pyx_t_4cuda_7ccudart_cudaError)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaError)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaError)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaError)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaError) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaError) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaError) ((((((((((enum __pyx_t_4cuda_7ccudart_cudaError)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaError)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaError)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaError)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaError) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaError, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaError) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaError) -1;
        }
    } else {
        enum __pyx_t_4cuda_7ccudart_cudaError val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum __pyx_t_4cuda_7ccudart_cudaError) -1;
        val = __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaError(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum __pyx_t_4cuda_7ccudart_cudaError");
    return (enum __pyx_t_4cuda_7ccudart_cudaError) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum __pyx_t_4cuda_7ccudart_cudaError");
    return (enum __pyx_t_4cuda_7ccudart_cudaError) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr neg_one = (enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaDeviceAttr) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaDeviceAttr) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr) >= 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr) (((((enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr, 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_cudaDeviceAttr) >= 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr) (((((((enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaDeviceAttr) >= 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr) (((((((((enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaDeviceAttr) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaDeviceAttr) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr) (((enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr)-1)*(((((enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr) ((((((enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr, 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_cudaDeviceAttr) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr) (((enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr)-1)*(((((((enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr, 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_cudaDeviceAttr) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr) ((((((((enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaDeviceAttr) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr) (((enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr)-1)*(((((((((enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaDeviceAttr) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr) ((((((((((enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaDeviceAttr) -1;
        }
    } else {
        enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr) -1;
        val = __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaDeviceAttr(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr");
    return (enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr");
    return (enum __pyx_t_4cuda_7ccudart_cudaDeviceAttr) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr neg_one = (enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr) >= 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr) (((((enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr, 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_cudaDeviceP2PAttr) >= 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr) (((((((enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr) >= 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr) (((((((((enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr) (((enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr)-1)*(((((enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr) ((((((enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr, 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_cudaDeviceP2PAttr) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr) (((enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr)-1)*(((((((enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr, 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_cudaDeviceP2PAttr) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr) ((((((((enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr) (((enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr)-1)*(((((((((enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr) ((((((((((enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr) -1;
        }
    } else {
        enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr) -1;
        val = __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr");
    return (enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum __pyx_t_4cuda_7ccudart_cudaDeviceP2PAttr");
    return (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaStreamCaptureMode(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode neg_one = (enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode) >= 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode) (((((enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode, 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_cudaStreamCaptureMode) >= 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode) (((((((enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode) >= 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode) (((((((((enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode) (((enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode)-1)*(((((enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode) ((((((enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode, 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_cudaStreamCaptureMode) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode) (((enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode)-1)*(((((((enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode, 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_cudaStreamCaptureMode) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode) ((((((((enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode) (((enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode)-1)*(((((((((enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode) ((((((((((enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode) -1;
        }
    } else {
        enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode) -1;
        val = __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaStreamCaptureMode(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode");
    return (enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum __pyx_t_4cuda_7ccudart_cudaStreamCaptureMode");
    return (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaFuncAttribute __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaFuncAttribute(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute neg_one = (enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaFuncAttribute) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaFuncAttribute) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute) >= 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute) (((((enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute, 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_cudaFuncAttribute) >= 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute) (((((((enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaFuncAttribute) >= 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute) (((((((((enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaFuncAttribute) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaFuncAttribute) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute) (((enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute)-1)*(((((enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute) ((((((enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute, 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_cudaFuncAttribute) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute) (((enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute)-1)*(((((((enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute, 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_cudaFuncAttribute) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute) ((((((((enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaFuncAttribute) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute) (((enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute)-1)*(((((((((enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaFuncAttribute) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute) ((((((((((enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaFuncAttribute) -1;
        }
    } else {
        enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute) -1;
        val = __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaFuncAttribute(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute");
    return (enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute");
    return (enum __pyx_t_4cuda_7ccudart_cudaFuncAttribute) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaMemoryAdvise(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise neg_one = (enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemoryAdvise) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemoryAdvise) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise) >= 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise) (((((enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise, 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_cudaMemoryAdvise) >= 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise) (((((((enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemoryAdvise) >= 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise) (((((((((enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemoryAdvise) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemoryAdvise) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise) (((enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise)-1)*(((((enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise) ((((((enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise, 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_cudaMemoryAdvise) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise) (((enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise)-1)*(((((((enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise, 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_cudaMemoryAdvise) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise) ((((((((enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemoryAdvise) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise) (((enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise)-1)*(((((((((enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemoryAdvise) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise) ((((((((((enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemoryAdvise) -1;
        }
    } else {
        enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise) -1;
        val = __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaMemoryAdvise(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise");
    return (enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise");
    return (enum __pyx_t_4cuda_7ccudart_cudaMemoryAdvise) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaMemRangeAttribute(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute neg_one = (enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute) >= 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute) (((((enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute, 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_cudaMemRangeAttribute) >= 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute) (((((((enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute) >= 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute) (((((((((enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute) (((enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute)-1)*(((((enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute) ((((((enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute, 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_cudaMemRangeAttribute) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute) (((enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute)-1)*(((((((enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute, 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_cudaMemRangeAttribute) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute) ((((((((enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute) (((enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute)-1)*(((((((((enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute) ((((((((((enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute) -1;
        }
    } else {
        enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute) -1;
        val = __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaMemRangeAttribute(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute");
    return (enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute");
    return (enum __pyx_t_4cuda_7ccudart_cudaMemRangeAttribute) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaMemPoolAttr(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr neg_one = (enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemPoolAttr) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemPoolAttr) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr) >= 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr) (((((enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr, 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_cudaMemPoolAttr) >= 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr) (((((((enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemPoolAttr) >= 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr) (((((((((enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemPoolAttr) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemPoolAttr) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr) (((enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr)-1)*(((((enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr) ((((((enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr, 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_cudaMemPoolAttr) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr) (((enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr)-1)*(((((((enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr, 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_cudaMemPoolAttr) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr) ((((((((enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemPoolAttr) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr) (((enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr)-1)*(((((((((enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemPoolAttr) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr) ((((((((((enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaMemPoolAttr) -1;
        }
    } else {
        enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr) -1;
        val = __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaMemPoolAttr(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr");
    return (enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum __pyx_t_4cuda_7ccudart_cudaMemPoolAttr");
    return (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType neg_one = (enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType) -1, const_zero = (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType) >= 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType) (((((enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType, 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_cudaGraphMemAttributeType) >= 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType) (((((((enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType) >= 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType) (((((((((enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType) (((enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType)-1)*(((((enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType) - 1 > 2 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType) ((((((enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType, 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_cudaGraphMemAttributeType) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType) (((enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType)-1)*(((((((enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType, 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_cudaGraphMemAttributeType) - 1 > 3 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType) ((((((((enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType) (((enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType)-1)*(((((((((enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType) - 1 > 4 * PyLong_SHIFT) {
                            return (enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType) ((((((((((enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_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 __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType) -1;
        }
    } else {
        enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType) -1;
        val = __Pyx_PyInt_As_enum____pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType");
    return (enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType");
    return (enum __pyx_t_4cuda_7ccudart_cudaGraphMemAttributeType) -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>
#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
    0,
#endif
#if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
    0,
#endif
#if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
    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[4], rtversion[4];
    PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);
    PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion());
    if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) {
        char message[200];
        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 */
