TimeloopFE
Loading...
Searching...
No Matches
timeloopfe.v4.arch.StorageAttributes Class Reference

Represents the attributes of a storage element. More...

Inheritance diagram for timeloopfe.v4.arch.StorageAttributes:
Collaboration diagram for timeloopfe.v4.arch.StorageAttributes:

Public Member Functions

 declare_attrs (cls, *args, **kwargs)
 Initialize the attributes of this node.
 
 __init__ (self, *args, **kwargs)
 
 declare_attrs (cls, *args, **kwargs)
 Initialize the attributes of this node.
 
 __init__ (self, *args, **kwargs)
 
- Public Member Functions inherited from timeloopfe.v4.arch.Attributes
- 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

Union[str, int] datawidth = self["datawidth"]
 
Union[str, int] technology = self["technology"]
 
Union[str, int] n_banks = self["n_banks"]
 
Union[str, Number] block_size = self["block_size"]
 
Union[str, Number] cluster_size = self["cluster_size"]
 
Union[str, Number] depth = self["depth"]
 
Union[str, Number] entries = self["entries"]
 
Union[str, Number] sizeKB = self["sizeKB"]
 
Union[str, bool] reduction_supported = self["reduction_supported"]
 
Union[str, Number] multiple_buffering = self["multiple_buffering"]
 
Union[str, Number] min_utilization = self["min_utilization"]
 
Union[str, Number] shared_bandwidth = self["shared_bandwidth"]
 
Union[str, Number] read_bandwidth = self["read_bandwidth"]
 
Union[str, Number] write_bandwidth = self["write_bandwidth"]
 
Union[str, int] network_fill_latency = self["network_fill_latency"]
 
Union[str, int] network_drain_latency = self["network_drain_latency"]
 
Union[str, bool] allow_overbooking = self["allow_overbooking"]
 
Union[str, int] metadata_block_size = self["metadata_block_size"]
 
Union[str, int] metadata_datawidth = self["metadata_datawidth"]
 
Union[str, int] metadata_storage_width = self["metadata_storage_width"]
 
Union[str, int] metadata_storage_depth = self["metadata_storage_depth"]
 
Union[str, bool] concordant_compressed_tile_traversal
 
Union[str, bool] tile_partition_supported
 
Union[str, bool] decompression_supported = self["decompression_supported"]
 
Union[str, bool] compression_supported = self["compression_supported"]
 
- 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.v4.arch.Attributes
bool _default_parse = True
 
- 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

Represents the attributes of a storage element.

This class provides methods to declare and initialize various attributes related to a storage element, such as datawidth, technology, number of banks, block size, cluster size, etc.

Attributes: datawidth (Union[str, int]): The datawidth of the storage element. technology (Union[str, int]): The technology used for the storage element. n_banks (Union[str, int]): The number of banks in the storage element. block_size (Union[str, Number]): The block size of the storage element. cluster_size (Union[str, Number]): The cluster size of the storage element. depth (Union[str, Number]): The depth of the storage element. entries (Union[str, Number]): The number of entries in the storage element. sizeKB (Union[str, Number]): The size of the storage element in kilobytes. reduction_supported (Union[str, bool]): Indicates if reduction is supported. multiple_buffering (Union[str, Number]): The level of multiple buffering. min_utilization (Union[str, Number]): The minimum utilization of the storage element. shared_bandwidth (Union[str, Number]): The shared bandwidth of the storage element. read_bandwidth (Union[str, Number]): The read bandwidth of the storage element. write_bandwidth (Union[str, Number]): The write bandwidth of the storage element. network_fill_latency (Union[str, int]): The network fill latency of the storage element. network_drain_latency (Union[str, int]): The network drain latency of the storage element. allow_overbooking (Union[str, bool]): Indicates if overbooking is allowed. metadata_block_size (Union[str, int]): The block size of the metadata storage. metadata_datawidth (Union[str, int]): The datawidth of the metadata storage. metadata_storage_width (Union[str, int]): The storage width of the metadata storage. metadata_storage_depth (Union[str, int]): The storage depth of the metadata storage. concordant_compressed_tile_traversal (Union[str, bool]): Indicates if concordant compressed tile traversal is supported. tile_partition_supported (Union[str, bool]): Indicates if tile partition is supported. decompression_supported (Union[str, bool]): Indicates if decompression is supported. compression_supported (Union[str, bool]): Indicates if compression is supported.

Constructor & Destructor Documentation

◆ __init__() [1/2]

