TimeloopFE
Loading...
Searching...
No Matches
timeloopfe.v4.mapper.Mapper Class Reference

A mapper object that holds various attributes and settings for mapping operations in Timeloop. More...

Inheritance diagram for timeloopfe.v4.mapper.Mapper:
Collaboration diagram for timeloopfe.v4.mapper.Mapper:

Public Member Functions

 declare_attrs (cls, *args, **kwargs)
 Initialize the attributes of this node.
 
 __init__ (self, *args, **kwargs)
 
- Public Member Functions inherited from timeloopfe.common.nodes.DictNode
 require_one_of (cls, *args)
 Require that at least one of the given keys is present.
 
 require_all_or_none_of (cls, *args)
 Require that all or none of the given keys are present.
 
"DictNode" combine (self, "DictNode" other)
 Combines this dictionary with another dictionary.
 
"DictNode" from_yaml_files (cls, *Union[str, List[str]] files, Dict[str, Any] jinja_parse_data=None, **kwargs)
 Loads a dictionary from one more more yaml files.
 
Any __getitem__ (self, Any __key)
 Get the value at the given key or index.
 
None __setitem__ (self, Any __key, Any __value)
 Set the value at the given key or index.
 
Any get (self, Any __key, Any __default=None)
 Gets a key from the dictionary.
 
Any setdefault (self, Any __key, Any __default=None)
 Sets the default value for a key.
 
Any pop (self, Any __key, Any __default=None)
 Pops a key from the dictionary.
 
None check_unrecognized (self, *args, **kwargs)
 Check for unrecognized keys in this node and all subnodes.
 
 __getattr__ (self, name)
 Index into the attributes or the contents of this node.
 
 __setattr__ (self, name, value)
 
- Public Member Functions inherited from timeloopfe.common.nodes.Node
 get_specifiers_from_processors (cls, "BaseSpecification" spec)
 Get the specifiers that have been set from processors.
 
 reset_specifiers_from_processors (cls, Optional[Type] processor=None)
 Reset the specifiers that have been set from processors.
 
 reset_processor_elems (cls, Optional[Type] processor=None)
 
 recognize_all (cls, bool recognize_all=True)
 Set whether all attributes under this node should be recognized.
 
str get_tag (self)
 Get the tag of this node.
 
Iterable[Tuple[Union[str, int], Any]] items (self)
 Get iterable of (key, value) or (index, value) pairs.
 
T combine_index (self, Union[str, int] key, T value)
 Combine the value at the given key with the given value.
 
str get_name (self, Union[Set, None] seen=None)
 Get the name of this node.
 
Any recursive_apply (self, callable func, bool self_first=False, set applied_to=None)
 Apply a function to this node and all subnodes.
 
 clean_empties (self)
 Remove empty nodes from this node and all subnodes.
 
bool isempty (self)
 Return True if this node is empty.
 
bool isempty_recursive (self)
 Return True if this node or all subnodes are empty.
 
 add_attr (cls, str key_or_tag, Optional[Union[type, Tuple[type,...], Tuple[None,...], Tuple[str,...], None]] required_type=None, Any default=default_unspecified_, Optional[Callable] callfunc=None, Optional[bool] part_name_match=None, Optional[bool] no_change_key=None, Any _processor_responsible_for_removing=None, Optional[Dict[str, TypeSpecifier]] _add_checker_to=None)
 Initialize a type specifier for this class.
 
