@@ -146,6 +146,7 @@ class ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kOn
146146class ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME (kCpuExecutionProvider , kOnnxDomain , 7 , 8 , double , Gemm);
147147#ifdef MLAS_F16VEC_INTRINSICS_SUPPORTED
148148class ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME (kCpuExecutionProvider , kOnnxDomain , 7 , 8 , MLFloat16, Gemm);
149+ class ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME (kCpuExecutionProvider , kOnnxDomain , 7 , 8 , MLFloat16, MatMul);
149150#endif
150151class ONNX_OPERATOR_VERSIONED_KERNEL_CLASS_NAME (kCpuExecutionProvider , kOnnxDomain , 1 , 10 , Hardmax);
151152class ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME (kCpuExecutionProvider , kOnnxDomain , 1 , 10 , float , LogSoftmax);
@@ -349,6 +350,7 @@ class ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kOn
349350class ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME (kCpuExecutionProvider , kOnnxDomain , 9 , 10 , double , Gemm);
350351#ifdef MLAS_F16VEC_INTRINSICS_SUPPORTED
351352class ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME (kCpuExecutionProvider , kOnnxDomain , 9 , 10 , MLFloat16, Gemm);
353+ class ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME (kCpuExecutionProvider , kOnnxDomain , 9 , 10 , MLFloat16, MatMul);
352354#endif
353355class ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME (kCpuExecutionProvider , kOnnxDomain , 9 , 12 , float , MatMul);
354356class ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME (kCpuExecutionProvider , kOnnxDomain , 9 , 12 , double , MatMul);
@@ -522,6 +524,7 @@ class ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kOn
522524class ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME (kCpuExecutionProvider , kOnnxDomain , 11 , 12 , double , Gemm);
523525#ifdef MLAS_F16VEC_INTRINSICS_SUPPORTED
524526class ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME (kCpuExecutionProvider , kOnnxDomain , 11 , 12 , MLFloat16, Gemm);
527+ class ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME (kCpuExecutionProvider , kOnnxDomain , 11 , 12 , MLFloat16, MatMul);
525528#endif
526529class ONNX_OPERATOR_VERSIONED_KERNEL_CLASS_NAME (kCpuExecutionProvider , kOnnxDomain , 11 , 12 , GatherElements);
527530class ONNX_OPERATOR_TYPED_KERNEL_CLASS_NAME (kCpuExecutionProvider , kOnnxDomain , 11 , uint8_t , BitShift);
@@ -631,6 +634,7 @@ class ONNX_OPERATOR_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kOnnxDomain,
631634class ONNX_OPERATOR_TYPED_KERNEL_CLASS_NAME (kCpuExecutionProvider , kOnnxDomain , 13 , double , Gemm);
632635#ifdef MLAS_F16VEC_INTRINSICS_SUPPORTED
633636class ONNX_OPERATOR_TYPED_KERNEL_CLASS_NAME (kCpuExecutionProvider , kOnnxDomain , 13 , MLFloat16, Gemm);
637+ class ONNX_OPERATOR_TYPED_KERNEL_CLASS_NAME (kCpuExecutionProvider , kOnnxDomain , 13 , MLFloat16, MatMul);
634638#endif
635639class ONNX_OPERATOR_TYPED_KERNEL_CLASS_NAME (kCpuExecutionProvider , kOnnxDomain , 13 , float , MatMul);
636640class ONNX_OPERATOR_TYPED_KERNEL_CLASS_NAME (kCpuExecutionProvider , kOnnxDomain , 13 , double , MatMul);
@@ -2839,6 +2843,13 @@ Status RegisterOnnxOperatorKernels(KernelRegistry& kernel_registry) {
28392843 return Status::OK ();
28402844}
28412845
2846+ #ifdef MLAS_F16VEC_INTRINSICS_SUPPORTED
2847+ #pragma message("MLAS_F16VEC_INTRINSICS_SUPPORTED is defined")
2848+ #else
2849+ #pragma message("MLAS_F16VEC_INTRINSICS_SUPPORTED is NOT defined")
2850+ #endif
2851+
2852+
28422853#ifdef MLAS_F16VEC_INTRINSICS_SUPPORTED
28432854Status RegisterFp16Kernels (KernelRegistry& kernel_registry) {
28442855 static const BuildKernelCreateInfoFn function_table[] = {
@@ -2870,10 +2881,17 @@ Status RegisterFp16Kernels(KernelRegistry& kernel_registry) {
28702881 BuildKernelCreateInfo<ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME (kCpuExecutionProvider , kOnnxDomain , 9 , 10 ,
28712882 MLFloat16, Gemm)>,
28722883 BuildKernelCreateInfo<ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME (kCpuExecutionProvider , kOnnxDomain , 11 , 12 ,
2873- MLFloat16, Gemm)>,
2874-
2884+ MLFloat16, Gemm)>,
28752885 BuildKernelCreateInfo<ONNX_OPERATOR_TYPED_KERNEL_CLASS_NAME (kCpuExecutionProvider , kOnnxDomain , 13 , MLFloat16,
28762886 Gemm)>,
2887+ BuildKernelCreateInfo<ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME (kCpuExecutionProvider , kOnnxDomain , 7 , 8 ,
2888+ MLFloat16, MatMul)>,
2889+ BuildKernelCreateInfo<ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME (kCpuExecutionProvider , kOnnxDomain , 9 , 10 ,
2890+ MLFloat16, MatMul)>,
2891+ BuildKernelCreateInfo<ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME (kCpuExecutionProvider , kOnnxDomain , 11 , 12 ,
2892+ MLFloat16, MatMul)>,
2893+ BuildKernelCreateInfo<ONNX_OPERATOR_TYPED_KERNEL_CLASS_NAME (kCpuExecutionProvider , kOnnxDomain , 13 , MLFloat16,
2894+ MatMul)>
28772895 };
28782896
28792897 for (auto & function_table_entry : function_table) {
@@ -3125,6 +3143,7 @@ Status RegisterCPUKernels(KernelRegistry& kernel_registry) {
31253143 ORT_RETURN_IF_ERROR (RegisterOnnxOperatorKernels (kernel_registry));
31263144#ifdef MLAS_F16VEC_INTRINSICS_SUPPORTED
31273145 if (MlasFp16AccelerationSupported ()) {
3146+ #pragma message("calling RegisterFp16Kernels")
31283147 ORT_RETURN_IF_ERROR (RegisterFp16Kernels (kernel_registry));
31293148 }
31303149#endif
0 commit comments