timeloopfe.v4.arch.StorageAttributes.__init__ ( self,
* args,
** kwargs )

Reimplemented from timeloopfe.v4.arch.Attributes.

◆ __init__() [2/2]

timeloopfe.v4.arch.StorageAttributes.__init__ ( self,
* args,
** kwargs )

Reimplemented from timeloopfe.v4.arch.Attributes.

Member Function Documentation

◆ declare_attrs() [1/2]

timeloopfe.v4.arch.StorageAttributes.declare_attrs ( cls,
* args,
** kwargs )

Initialize the attributes of this node.

Reimplemented from timeloopfe.v4.arch.Attributes.

◆ declare_attrs() [2/2]

timeloopfe.v4.arch.StorageAttributes.declare_attrs ( cls,
* args,
** kwargs )

Initialize the attributes of this node.

Reimplemented from timeloopfe.v4.arch.Attributes.

Member Data Documentation

◆ allow_overbooking

Union[str, bool] timeloopfe.v4.arch.StorageAttributes.allow_overbooking = self["allow_overbooking"]

◆ block_size

Union[str, Number] timeloopfe.v4.arch.StorageAttributes.block_size = self["block_size"]

◆ cluster_size

Union[str, Number] timeloopfe.v4.arch.StorageAttributes.cluster_size = self["cluster_size"]

◆ compression_supported

Union[str, bool] timeloopfe.v4.arch.StorageAttributes.compression_supported = self["compression_supported"]

◆ concordant_compressed_tile_traversal

Union[str, bool] timeloopfe.v4.arch.StorageAttributes.concordant_compressed_tile_traversal
Initial value:
= self[
"concordant_compressed_tile_traversal"
]

◆ datawidth

Union[str, int] timeloopfe.v4.arch.StorageAttributes.datawidth = self["datawidth"]

◆ decompression_supported

Union[str, bool] timeloopfe.v4.arch.StorageAttributes.decompression_supported = self["decompression_supported"]

◆ depth

Union[str, Number] timeloopfe.v4.arch.StorageAttributes.depth = self["depth"]

◆ entries

Union[str, Number] timeloopfe.v4.arch.StorageAttributes.entries = self["entries"]

◆ metadata_block_size

Union[str, int] timeloopfe.v4.arch.StorageAttributes.metadata_block_size = self["metadata_block_size"]

◆ metadata_datawidth

Union[str, int] timeloopfe.v4.arch.StorageAttributes.metadata_datawidth = self["metadata_datawidth"]

◆ metadata_storage_depth

Union[str, int] timeloopfe.v4.arch.StorageAttributes.metadata_storage_depth = self["metadata_storage_depth"]

◆ metadata_storage_width

Union[str, int] timeloopfe.v4.arch.StorageAttributes.metadata_storage_width = self["metadata_storage_width"]

◆ min_utilization

Union[str, Number] timeloopfe.v4.arch.StorageAttributes.min_utilization = self["min_utilization"]

◆ multiple_buffering

Union[str, Number] timeloopfe.v4.arch.StorageAttributes.multiple_buffering = self["multiple_buffering"]

◆ n_banks

Union[str, int] timeloopfe.v4.arch.StorageAttributes.n_banks = self["n_banks"]

◆ network_drain_latency

Union[str, int] timeloopfe.v4.arch.StorageAttributes.network_drain_latency = self["network_drain_latency"]

◆ network_fill_latency

Union[str, int] timeloopfe.v4.arch.StorageAttributes.network_fill_latency = self["network_fill_latency"]

◆ read_bandwidth

Union[str, Number] timeloopfe.v4.arch.StorageAttributes.read_bandwidth = self["read_bandwidth"]

◆ reduction_supported

Union[str, bool] timeloopfe.v4.arch.StorageAttributes.reduction_supported = self["reduction_supported"]

◆ shared_bandwidth

Union[str, Number] timeloopfe.v4.arch.StorageAttributes.shared_bandwidth = self["shared_bandwidth"]

◆ sizeKB

Union[str, Number] timeloopfe.v4.arch.StorageAttributes.sizeKB = self["sizeKB"]

◆ technology

Union[str, int] timeloopfe.v4.arch.StorageAttributes.technology = self["technology"]

◆ tile_partition_supported

Union[str, bool] timeloopfe.v4.arch.StorageAttributes.tile_partition_supported
Initial value:
= self[
"tile_partition_supported"
]

◆ write_bandwidth

Union[str, Number] timeloopfe.v4.arch.StorageAttributes.write_bandwidth = self["write_bandwidth"]

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