def apply_passes(self, main_prog, startup_prog):
     pass_manager = PassManager([
         new_pass("build_cinn"),
         new_pass("fuse_elewise_add_act"),
     ])
     pass_manager.apply([main_prog], [startup_prog])
     print(pass_manager.names)
 def apply_passes(self, main_prog, startup_prog):
     pass_manager = PassManager([
         new_pass("fuse_elewise_add_act"),
         new_pass("fuse_all_reduce", {"max_memory_size": 1024 * 1024})
     ])
     pass_manager.apply([main_prog], [startup_prog])
     print(pass_manager.names)
Example #3
0
 def apply_passes(self, main_prog, startup_prog):
     pass_manager = PassManager([
         new_pass("build_cinn"),
         new_pass("fuse_elewise_add_act"),
     ])
     pass_manager.apply([main_prog], [startup_prog])
     op_types = [op.type for op in main_prog.global_block().ops]
     self.assertTrue('cinn_launch' in op_types)
Example #4
0
    def apply_passes(self, main_prog, startup_prog):
        pass_manager = PassManager([new_pass("fuse_bn_act")])
        pass_manager.apply([main_prog], [startup_prog])
        print(pass_manager.names)

        op_type = []
        for op in main_prog.global_block().ops:
            op_type.append(op.type)
        self.assertTrue("fused_batch_norm_act" in op_type)
        self.assertTrue("fused_batch_norm_act_grad" in op_type)
    def apply_passes(self, main_prog, startup_prog):
        pass_manager = PassManager([new_pass("fuse_relu_depthwise_conv")])
        pass_manager.apply([main_prog], [startup_prog])
        print(pass_manager.names)

        op_type = []
        for op in main_prog.global_block().ops:
            if op.type == "depthwise_conv2d":
                self.assertTrue(op.desc.attr("fuse_relu_before_depthwise_conv"))
            op_type.append(op.type)
        self.assertTrue("depthwise_conv2d" in op_type)
Example #6
0
    def apply_passes(self, main_prog, startup_prog):
        pass_manager = PassManager(
            [new_pass("inplace_addto_op", {"use_cuda": True})])
        pass_manager.apply([main_prog], [startup_prog])
        print(pass_manager.names)

        conv2d_grad_attr = []
        for op in main_prog.global_block().ops:
            if op.type == "conv2d_grad":
                conv2d_grad_attr.append(op.desc.attr("use_addto"))
        self.assertTrue(True in conv2d_grad_attr)
    def apply_passes(self, main_prog, startup_prog):
        pass_manager = PassManager([new_pass("fuse_optimizer")])
        pass_manager.apply([main_prog], [startup_prog])
        print(pass_manager.names)

        op_type = []
        for op in main_prog.global_block().ops:
            op_type.append(op.type)
            if op.type == "adam":
                self.assertTrue("@FUSEDVAR@_adam_Param_batch_norm2d_0.b_0" in
                                op.input("Param"))
                self.assertTrue("@FUSEDVAR@_adam_Grad_batch_norm2d_0.b_0@GRAD"
                                in op.input("Grad"))
        self.assertTrue("coalesce_tensor" in op_type)