|
def | __init__ (self, *Accelerator accelerator, LayerNode layer, SpatialMappingInternal spatial_mapping, TemporalMappingType mapping_type, **Any kwargs) |
| Initialize the engine with the given: More...
|
|
def | run (self, Queue cme_queue) |
| Call the necessary methods, start the processes and collect the best temporal mapping found during the run. More...
|
|
def | run_simulated_annealing_opt (self, cme_queue) |
| Run a simulated annealing optimization on the loop ordering using a loma memory allocation strategy. More...
|
|
def | get_temporal_loops (self) |
| Get all loops that have to be temporally scheduled given layer and spatial mapping. More...
|
|
def | get_prime_factors (self) |
| Get the prime factors for all temporal loops in the following format: [('C', 2), ('OY', 2), ('OX', 2), ('K', 7), ...]. More...
|
|
Class that handles optimization of temporal mapping given a:
- layer
- spatial mapping
- memory hierarchy
- number of iterations
- start temperature This optimization is carried out through simulated annealing loop order based. Each loop is broken down to the smallest possible part (prime factors), then a runtime estimation is performed to choose the fastest engine to use (LOMA or SALSA).
TODO cleanup
def get_prime_factors |
( |
|
self | ) |
|
Get the prime factors for all temporal loops in the following format: [('C', 2), ('OY', 2), ('OX', 2), ('K', 7), ...].