/* Generated by Cython 0.29.20 */

#ifndef __PYX_HAVE__pygpu__collectives
#define __PYX_HAVE__pygpu__collectives

#include "Python.h"
struct PyGpuCliqueIdObject;
struct PyGpuCommObject;

/* "pygpu/collectives.pxd":38
 *     int GpuArray_all_gather(const _GpuArray* src, _GpuArray* dest, gpucomm* comm)
 * 
 * cdef api class GpuCommCliqueId [type PyGpuCliqueIdType, object PyGpuCliqueIdObject]:             # <<<<<<<<<<<<<<
 *     cdef gpucommCliqueId c_comm_id
 *     cdef readonly GpuContext context
 */
struct PyGpuCliqueIdObject {
  PyObject_HEAD
  gpucommCliqueId c_comm_id;
  struct PyGpuContextObject *context;
};

/* "pygpu/collectives.pxd":43
 * 
 * 
 * cdef api class GpuComm [type PyGpuCommType, object PyGpuCommObject]:             # <<<<<<<<<<<<<<
 *     cdef gpucomm* c
 *     cdef object __weakref__
 */
struct PyGpuCommObject {
  PyObject_HEAD
  gpucomm *c;
  PyObject *__weakref__;
};

#ifndef __PYX_HAVE_API__pygpu__collectives

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

#ifndef DL_IMPORT
  #define DL_IMPORT(_T) _T
#endif

#endif /* !__PYX_HAVE_API__pygpu__collectives */

/* WARNING: the interface of the module init function changed in CPython 3.5. */
/* It now returns a PyModuleDef instance instead of a PyModule instance. */

#if PY_MAJOR_VERSION < 3
PyMODINIT_FUNC initcollectives(void);
#else
PyMODINIT_FUNC PyInit_collectives(void);
#endif

#endif /* !__PYX_HAVE__pygpu__collectives */
