23 typedef struct photon_coll_interface_t {
24 int (*init)(photonConfig cfg);
25 int (*comm_create)(
void *c,
void *active,
int num_active,
int total);
36 int (*ireduce)(
const void *in,
void *out,
int count,
photonDatatype datatype,
39 int (*gather)(
const void *in,
void *out,
int scount,
int rcount,
42 int (*igather)(
const void *in,
void *out,
int scount,
int rcount,
46 int (*allreduce)(
const void *in,
void *out,
int count,
photonDatatype datatype,
48 int (*iallreduce)(
const void *in,
void *out,
int count,
photonDatatype datatype,
68 void *out,
int scount,
int rcount,
PHOTON_INTERNAL int _photon_collective_comm_create(void *active, int num_active, int total, photonComm *c)
photon_datatype_t photonDatatype
The Photon completion ID used by the PWC API.
uint64_t photon_rid
The Photon request ID.
struct photon_req_t * photonRequest
PHOTON_INTERNAL int photon_coll_init(photonConfig cfg)
PHOTON_INTERNAL int photon_coll_probe(int proc, int *flag, photon_cid *comp)
PHOTON_INTERNAL int _photon_collective_join(photon_rid request, void *in, void *out, int scount, int rcount, photonDatatype stype, photonDatatype rtype, int root, void *op)
PHOTON_INTERNAL int _photon_collective_init_new_comm(void *active, int num_active, int total, photon_coll ctype, photon_cid local, photon_rid *request, int flags, photonComm *c)
PHOTON_INTERNAL int _photon_collective_init(photonComm c, photon_coll ctype, photon_cid local, photon_rid *request, int flags)