// Copyright © Advanced Micro Devices, Inc., or its affiliates. // SPDX-License-Identifier: MIT #pragma once #include #include namespace miopen_plugin { class MiopenTensor { public: MiopenTensor(const hipdnn_flatbuffers_sdk::data_objects::TensorAttributes& tensor); MiopenTensor(int64_t uid, hipdnn_flatbuffers_sdk::data_objects::DataType dataType, const std::vector& inputDims, const std::vector& inputStrides); MiopenTensor(const MiopenTensor&) = delete; MiopenTensor& operator=(const MiopenTensor&) = delete; MiopenTensor(MiopenTensor&& other) noexcept; MiopenTensor& operator=(MiopenTensor&& other) noexcept; ~MiopenTensor(); int64_t uid() const; miopenTensorDescriptor_t tensorDescriptor() const; private: int64_t _uid; miopenTensorDescriptor_t _descriptor{nullptr}; }; }