Newer
Older
from . import loop_enum as le
from . import buffer_enum as be
loop_orders = list(zip(*point.loop_orders))
loop_blockings = list(zip(*point.loop_blockings))
loop_partitionings = list(zip(*point.loop_partitionings))
para_dims = point.para_loop_dim
num_level = len(loop_orders)
order_lists = []
if loop_blockings[level][order] != 1 or loop_partitionings[level][order] != 1 :
order_list[loop_orders[level][order]] = (le.table[order],
loop_blockings[level][order],
loop_partitionings[level][order])
order_lists.append(order_list)
def print_best_schedule(point):
loop_orders = list(zip(*point.loop_orders))
loop_blockings = list(zip(*point.loop_blockings))
loop_partitionings = list(zip(*point.loop_partitionings))
para_dims = point.para_loop_dim
num_level = len(loop_orders)
order_lists = []
for level in range(num_level):
print("\tLevel Number: {}".format(level))
order_list = [None] * le.NUM
for order in range(le.NUM):
if loop_blockings[level][order] != 1 or loop_partitionings[level][order] != 1 :
order_list[loop_orders[level][order]] = (le.table[order],
loop_blockings[level][order],
loop_partitionings[level][order])
print("\t\tLoop Name: {}, Loop Bound: {}, Number of Unrolls: {}".format(le.table[order], loop_blockings[level][order], loop_partitionings[level][order]))
order_lists.append(order_list)
#print(order_lists)