2 // Copyright © 2017 Arm Ltd. All rights reserved.
3 // SPDX-License-Identifier: MIT
8 #include <backendsCommon/Workload.hpp>
10 #include <arm_compute/runtime/CL/CLFunctions.h>
11 #include <arm_compute/runtime/MemoryManagerOnDemand.h>
18 arm_compute::Status ClFullyConnectedWorkloadValidate(const TensorInfo& input,
19 const TensorInfo& output,
20 const TensorInfo& weights,
21 const TensorInfo& biases,
22 const FullyConnectedDescriptor& descriptor);
24 class ClFullyConnectedWorkload : public armnn::BaseWorkload<armnn::FullyConnectedQueueDescriptor>
27 ClFullyConnectedWorkload(const armnn::FullyConnectedQueueDescriptor& descriptor,
28 const armnn::WorkloadInfo& info,
29 std::shared_ptr<arm_compute::MemoryManagerOnDemand>& memoryManager);
31 using armnn::BaseWorkload<armnn::FullyConnectedQueueDescriptor>::m_Data;
32 void Execute() const override;
35 mutable arm_compute::CLFullyConnectedLayer m_FullyConnectedLayer;
37 std::unique_ptr<arm_compute::CLTensor> m_WeightsTensor;
38 std::unique_ptr<arm_compute::CLTensor> m_BiasesTensor;
40 void FreeUnusedTensors();