@@ -620,6 +620,11 @@ else()
620
620
endif ()
621
621
set_source_files_properties (${mlas_platform_srcs_sse2} PROPERTIES COMPILE_FLAGS "-msse2" )
622
622
623
+ set (mlas_platform_srcs_sse41
624
+ ${MLAS_SRC_DIR} /qgemm_kernel_sse41.cpp
625
+ )
626
+ set_source_files_properties (${mlas_platform_srcs_sse41} PROPERTIES COMPILE_FLAGS "-msse4.1" )
627
+
623
628
set (mlas_platform_srcs_avx
624
629
${MLAS_SRC_DIR} /x86_64/DgemmKernelAvx.S
625
630
${MLAS_SRC_DIR} /x86_64/SgemmKernelAvx.S
@@ -697,36 +702,65 @@ endif()
697
702
)
698
703
set_source_files_properties (${mlas_platform_srcs_avx512vnni} PROPERTIES COMPILE_FLAGS "-mfma -mavx512vnni -mavx512bw -mavx512dq -mavx512vl -mavx512f" )
699
704
705
+ set (mlas_platform_srcs_amx
706
+ ${MLAS_SRC_DIR} /x86_64/QgemmU8S8KernelAmxCommon.S
707
+ ${MLAS_SRC_DIR} /qgemm_kernel_amx.cpp
708
+ ${MLAS_SRC_DIR} /x86_64/QgemmU8S8KernelAmx.S
709
+ )
710
+ set_source_files_properties (${MLAS_SRC_DIR} /qgemm_kernel_amx.cpp PROPERTIES COMPILE_FLAGS "-mavx2 -mavx512bw -mavx512dq -mavx512vl -mavx512f" )
711
+ set_source_files_properties (${MLAS_SRC_DIR} /x86_64/QgemmU8S8KernelAmx.S PROPERTIES COMPILE_FLAGS "-mavx2 -mavx512bw -mavx512dq -mavx512vl -mavx512f" )
712
+
700
713
set (mlas_platform_srcs
701
714
${MLAS_SRC_DIR} /activate_fp16.cpp
702
715
${MLAS_SRC_DIR} /dwconv.cpp
703
716
${MLAS_SRC_DIR} /dgemm.cpp
704
717
${MLAS_SRC_DIR} /pooling_fp16.cpp
705
- ${MLAS_SRC_DIR} /qgemm_kernel_avx2.cpp
706
718
${mlas_platform_srcs_sse2}
707
- ${mlas_platform_srcs_avx}
708
- ${mlas_platform_srcs_avx2}
709
- ${mlas_platform_srcs_avx512f}
710
- ${mlas_platform_srcs_avx512core}
711
- ${mlas_platform_srcs_avx512vnni}
712
719
)
713
720
714
- if (NOT onnxruntime_ORT_MINIMAL_BUILD)
721
+ if (NOT onnxruntime_DISABLE_SSE4)
722
+ set (mlas_platform_srcs
723
+ ${mlas_platform_srcs}
724
+ ${mlas_platform_srcs_sse41}
725
+ )
726
+ endif ()
727
+
728
+ if (NOT onnxruntime_DISABLE_AVX)
729
+ set (mlas_platform_srcs
730
+ ${mlas_platform_srcs}
731
+ ${mlas_platform_srcs_avx}
732
+ )
733
+ endif ()
734
+
735
+ if (NOT onnxruntime_DISABLE_AVX2)
736
+ set (mlas_platform_srcs
737
+ ${mlas_platform_srcs}
738
+ ${mlas_platform_srcs_avx2}
739
+ ${MLAS_SRC_DIR} /qgemm_kernel_avx2.cpp
740
+ )
741
+ endif ()
742
+
743
+ if (NOT onnxruntime_DISABLE_AVX512)
744
+ set (mlas_platform_srcs
745
+ ${mlas_platform_srcs}
746
+ ${mlas_platform_srcs_avx512f}
747
+ ${mlas_platform_srcs_avx512core}
748
+ ${mlas_platform_srcs_avx512vnni}
749
+ )
750
+ endif ()
751
+
752
+ if (NOT onnxruntime_ORT_MINIMAL_BUILD AND NOT onnxruntime_DISABLE_AVX512)
715
753
set (mlas_platform_srcs
716
754
${mlas_platform_srcs}
717
755
${MLAS_SRC_DIR} /q4gemm_avx512.cpp
718
756
)
719
757
set_source_files_properties (${MLAS_SRC_DIR} /q4gemm_avx512.cpp PROPERTIES COMPILE_FLAGS "-mfma -mavx512vnni -mavx512bw -mavx512dq -mavx512vl -mavx512f" )
720
758
endif ()
721
- if (NOT APPLE )
759
+ if (NOT APPLE AND NOT onnxruntime_DISABLE_AMX )
722
760
set (mlas_platform_srcs
723
761
${mlas_platform_srcs}
724
- ${MLAS_SRC_DIR} /x86_64/QgemmU8S8KernelAmxCommon.S
725
- ${MLAS_SRC_DIR} /qgemm_kernel_amx.cpp
726
- ${MLAS_SRC_DIR} /x86_64/QgemmU8S8KernelAmx.S
727
- )
728
- set_source_files_properties (${MLAS_SRC_DIR} /qgemm_kernel_amx.cpp PROPERTIES COMPILE_FLAGS "-mavx2 -mavx512bw -mavx512dq -mavx512vl -mavx512f" )
729
- set_source_files_properties (${MLAS_SRC_DIR} /x86_64/QgemmU8S8KernelAmx.S PROPERTIES COMPILE_FLAGS "-mavx2 -mavx512bw -mavx512dq -mavx512vl -mavx512f" )
762
+ ${mlas_platform_srcs_amx}
763
+ )
730
764
endif ()
731
765
732
766
if (onnxruntime_ENABLE_CONVSYMKERNELAVX2_SAT_CHECKER)
0 commit comments