* See the License for the specific language governing permissions and
* limitations under the License.
*******************************************************************************/
+
#ifndef GEMM_HPP
#define GEMM_HPP
+
+#include "mkldnn_types.h"
+#include "os_blas.hpp"
+
namespace mkldnn {
namespace impl {
namespace cpu {
+
mkldnn_status_t extended_sgemm(const char *transa, const char *transb,
const int *M, const int *N, const int *K, const float *alpha,
const float *A, const int *lda, const float *B, const int *ldb,
const b_dt *B, const int *ldb, const int8_t *bo, const float *beta,
int32_t *c, const int *ldc, const int32_t *co);
-template <typename data_t>
-void ref_gemm(const char *transa, const char *transb, const int *M,
- const int *N, const int *K, const data_t *alpha, const data_t *A,
- const int *lda, const data_t *B, const int *ldb, const data_t *beta,
- data_t *C, const int *ldc, const data_t *bias);
#ifdef USE_CBLAS
#define GEMM_IMPL_STR "gemm:blas"
#else
#define GEMM_IMPL_STR "gemm:jit"
#endif
+
+#if USE_MKL_IGEMM
+#define IGEMM_S8U8S32_IMPL_STR "igemm_s8u8s32:blas"
+#define IGEMM_S8S8S32_IMPL_STR "igemm_s8s8s32:blas"
+#else
+#define IGEMM_S8U8S32_IMPL_STR "igemm_s8u8s32:jit"
+#define IGEMM_S8S8S32_IMPL_STR "igemm_s8s8s32:jit"
+#endif
+
}
}
}
+
#endif