diff options
author | Gian Marco Iodice <gianmarco.iodice@arm.com> | 2019-08-14 07:55:50 +0100 |
---|---|---|
committer | Gian Marco Iodice <gianmarco.iodice@arm.com> | 2019-08-14 08:46:02 +0000 |
commit | f948b101d9edb0ea554f175425271b4226ba89de (patch) | |
tree | 0e3b84ab87b5598c1fc341889b7c470e187e082b /src/graph/mutators | |
parent | 9d3e7f9c2bcb56b9bfb867ac92db784484bbb816 (diff) | |
download | ComputeLibrary-f948b101d9edb0ea554f175425271b4226ba89de.tar.gz |
COMPMID-2582: Disable fuse batch normalization on OpenCL for FP16
Change-Id: I53bf35ff9f6d8c7e3664983ebcc94552a4ebf90d
Signed-off-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
Reviewed-on: https://review.mlplatform.org/c/1732
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Pablo Marquez <pablo.tello@arm.com>
Diffstat (limited to 'src/graph/mutators')
-rw-r--r-- | src/graph/mutators/NodeFusionMutator.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/graph/mutators/NodeFusionMutator.cpp b/src/graph/mutators/NodeFusionMutator.cpp index 9e963091e6..f7f3454fad 100644 --- a/src/graph/mutators/NodeFusionMutator.cpp +++ b/src/graph/mutators/NodeFusionMutator.cpp @@ -307,8 +307,10 @@ void NodeFusionMutator::mutate(Graph &g) detail::fuse_layer<ConvolutionLayerNode, ActivationLayerNode>(g, empty_prec, detail::fuse_node_with_activation<ConvolutionLayerNode>, supported_fused_activations); detail::fuse_layer<DepthwiseConvolutionLayerNode, ActivationLayerNode>(g, qs8_prec, detail::fuse_node_with_activation<DepthwiseConvolutionLayerNode>, supported_fused_activations); - // TODO (COMPMID-2524): Fuse batch normalization with convolution and depthwise convolution at graph level for NEON - if(target == Target::CL) + // Currently fuse batch normalization brings performance uplift only on OpenCL with FP32 data type + // TODO (COMPMID-2524): Fuse batch normalization with convolution and depthwise convolution at graph level for NEON - FP32 + // TODO (COMPMID-2581): Fuse batch normalization with convolution and depthwise convolution at graph level for OpenCL - FP16 + if(target == Target::CL && (g.nodes()[0].get()->output(0)->desc().data_type == DataType::F32)) { //Depthwise Convolution and Batch Normalization Fusion active only for CL detail::fuse_layer<ConvolutionLayerNode, BatchNormalizationLayerNode>(g, empty_prec, detail::fuse_convolution_with_batch_normalization); |