@@ -58,6 +58,22 @@ function (find_isa CPUINFO TARGET OUT)
58
58
endif ()
59
59
endfunction ()
60
60
61
+
62
+ function (check_sysctl TARGET OUT)
63
+ execute_process (COMMAND sysctl -n "${TARGET} "
64
+ RESULT_VARIABLE SYSCTL_RET
65
+ OUTPUT_VARIABLE SYSCTL_INFO
66
+ ERROR_QUIET
67
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
68
+ if (SYSCTL_RET EQUAL 0 AND
69
+ (SYSCTL_INFO STREQUAL "1" OR SYSCTL_INFO GREATER 0))
70
+ set (${OUT} ON PARENT_SCOPE)
71
+ else ()
72
+ set (${OUT} OFF PARENT_SCOPE)
73
+ endif ()
74
+ endfunction ()
75
+
76
+
61
77
function (is_avx512_disabled OUT)
62
78
set (DISABLE_AVX512 $ENV{VLLM_CPU_DISABLE_AVX512} )
63
79
if (DISABLE_AVX512 AND DISABLE_AVX512 STREQUAL "true" )
@@ -70,7 +86,10 @@ endfunction()
70
86
is_avx512_disabled(AVX512_DISABLED)
71
87
72
88
if (MACOSX_FOUND AND CMAKE_SYSTEM_PROCESSOR STREQUAL "arm64" )
73
- set (APPLE_SILICON_FOUND TRUE )
89
+ message (STATUS "Apple Silicon Detected" )
90
+ set (ENABLE_NUMA OFF )
91
+ check_sysctl(hw.optional .neon ASIMD_FOUND)
92
+ check_sysctl(hw.optional .arm.FEAT_BF16 ARM_BF16_FOUND)
74
93
else ()
75
94
find_isa(${CPUINFO} "avx2" AVX2_FOUND)
76
95
find_isa(${CPUINFO} "avx512f" AVX512_FOUND)
@@ -82,7 +101,6 @@ else()
82
101
find_isa(${CPUINFO} "S390" S390_FOUND)
83
102
endif ()
84
103
85
-
86
104
if (AVX512_FOUND AND NOT AVX512_DISABLED)
87
105
list (APPEND CXX_COMPILE_FLAGS
88
106
"-mavx512f"
@@ -149,9 +167,6 @@ elseif (ASIMD_FOUND)
149
167
set (MARCH_FLAGS "-march=armv8.2-a+dotprod+fp16" )
150
168
endif ()
151
169
list (APPEND CXX_COMPILE_FLAGS ${MARCH_FLAGS} )
152
- elseif (APPLE_SILICON_FOUND)
153
- message (STATUS "Apple Silicon Detected" )
154
- set (ENABLE_NUMA OFF )
155
170
elseif (S390_FOUND)
156
171
message (STATUS "S390 detected" )
157
172
# Check for S390 VXE support
0 commit comments