photon  1.1
Files | Functions
Collectives

Functions that perform collective operations and manage communicators. This collective interface works only with PWC/GWC probing. More...

Files

file  photon_collectives.h
 

Functions

int photon_collective_init (photonComm comm, photon_coll ctype, photon_cid local, photon_rid *request, int flags)
 
int photon_collective_join (photon_rid request, void *in, void *out, int scount, int rcount, photonDatatype stype, photonDatatype rtype, int root, photonOp op)
 
int photon_collective_comm_create (void *active, int num_active, int total, photonComm *c)
 In-progress communicator handling. More...
 
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)
 In-progress communicator handling. More...
 

Detailed Description

Functions that perform collective operations and manage communicators. This collective interface works only with PWC/GWC probing.

Function Documentation

◆ photon_collective_comm_create()

int photon_collective_comm_create ( void *  active,
int  num_active,
int  total,
photonComm c 
)

In-progress communicator handling.

Definition at line 552 of file libphoton.c.

◆ photon_collective_init()

int photon_collective_init ( photonComm  comm,
photon_coll  ctype,
photon_cid  local,
photon_rid request,
int  flags 
)

Initialize a Photon collective operation of type ctype. This function prepares a new collective request referenced by the returned request handle. A local completion identifier is passed as a parameter and will be returned by a subsequent photon_probe_completion() call once joined and completed.

As with the PWC/GWC interface, flags may be set to PHOTON_REQ_PWC_NO_LCE to prevent the probing of the local CID if not needed.

Parameters
commmThe communicator to use for this collective
ctypeThe type of collective to initialize
localThe completion identifier to probe for
requestA pointer to a photon_rid that will be filled in with a unique ID
flagsFlags that control the initialization and CID return behavior
Returns
PHOTON_OK on success or an error code

Definition at line 540 of file libphoton.c.

◆ photon_collective_init_new_comm()

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 
)

In-progress communicator handling.

Definition at line 557 of file libphoton.c.

◆ photon_collective_join()

int photon_collective_join ( photon_rid  request,
void *  in,
void *  out,
int  scount,
int  rcount,
photonDatatype  stype,
photonDatatype  rtype,
int  root,
photonOp  op 
)

Joins a previously initialized Photon collective operation identified by the request parameter. This method requires the in, out data, stype, rtype, and op arguments specific to the previously declared photon_coll ctype at collective initialization. If particular parametera are not required for the ctype (e.g. PHOTON_COLL_BARRIER), they may be set to NULL.

Parameters
requestThe previously initialized collective request handle
inThe input data for the collective
outThe output (return) data for the collective
scountThe number of elements in the input data
rcountThe number of elements in the output (recv) data
stypeThe type of elements in the input data
rtypeThe type of elements in the output (recv) data
rootThe address (rank) of the receiving process (if required)
opThe collective-specific operation to perform (if required)
Returns
PHOTON_OK on success or an error code

Definition at line 546 of file libphoton.c.