List[Tget_nodes_of_type (self, Type[T] node_type)
 Return a list of all subnodes of a given type.
 
Callable get_setter_lambda (self, Union[str, int] keytag)
 Get a function that can be used to set a value in this node.
 
Callable get_combiner_lambda (self, Union[str, int] keytag)
 Get a function that can be used to combine a value to this node.
 
List[Tuple[Any, Callable]] get_setters_for_keytag (self, str keytag, bool recursive=True)
 Get a list of tuples of the form (value, setter) for all keys/tags in this node that match the given key/tag.
 
List[Tuple[Any, Callable]] get_combiners_for_keytag (self, str keytag, bool recursive=True)
 Get a list of tuples of the form (value, combiner) for all keys/tags in this node that match the given key/tag.
 
List[Tuple[Any, Callable]] get_setters_for_type (self, Type t, bool recursive=True)
 Get a list of tuples of the form (value, setter) for all keys/tags in this node that match the given type.
 
List[Tuple[Any, Callable]] get_combiners_for_type (self, Type t, bool recursive=True)
 Get a list of tuples of the form (value, combiner) for all keys/tags in this node that match the given type.
 
 __str__ (self)
 Return the name of this node.
 
 __format__ (self, format_spec)
 Formats the name of this node.
 
bool is_defined_non_default_non_empty (self, str key)
 Returns True if the given key is defined in this node and is not the default value and is not empty.
 
 parse_expressions (self, Optional[Dict[str, Any]] symbol_table=None, Optional[set] parsed_ids=None, Optional[Callable] callfunc=None)
 Parse expressions in this node and all subnodes.
 
 unique_class_name (cls)
 Return a unique name for this class.
 

Public Attributes

str version = self["version"]
 
str out_prefix = self["out_prefix"]
 
int num_threads = self["num_threads"]
 
OptimizationMetrics optimization_metric = self["optimization_metric"]
 
int search_size = self["search_size"]
 
int timeout = self["timeout"]
 
int victory_condition = self["victory_condition"]
 
int sync_interval = self["sync_interval"]
 
int log_interval = self["log_interval"]
 
bool log_oave_mappings = self["log_oave_mappings"]
 
bool log_all_mappings = self["log_all_mappings"]
 
bool log_mappings_yaml = self["log_mappings_yaml"]
 
bool log_mappings_verbose = self["log_mappings_verbose"]
 
bool log_stats = self["log_stats"]
 
bool log_suboptimal = self["log_suboptimal"]
 
bool live_status = self["live_status"]
 
bool diagnostics = self["diagnostics"]
 
bool penalize_consecutive_bypass_fails
 
bool emit_whoop_nest = self["emit_whoop_nest"]
 
str algorithm = self["algorithm"]
 
bool filter_revisits = self["filter_revisits"]
 
int max_permutations_per_if_visit = self["max_permutations_per_if_visit"]
 
- Public Attributes inherited from timeloopfe.common.nodes.DictNode
 spec
 
- Public Attributes inherited from timeloopfe.common.nodes.Node
Node parent_node = None
 
"BaseSpecification" spec = Node.get_global_spec()
 
 logger = logging.getLogger(self.__class__.__name__)
 
 from_data = None
 

Additional Inherited Members

- Static Public Member Functions inherited from timeloopfe.common.nodes.Node
"BaseSpecification" get_global_spec ()
 Get the global specification object.
 
 set_global_spec ("BaseSpecification" spec)
 Set the global specification object.
 
Any try_combine (Any a, Any b, Union["Node", None] innonde=None, Union[int, str, None] index=None)
 Try to combine two values.
 
- Protected Member Functions inherited from timeloopfe.common.nodes.DictNode
 _update_combine_pre_parse (self, dict other)
 
None _check_alias (self, key)
 
- Protected Member Functions inherited from timeloopfe.common.nodes.Node
Dict[str, TypeSpecifier_get_type_specifiers (cls, "BaseSpecification" spec)
 Get the type specifiers for this node.
 
 _get_all_recognized (self)
 
Dict[Union[str, int], TypeSpecifier_get_index2checker (self, Optional[List[Tuple[str, Any]]] key2elem=None)
 
 _parse_elem (self, Union[str, int] key, TypeSpecifier check, Any value_override=None)
 
 _parse_elems (self)
 
 _parse_extra_elems (self, List[Tuple[str, Any]] key2elem)
 
 _check_unrecognized (self, ignore_empty=False, ignore_should_have_been_removed_by=False)
 
 _parse_expression (self, Union[str, int] index, Dict[str, Any] symbol_table, Optional[TypeSpecifier] checker=None)
 
- Static Protected Member Functions inherited from timeloopfe.common.nodes.Node
str _get_tag (x)
 
- Protected Attributes inherited from timeloopfe.common.nodes.DictNode
 _require_one_of = _require_one_of
 
 _require_all_or_none_of = _require_all_or_none_of
 
- Protected Attributes inherited from timeloopfe.common.nodes.Node
tuple _init_args = (args, kwargs)
 
bool _default_parse = False
 

Detailed Description

A mapper object that holds various attributes and settings for mapping operations in Timeloop.

Attributes: version (str): The version of the mapper. out_prefix (str): The prefix for output files generated by the mapper. num_threads (int): The number of threads to use for mapping. optimization_metric (OptimizationMetrics): The optimization metric to use for mapping. search_size (int): The size of the search space for mapping. timeout (int): The timeout value for mapping operations. victory_condition (int): The victory condition for mapping. sync_interval (int): The synchronization interval for mapping. log_interval (int): The interval for logging mapping information. log_oaves (bool): Flag indicating whether to log OAVEs (Overall Average Energy). log_oaves_mappings (bool): Flag indicating whether to log OAVEs for each mapping. log_stats (bool): Flag indicating whether to log mapping statistics. log_suboptimal (bool): Flag indicating whether to log suboptimal mappings. live_status (bool): Flag indicating whether to display live mapping status. diagnostics (bool): Flag indicating whether to enable mapping diagnostics. penalize_consecutive_bypass_fails (bool): Flag indicating whether to penalize consecutive bypass fails. emit_whoop_nest (bool): Flag indicating whether to emit the Whoop nest. algorithm (str): The mapping algorithm to use. filter_revisits (bool): Flag indicating whether to filter revisited mappings. max_permutations_per_if_visit (int): The maximum number of permutations per index factorization visit.

Constructor & Destructor Documentation

◆ __init__()

timeloopfe.v4.mapper.Mapper.__init__ ( self,
* args,
** kwargs )

Reimplemented from timeloopfe.common.nodes.DictNode.

Member Function Documentation

◆ declare_attrs()

timeloopfe.v4.mapper.Mapper.declare_attrs ( cls,
* args,
** kwargs )

Initialize the attributes of this node.

Reimplemented from timeloopfe.common.nodes.Node.

Member Data Documentation

◆ algorithm

str timeloopfe.v4.mapper.Mapper.algorithm = self["algorithm"]

◆ diagnostics

bool timeloopfe.v4.mapper.Mapper.diagnostics = self["diagnostics"]

◆ emit_whoop_nest

bool timeloopfe.v4.mapper.Mapper.emit_whoop_nest = self["emit_whoop_nest"]

◆ filter_revisits

bool timeloopfe.v4.mapper.Mapper.filter_revisits = self["filter_revisits"]

◆ live_status

bool timeloopfe.v4.mapper.Mapper.live_status = self["live_status"]

◆ log_all_mappings

bool timeloopfe.v4.mapper.Mapper.log_all_mappings = self["log_all_mappings"]

◆ log_interval

int timeloopfe.v4.mapper.Mapper.log_interval = self["log_interval"]

◆ log_mappings_verbose

bool timeloopfe.v4.mapper.Mapper.log_mappings_verbose = self["log_mappings_verbose"]

◆ log_mappings_yaml

bool timeloopfe.v4.mapper.Mapper.log_mappings_yaml = self["log_mappings_yaml"]

◆ log_oave_mappings

bool timeloopfe.v4.mapper.Mapper.log_oave_mappings = self["log_oave_mappings"]

◆ log_stats

bool timeloopfe.v4.mapper.Mapper.log_stats = self["log_stats"]

◆ log_suboptimal

bool timeloopfe.v4.mapper.Mapper.log_suboptimal = self["log_suboptimal"]

◆ max_permutations_per_if_visit

int timeloopfe.v4.mapper.Mapper.max_permutations_per_if_visit = self["max_permutations_per_if_visit"]

◆ num_threads

int timeloopfe.v4.mapper.Mapper.num_threads = self["num_threads"]

◆ optimization_metric

OptimizationMetrics timeloopfe.v4.mapper.Mapper.optimization_metric = self["optimization_metric"]

◆ out_prefix

str timeloopfe.v4.mapper.Mapper.out_prefix = self["out_prefix"]

◆ penalize_consecutive_bypass_fails

bool timeloopfe.v4.mapper.Mapper.penalize_consecutive_bypass_fails
Initial value:
= self[
"penalize_consecutive_bypass_fails"
]

◆ search_size

int timeloopfe.v4.mapper.Mapper.search_size = self["search_size"]

◆ sync_interval

int timeloopfe.v4.mapper.Mapper.sync_interval = self["sync_interval"]

◆ timeout

int timeloopfe.v4.mapper.Mapper.timeout = self["timeout"]

◆ version

str timeloopfe.v4.mapper.Mapper.version = self["version"]

◆ victory_condition

int timeloopfe.v4.mapper.Mapper.victory_condition = self["victory_condition"]

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