CnC
 All Classes Namespaces Functions Variables Typedefs Enumerator Friends Groups Pages
vector_tuner Struct Reference

The tuner base for vector-based item-tuners. More...

List of all members.

Additional Inherited Members

- Public Member Functions inherited from item_tuner< Internal::vec_item_table >
int get_count (const Tag &tag) const
 Allows specifying the number of gets to the given item.
int consumed_on (const Tag &tag) const
 Tells the scheduler on which process(es) this item is going to be consumed return process id where the item will be consumed (get), or CONSUMER_UNKNOWN (default) or std::vector<int>, containing all ids of consuming processes. To indicate that the consumer processes are unknown, return an empty vector. The vector must contain special values like CONSUMER_LOCAL. If not CnC::CONSUMER_UKNOWN (or empty vector), this declaration will overwrite what the step-tuner might declare in depends. Providing this method leads to the most efficient communication pattern for to getting the data to were it is needed.
int produced_on (const Tag &tag) const
 Tells the scheduler on which process(es) this item is going to be produced return process id where the item will be produced. If unknown return CnC::PRODUCER_UNKNOWN. return PRODUCER_LOCAL if local process is the owner. Implementing this method reduces the communication cost for locating and sending data. Implementing item_tuner::consumed_on is more efficient, but might be more complicated. Will be evaluated only if item_tuner::consumed_on returns CnC::CONSUMER_UNKNOWN.

Detailed Description

The tuner base for vector-based item-tuners.

Your tags must be convertable to and from size_t. You must provide the maximum value before accessing the collection (constructor or set_max). The runtime will allocate as many slots. Hence, use this only if your tags-space is dense, without a large offset and if it is not too large.

Definition at line 478 of file default_tuner.h.


The documentation for this struct was generated from the following file: