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