#ifndef DEVICE_GEMM_HPP #define DEVICE_GEMM_HPP #include #include "device_base.hpp" namespace ck { namespace tensor_operation { namespace device { template struct DeviceGemm : public BaseOperator { virtual std::unique_ptr MakeArgumentPointer(const void* p_a, const void* p_b, void* p_c, ck::index_t M, ck::index_t N, ck::index_t K, ck::index_t StrideA, ck::index_t StrideB, ck::index_t StrideC, AElementwiseOperation a_element_op, BElementwiseOperation b_element_op, CElementwiseOperation c_element_op) = 0; virtual std::unique_ptr MakeInvokerPointer() = 0; }; template using DeviceGemmPtr = std::unique_ptr< DeviceGemm>; } // namespace device } // namespace tensor_operation } // namespace ck #endif