// // VulkanMatMul.hpp // MNN // // Created by MNN on 2020/03/06. // Copyright © 2018, Alibaba Group Holding Limited // #ifndef VulkanMatMul_hpp #define VulkanMatMul_hpp #include "VulkanRaster.hpp" #include "VulkanLoop.hpp" namespace MNN { class VulkanMatMul : public VulkanBasicExecution { public: VulkanMatMul(bool transposeA, bool transposeB, Backend* vkBn, bool hasBias); ~ VulkanMatMul(); virtual ErrorCode onEncode(const std::vector &inputs, const std::vector &outputs, const VulkanCommandPool::Buffer *cmdBuffer) override; private: const VulkanPipeline* mPipeline; std::shared_ptr mParam; std::shared_ptr mDescribe; bool mTransposeA; bool mTransposeB; bool mHasBias; }; } #endif