typedef ... CmiGroup;
A CmiGroup represents a set of processors. It is an opaque type.
Group IDs are useful for the multicast functions below.
CmiGroup CmiEstablishGroup(int npes, int *pes);
Converts an array of processor numbers into a group ID. Group
IDs are useful for the multicast functions below. Caution: this call
uses up some resources. In particular, establishing a group uses
some network bandwidth (one broadcast's worth) and a small amount of
memory on all processors.
void CmiSyncMulticast(CmiGroup grp, unsigned int size, void *msg)
Sends msg of length size bytes to all members
of the specified group. Group IDs are created using
CmiEstablishGroup.
void CmiSyncMulticastAndFree(CmiGroup grp, unsigned int size, void *msg)
Sends msg of length size bytes to all members
of the specified group. Uses CmiFree to deallocate the
message buffer for msg when the broadcast completes. Therefore
msg must point to a buffer allocated with CmiAlloc.
Group IDs are created using CmiEstablishGroup.
CmiCommHandle CmiAsyncMulticast(CmiGroup grp, unsigned int size, void *msg)
(Note: Not yet implemented.) Initiates asynchronous broadcast of
message msg of length size bytes to all members of
the specified group. It returns a communication handle which could
be used to check the status of this send using
CmiAsyncMsgSent. If the returned communication handle is 0,
message buffer can be reused immediately, thus saving a call to
CmiAsyncMsgSent. msg should not be overwritten or
freed before the communication is complete.
Group IDs are created using CmiEstablishGroup.
void CmiSyncListSend(int npes, int *pes, unsigned int size, void *msg)
Sends msg of length size bytes to npes processors in the
array pes.
void CmiSyncListSendAndFree(int npes, int *pes, unsigned int size, void *msg)
Sends msg of length size bytes to npes processors in the
array pes. Uses CmiFree to deallocate the message buffer for msg
when the multicast completes. Therefore, msg must point to a buffer
allocated with CmiAlloc.
CmiCommHandle CmiAsyncListSend(int npes, int *pes, unsigned int size, void *msg)
Initiates asynchronous multicast of message msg of length size
bytes to npes processors in the array pes. It returns a communication
handle which could be used to check the status of this send using
CmiAsyncMsgSent. If the returned communication handle is 0, message buffer
can be reused immediately, thus saving a call to CmiAsyncMsgSent. msg
should not be overwritten or freed before the communication is complete.
June 29, 2008
Converse Homepage
Charm Homepage