Added new resource algorithm for minimizing pe -> memory connections etc
5 unresolved threads
5 unresolved threads
- Fixed bug in RecursiveListScheduler.
- Improved performance in ListScheduler by modifying evaluation order.
- Added show() method for Architecture so it can be rendered without an enriched shell.
- Added new resource algorithm for minimizing pe -> memory connections and prepared for one that will minimize memory -> pe connections.
Edited by Simon Bjurek
Merge request reports
Activity
added Resource allocation Scheduling labels
assigned to @simbj106
added 1 commit
- 2c053b15 - Added new resource algorithm for minimizing pe -> memory connections, prepared...
981 if processing_elements is None: 982 raise ValueError( 983 "processing_elements must be provided if heuristic = 'min_mem_to_pe'" 984 ) 985 return self._split_ports_minimize_memory_to_pe_connections( 986 read_ports, 987 write_ports, 988 total_ports, 989 sequence=sorted(self), 990 processing_elements=processing_elements, 957 991 ) 958 992 else: 959 993 raise ValueError("Invalid heuristic provided.") 960 994 961 def split_ports_sequentially( 995 def _split_ports_sequentially( 939 946 The total number of ports used when splitting process collection based on 940 947 memory variable access. 941 948 949 processing_elements : list[ProcessingElements], optional 924 924 raise KeyError(f"{proc} not in {source.entity_name}") 925 925 self._build_dicts() 926 926 927 def show( 928 self, 929 fmt: str | None = None, 930 branch_node: bool = True, 931 cluster: bool = True, 932 splines: str = "spline", 1046 1051 ) 1047 1052 ) 1048 # Return the list of created ProcessCollections 1049 1053 return collections 1050 1054 1055 def _split_ports_minimize_pe_to_memory_connections( 1056 self, 1057 read_ports: int, 1058 write_ports: int, 1059 total_ports: int, 1060 sequence: list[Process], 1061 processing_elements: list["ProcessingElement"], 1062 ) -> list["ProcessCollection"]: 1063 1064 if set(self.collection) != set(sequence): 1065 raise KeyError("processes in `sequence` must be equal to processes in self") mentioned in merge request !508 (merged)
Please register or sign in to reply