def __init__( self, name, grouping_name, num_cb_name, col_name, iter_sub_space_relation, erg_func_name, iter_space_trans ): Transformation.__init__(self, name) self.grouping_name = grouping_name self.num_cb_name = num_cb_name self.col_name = col_name self.iter_sub_space_relation = iter_sub_space_relation self.erg_func_name = erg_func_name self.iter_space_trans = iter_space_trans
def __init__(self,name,grouping_name,num_tile_name,iter_sub_space_relation,iter_seed_space_relation,to_deps,from_deps,erg_func_name,iter_space_trans): Transformation.__init__(self,name) self.grouping_name=grouping_name self.num_tile_name=num_tile_name self.iter_sub_space_relation=iter_sub_space_relation self.iter_seed_space_relation=iter_seed_space_relation self.to_deps=to_deps self.from_deps=from_deps self.erg_func_name=erg_func_name self.iter_space_trans=iter_space_trans
def __init__(self,name,reordering_name,data_arrays,iter_sub_space_relation,target_data_arrays,erg_func_name): Transformation.__init__(self,name) self.reordering_name=reordering_name self.data_arrays=data_arrays self.iter_sub_space_relation=iter_sub_space_relation self.target_data_arrays=target_data_arrays self.erg_func_name=erg_func_name #Calculate the data reordering relation self._data_reordering=Relation('{[%s_in]->[%s_out]: %s_out=%s(%s_in)}'%(5*(self.reordering_name,))) #Make sure the target data arrays all have the same bounds #We do this by unioning all bounds and simply checking that there is a single conjunction in the disjunction target_bounds=[data_array.bounds for data_array in self.target_data_arrays] unioned_bounds=reduce(lambda da1,da2: da1.union(da2),target_bounds) if len(unioned_bounds)!=1: raise ValueError('All target data arrays must have the same bounds')
def __init__(self,name,statement_name,tiling_name,erg_func_name): Transformation.__init__(self,name) self.statement_name=statement_name self.tiling_name=tiling_name self.erg_func_name=erg_func_name
def __init__(self,name,iter_space_trans): Transformation.__init__(self,name) self.iter_space_trans=iter_space_trans