// Copyright © Advanced Micro Devices, Inc., or its affiliates. // SPDX-License-Identifier: MIT #pragma once #include #include #include #include #include "HipdnnMiopenHandle.hpp" #include "MiopenActivationDescriptor.hpp" #include "MiopenTensor.hpp" namespace miopen_plugin { class MiopenReluPlan : public hipdnn_plugin_sdk::IPlan { public: MiopenReluPlan( const hipdnn_flatbuffers_sdk::data_objects::PointwiseAttributes& attributes, const std::unordered_map& tensorMap); MiopenReluPlan(const MiopenReluPlan&) = delete; MiopenReluPlan& operator=(const MiopenReluPlan&) = delete; MiopenReluPlan(MiopenReluPlan&&) = delete; MiopenReluPlan& operator=(MiopenReluPlan&&) = delete; ~MiopenReluPlan() override = default; size_t getWorkspaceSize(const HipdnnMiopenHandle& handle) const override; void execute(const HipdnnMiopenHandle& handle, const hipdnnPluginDeviceBuffer_t* deviceBuffers, uint32_t numDeviceBuffers, void* workspace = nullptr) const override; private: MiopenTensor _input; MiopenTensor _output; MiopenActivationDescriptor _activation; }; } // namespace miopen_plugin