The tuner base for hashmap-based item-tuners. More...
|Public Member Functions inherited from item_tuner< Internal::hash_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. |
The tuner base for hashmap-based item-tuners.
The internal hash-map uses cnc_tag_hash_compare. If your tag-type is not supported by default, you need to provide a template specialization for it.