diff --git a/paddle/fluid/framework/ir/conv_bias_mkldnn_fuse_pass.cc b/paddle/fluid/framework/ir/conv_bias_mkldnn_fuse_pass.cc index ebb217a70bd0fe69acf89cc4b58ae3b668ec0c0f..449cc78be15bcd2575ce2e6846b41e475f8921f6 100644 --- a/paddle/fluid/framework/ir/conv_bias_mkldnn_fuse_pass.cc +++ b/paddle/fluid/framework/ir/conv_bias_mkldnn_fuse_pass.cc @@ -71,6 +71,13 @@ std::unique_ptr ConvBiasFusePass::ApplyImpl( PADDLE_ENFORCE(subgraph.count(conv_input)); + // check if fuse can be done and if MKL-DNN should be used + FuseOptions fuse_option = FindFuseOption(*conv, *eltwise); + if (fuse_option == DO_NOT_FUSE || fuse_option == FUSE_NATIVE) { + VLOG(3) << "do not perform conv+bias fuse"; + return; + } + auto* eltwise_bias_tensor = scope->FindVar(eltwise_bias->Name())->GetMutable();