// // Copyright © 2017 Arm Ltd. All rights reserved. // SPDX-License-Identifier: MIT // #pragma once #include #include namespace armnn { template class RefDebugWorkload : public TypedWorkload { public: RefDebugWorkload(const DebugQueueDescriptor& descriptor, const WorkloadInfo& info) : TypedWorkload(descriptor, info) , m_Callback(nullptr) {} static const std::string& GetName() { static const std::string name = std::string("RefDebug") + GetDataTypeName(DataType) + "Workload"; return name; } using TypedWorkload::m_Data; using TypedWorkload::TypedWorkload; void Execute() const override; void RegisterDebugCallback(const DebugCallbackFunction& func) override; private: DebugCallbackFunction m_Callback; }; using RefDebugFloat16Workload = RefDebugWorkload; using RefDebugFloat32Workload = RefDebugWorkload; using RefDebugQAsymmU8Workload = RefDebugWorkload; using RefDebugQAsymmS8Workload = RefDebugWorkload; using RefDebugQSymmS16Workload = RefDebugWorkload; using RefDebugQSymmS8Workload = RefDebugWorkload; using RefDebugSigned32Workload = RefDebugWorkload; } // namespace armnn