From 4adbcaaffa8957db8258a2c5f17922b65a5e070f Mon Sep 17 00:00:00 2001 From: Jerry Zhang Date: Fri, 14 Nov 2025 17:37:03 -0800 Subject: [PATCH] Add `enable_fusion_modeling` for conv2d and conv3d Summary: This is to have more accurate benchmarking for fusion Test Plan: ``` python $SCRIPT_PATH $OUTPUT_FILE \ --recipe_name $RECIPE_NAME \ --shape_gen_name $SHAPE_GEN_NAME \ --M $M --K $K --N $N \ --D $D --H $H --W $W \ --kernel_size $kernel_size \ --enable_fusion_modeling \ --op_name conv3d ``` Reviewers: Subscribers: Tasks: Tags: --- .../float8/float8_inference_roofline.py | 26 ++++++++++++++----- 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/benchmarks/float8/float8_inference_roofline.py b/benchmarks/float8/float8_inference_roofline.py index f5fa75cfb9..675c7f166f 100644 --- a/benchmarks/float8/float8_inference_roofline.py +++ b/benchmarks/float8/float8_inference_roofline.py @@ -370,13 +370,27 @@ def run( if do_benchmarks: # create the model if op_name == "conv2d": - m_orig = nn.Sequential( - nn.Conv2d(K_val, N_val, kernel_size, bias=False) - ).to(memory_format=torch.channels_last) + if not enable_fusion_modeling: + m_orig = nn.Sequential( + nn.Conv2d(K_val, N_val, kernel_size, bias=False) + ).to(memory_format=torch.channels_last) + else: + m_orig = nn.Sequential( + nn.ReLU(), + nn.Conv2d(K_val, N_val, kernel_size, bias=False), + nn.ReLU(), + ).to(memory_format=torch.channels_last) elif op_name == "conv3d": - m_orig = nn.Sequential( - nn.Conv3d(K_val, N_val, kernel_size, bias=False) - ).to(memory_format=torch.channels_last_3d) + if not enable_fusion_modeling: + m_orig = nn.Sequential( + nn.Conv3d(K_val, N_val, kernel_size, bias=False) + ).to(memory_format=torch.channels_last_3d) + else: + m_orig = nn.Sequential( + nn.ReLU(), + nn.Conv3d(K_val, N_val, kernel_size, bias=False), + nn.ReLU(), + ).to(memory_format=torch.channels_last_3d) else: if not enable_fusion_modeling: m_orig = nn.Sequential(nn.Linear(K_val, N_val, bias=False))