Unlock this feature

This feature isn’t part of your plan yet

Contact sales to get upgraded to the full DevStudio experience.

Unlock this feature

This feature isn't part of your plan yet.

Linear Algebra

gemm (General Matrix Multiply)

File: /src/linalg.hppLines 224–252
    /**
     * @brief GEMM for 1 byte types.
     *
     * @tparam AlphaType for the scalar alpha
     * @tparam OCMShapeA Type for the matrix A (In OCM)
     * @tparam OCMShapeB Type for the matrix B (In OCM)
     * @tparam BetaType Type for the scalar beta
     * @tparam OCMShapeC Type for the matrix C (In OCM)
     * @param alpha the scalar alpha.
     * @param matA the first matrix, A.
     * @param matB the second matrix, B.
     * @param beta the scalar beta.
     * @param matC matrix C.
     * @param matOut output matrix.
     *
     */
    template <typename AlphaType,
              typename OCMShapeA,
              typename OCMShapeB,
              typename BetaType,
              typename OCMShapeC,
              isOcmTensor<OCMShapeA> = 0,
              isOcmTensor<OCMShapeB> = 0,
              isOcmTensor<OCMShapeC> = 0,
              std::enable_if_t<std::is_integral<typename OCMShapeB::elemType>::value &&
                                 sizeof(typename OCMShapeB::elemType) == 1,
                               int>  = 0>
    INLINE void gemm(
      AlphaType alpha, OCMShapeA& matA, OCMShapeB& matB, BetaType beta, OCMShapeC& matC, OCMShapeC& matOut) {

Sign in to your account

Don't have an account? 
By signing in, you are agreeing to our Terms of Use and Privacy Policy.
Quadric // One architecture. Every algorithm.

Develop.

Simulate.

Profile.

Collaborate.