std::unique_ptr<armnn::IWorkload> ClWorkloadFactory::CreatePermute(const PermuteQueueDescriptor& descriptor,
const WorkloadInfo& info) const
{
- return MakeWorkload<ClPermuteFloatWorkload, ClPermuteUint8Workload>(descriptor, info);
+ return std::make_unique<ClPermuteWorkload>(descriptor, info);
}
std::unique_ptr<armnn::IWorkload> ClWorkloadFactory::CreatePooling2d(const Pooling2dQueueDescriptor& descriptor,
return arm_compute::Status{};
}
-template <armnn::DataType... DataTypes>
-ClPermuteWorkload<DataTypes...>::ClPermuteWorkload(const PermuteQueueDescriptor& descriptor,
- const WorkloadInfo& info)
- : TypedWorkload<PermuteQueueDescriptor, DataTypes...>(descriptor, info)
+ClPermuteWorkload::ClPermuteWorkload(const PermuteQueueDescriptor& descriptor,
+ const WorkloadInfo& info)
+ : BaseWorkload<PermuteQueueDescriptor>(descriptor, info)
{
using armcomputetensorutils::BuildArmComputePermutationVector;
m_PermuteFunction.configure(&input, &output, BuildArmComputePermutationVector(mappings));
}
-template <armnn::DataType... DataTypes>
-void ClPermuteWorkload<DataTypes...>::Execute() const
+void ClPermuteWorkload::Execute() const
{
ARMNN_SCOPED_PROFILING_EVENT_CL( GetName() + "_Execute");
m_PermuteFunction.run();
}
-template class ClPermuteWorkload<DataType::Float16, DataType::Float32>;
-template class ClPermuteWorkload<DataType::QuantisedAsymm8>;
-
} // namespace armnn
arm_compute::Status ClPermuteWorkloadValidate(const PermuteDescriptor& descriptor);
-template<armnn::DataType... DataTypes>
-class ClPermuteWorkload : public TypedWorkload<PermuteQueueDescriptor, DataTypes...>
+class ClPermuteWorkload : public BaseWorkload<PermuteQueueDescriptor>
{
public:
static const std::string& GetName()
void Execute() const override;
private:
- using TypedWorkload<PermuteQueueDescriptor, DataTypes...>::m_Data;
+ using BaseWorkload<PermuteQueueDescriptor>::m_Data;
mutable arm_compute::CLPermute m_PermuteFunction;
};
-using ClPermuteFloatWorkload = ClPermuteWorkload<DataType::Float16, DataType::Float32>;
-using ClPermuteUint8Workload = ClPermuteWorkload<DataType::QuantisedAsymm8>;
-
} // namespace armnn