remove input_ids from ForwardMeta (#4793)
CE Compile Job / ce_job_pre_check (push) Has been cancelled
CE Compile Job / print_ce_job_pre_check_outputs (push) Has been cancelled
CE Compile Job / FD-Clone-Linux (push) Has been cancelled
CE Compile Job / Show Code Archive Output (push) Has been cancelled
CE Compile Job / BUILD_SM8090 (push) Has been cancelled
CE Compile Job / BUILD_SM8689 (push) Has been cancelled
CE Compile Job / CE_UPLOAD (push) Has been cancelled
Deploy GitHub Pages / deploy (push) Has been cancelled

This commit is contained in:
周周周
2025-11-05 11:55:51 +08:00
committed by GitHub
parent 9676cc87d6
commit 876e4a8935
13 changed files with 26 additions and 41 deletions
@@ -42,12 +42,12 @@ class TestCase1SubLayer1(paddle.nn.Layer):
def forward(self, ids_remove_padding, forward_meta: ForwardMeta):
"""Sub layer1 forward pass"""
output = paddle.add(forward_meta.input_ids, forward_meta.input_ids)
output = paddle.add(forward_meta.ids_remove_padding, forward_meta.ids_remove_padding)
return output
def forward_correct(self, ids_remove_padding, forward_meta: ForwardMeta):
"""Sub layer1 Correct forward pass"""
output = paddle.add(forward_meta.input_ids, forward_meta.input_ids)
output = paddle.add(forward_meta.ids_remove_padding, forward_meta.ids_remove_padding)
return output
@@ -59,15 +59,15 @@ class TestCase1SubLayer2(paddle.nn.Layer):
def forward(self, ids_remove_padding, forward_meta: ForwardMeta):
"""Sub layer2 forward pass"""
x = forward_meta.input_ids
y = forward_meta.input_ids
x = forward_meta.ids_remove_padding
y = forward_meta.ids_remove_padding
output = x + y
return output
def forward_correct(self, ids_remove_padding, forward_meta: ForwardMeta):
"""Sub layer2 Correct forward pass"""
x = forward_meta.input_ids
y = forward_meta.input_ids
x = forward_meta.ids_remove_padding
y = forward_meta.ids_remove_padding
output = x + y
return output
@@ -81,12 +81,12 @@ class TestCase1SubLayer3(paddle.nn.Layer):
def forward(self, ids_remove_padding, forward_meta: ForwardMeta):
"""Sub layer3 forward pass"""
output = paddle.matmul(forward_meta.input_ids, forward_meta.input_ids)
output = paddle.matmul(forward_meta.ids_remove_padding, forward_meta.ids_remove_padding)
return output
def forward_correct(self, ids_remove_padding, forward_meta: ForwardMeta):
"""Sub layer3 Correct forward pass"""
output = paddle.matmul(forward_meta.input_ids, forward_meta.input_ids)
output = paddle.matmul(forward_meta.ids_remove_padding, forward_meta.ids_remove_padding)
return output
@@ -110,13 +110,12 @@ class TestModel1(paddle.nn.Layer):
sublayer1_output = self.sublayer1(ids_remove_padding=ids_remove_padding, forward_meta=sub_meta1)
# sublayer2 not use cuda graph
sub_meta2 = ForwardMeta(input_ids=sublayer1_output, ids_remove_padding=sublayer1_output)
sub_meta2 = ForwardMeta(ids_remove_padding=sublayer1_output)
sublayer2_output = self.sublayer2(ids_remove_padding=sublayer1_output, forward_meta=sub_meta2)
self.sublayer2_output_buffer.copy_(sublayer2_output, False)
# sublayer3 use cuda graph
sub_meta3 = ForwardMeta(
input_ids=self.sublayer2_output_buffer,
ids_remove_padding=self.sublayer2_output_buffer,
step_use_cudagraph=True,
)
@@ -134,11 +133,11 @@ class TestModel1(paddle.nn.Layer):
)
# sublayer2 not use cuda graph
sub_meta2 = ForwardMeta(input_ids=sublayer1_output, ids_remove_padding=sublayer1_output)
sub_meta2 = ForwardMeta(ids_remove_padding=sublayer1_output)
sublayer2_output = self.sublayer2.forward_correct(ids_remove_padding=sublayer1_output, forward_meta=sub_meta2)
# sublayer3 not use cuda graph
sub_meta3 = ForwardMeta(input_ids=sublayer2_output, ids_remove_padding=sublayer2_output)
sub_meta3 = ForwardMeta(ids_remove_padding=sublayer2_output)
sublayer3_output = self.sublayer3.forward_correct(ids_remove_padding=sublayer2_output, forward_meta=sub_meta3)
return sublayer3_output
@@ -175,7 +174,7 @@ class TestCUDAGrpahSubgraph(unittest.TestCase):
# Run Test Case1
test_model1 = TestModel1(fd_config=fd_config)
input_tensor1 = paddle.ones([8])
forward_meta1 = ForwardMeta(input_ids=input_tensor1, ids_remove_padding=input_tensor1, step_use_cudagraph=True)
forward_meta1 = ForwardMeta(ids_remove_padding=input_tensor1, step_use_cudagraph=True)
# Trigger Capture
_ = test_model1(ids_remove_padding=input_tensor1, forward_meta=forward_meta1)