1 // 2 // Copyright © 2017 Arm Ltd and Contributors. All rights reserved. 3 // SPDX-License-Identifier: MIT 4 // 5 6 #include "MultiplicationLayer.hpp" 7 8 #include "LayerCloneBase.hpp" 9 10 #include <armnn/TypesUtils.hpp> 11 #include <armnn/backends/WorkloadData.hpp> 12 #include <armnn/backends/WorkloadFactory.hpp> 13 14 namespace armnn 15 { 16 MultiplicationLayer(const char * name)17MultiplicationLayer::MultiplicationLayer(const char* name) 18 : ElementwiseBaseLayer(2, 1, LayerType::Multiplication, name) 19 { 20 } 21 CreateWorkload(const IWorkloadFactory & factory) const22std::unique_ptr<IWorkload> MultiplicationLayer::CreateWorkload(const IWorkloadFactory& factory) const 23 { 24 MultiplicationQueueDescriptor descriptor; 25 SetAdditionalInfo(descriptor); 26 27 return factory.CreateWorkload(LayerType::Multiplication, descriptor, PrepInfoAndDesc(descriptor)); 28 } 29 Clone(Graph & graph) const30MultiplicationLayer* MultiplicationLayer::Clone(Graph& graph) const 31 { 32 return CloneBase<MultiplicationLayer>(graph, GetName()); 33 } 34 ExecuteStrategy(IStrategy & strategy) const35void MultiplicationLayer::ExecuteStrategy(IStrategy& strategy) const 36 { 37 strategy.ExecuteStrategy(this, GetParameters(), {}, GetName()); 38 } 39 40 } // namespace armnn 41