// // Copyright © 2020 Arm Ltd and Contributors. All rights reserved. // SPDX-License-Identifier: MIT // #pragma once #include "ClBaseWorkload.hpp" #include #include "ClWorkloadUtils.hpp" namespace armnn { struct ClRankWorkload : public ClBaseWorkload { public: using ClBaseWorkload::ClBaseWorkload; virtual void Execute() const override { const ClTensorHandle* clTensorHandle = PolymorphicDowncast(m_Data.m_Inputs[0]); const int32_t rank = static_cast(clTensorHandle->GetShape().GetNumDimensions()); std::memcpy(GetOutputTensorData(0, m_Data), &rank, sizeof(int32_t)); m_Data.m_Outputs[0]->Unmap(); } }; } //namespace armnn