Tulip_Group
In Tulip, computation consists of a set of nodes, each of which
contains one or more contexts. Each context runs one or more threads.
Groups are used to identify sets of threads and sets of contexts that participate
in collective operations like barriers. The Tulip_Group class has
the following public interface.
Class Definition
class Tulip_Group{
public:
// Create a new group for the current context.
Tulip_Group(tulip_id_t &groupID = TULIP_GEN_LOCAL_GROUPID,
const char *name = NULL);
// Create a group whose membership is this context
//and those in the list
Tulip_Group(const Tulip_ContextID *&id,
int count,
tulip_id_t &groupID = TULIP_GEN_LOCAL_GROUPID,
const char *name = NULL);
~Tulip_Group();
tulip_id_t &getGroupID();
static Tulip_Group *getGroup(tulip_id_t groupID);
// Get the number of contexts that are participating
// in this group
int getNumContexts();
// Return an ordered array of context IDs in
// this group. This array is identical for every member
// of the group.
Tulip_ContextID *getContextIDs();
// Return the context id for zero-based context <n> where
// <n> is less than the current number of contexts
Tulip_ContextID getContextID(int context);
// Set the number of threads for this group in *this*
// context.
void setNumThreads(int count);
int getNumThreads();
void setName(const char *name);
const char *getName();
};
Examples
Suvas Vajracharya
Last
modified: Wed Oct 22 13:52:43 EST 1997