#ifndef _MUSA_TRANSPOSE_EXECUTION_HPP_ #define _MUSA_TRANSPOSE_EXECUTION_HPP_ #include "core/MusaBackend.hpp" namespace MNN { namespace MUSA { class TransposeExecution : public Execution { public: TransposeExecution(const std::vector& inputs, const MNN::Op* op, Backend* backend); virtual ~TransposeExecution() = default; virtual ErrorCode onResize(const std::vector& inputs, const std::vector& outputs) override; virtual ErrorCode onExecute(const std::vector& inputs, const std::vector& outputs) override; private: MusaBackend* mBackend; const MNN::Transpose* mOp; int mDims; int mTotalSize; std::vector mPerm; std::vector mInputStrides; std::vector mOutputStrides; dim3 mDim3Grid; dim3 mDim3Block; }; } // namespace MUSA } // namespace MNN #endif