示例#1
0
    def apply(self, sdfg):
        # Avoid import loops
        from dace.transformation.interstate import NestSDFG
        from dace.transformation.interstate import FPGATransformState

        sdfg_id = sdfg.sdfg_list.index(sdfg)
        nesting = NestSDFG(sdfg_id, -1, {}, self.expr_index)
        nesting.promote_global_trans = True
        nesting.apply(sdfg)

        fpga_transform = FPGATransformState(
            sdfg_id, -1, {FPGATransformState._state: 0}, self.expr_index)
        fpga_transform.apply(sdfg)
示例#2
0
    def apply(self, _, sdfg):
        # Avoid import loops
        from dace.transformation.interstate import NestSDFG
        from dace.transformation.interstate import FPGATransformState

        sdfg_id = sdfg.sdfg_id
        nesting = NestSDFG(sdfg, sdfg_id, -1, {}, self.expr_index)
        nesting.promote_global_trans = self.promote_global_trans
        nesting.apply(sdfg, sdfg)

        # The state ID is zero since we applied NestSDFG and have only one state in the new SDFG
        fpga_transform = FPGATransformState(sdfg, sdfg_id, -1,
                                            {FPGATransformState.state: 0},
                                            self.expr_index)
        fpga_transform.apply(sdfg, sdfg)