@@ -140,6 +141,22 @@ if (AVX512_FOUND AND NOT AVX512_DISABLED)
...
@@ -140,6 +141,22 @@ if (AVX512_FOUND AND NOT AVX512_DISABLED)
set(ENABLE_AVX512VNNI OFF)
set(ENABLE_AVX512VNNI OFF)
message(WARNING "Disable AVX512-VNNI ISA support, no avx512_vnni found in local CPU flags."" If cross-compilation is required, please set env VLLM_CPU_AVX512VNNI=1.")
message(WARNING "Disable AVX512-VNNI ISA support, no avx512_vnni found in local CPU flags."" If cross-compilation is required, please set env VLLM_CPU_AVX512VNNI=1.")
message(WARNING "Disable AMX_BF16 ISA support, requires gcc/g++ >= 12.3")
endif()
else()
set(ENABLE_AMXBF16 OFF)
message(WARNING "Disable AMX_BF16 ISA support, no amx_bf16 found in local CPU flags."" If cross-compilation is required, please set env VLLM_CPU_AMXBF16=1.")
endif()
elseif(AVX2_FOUND)
elseif(AVX2_FOUND)
list(APPEND CXX_COMPILE_FLAGS "-mavx2")
list(APPEND CXX_COMPILE_FLAGS "-mavx2")
...
@@ -188,31 +205,115 @@ else()
...
@@ -188,31 +205,115 @@ else()
message(FATAL_ERROR "vLLM CPU backend requires AVX512, AVX2, Power9+ ISA, S390X ISA, ARMv8 or RISC-V support.")
message(FATAL_ERROR "vLLM CPU backend requires AVX512, AVX2, Power9+ ISA, S390X ISA, ARMv8 or RISC-V support.")
endif()
endif()
#
# Build oneDNN for W8A8 GEMM kernels (only for x86-AVX512 /ARM platforms)
# Flag to enable ACL kernels for AARCH64 platforms
if(VLLM_BUILD_ACL STREQUAL "ON")
set(USE_ACL ON)
else()
set(USE_ACL OFF)
endif()
# Build oneDNN for GEMM kernels (only for x86-AVX512 /ARM platforms)
if((AVX512_FOUND AND NOT AVX512_DISABLED)OR(ASIMD_FOUND AND NOT APPLE_SILICON_FOUND) OR POWER9_FOUND OR POWER10_FOUND OR POWER11_FOUND)
if((AVX512_FOUND AND NOT AVX512_DISABLED)OR(ASIMD_FOUND AND NOT APPLE_SILICON_FOUND) OR POWER9_FOUND OR POWER10_FOUND OR POWER11_FOUND)
FetchContent_Declare(
# Fetch and build Arm Compute Library (ACL) as oneDNN's backend for AArch64
oneDNN
# TODO [fadara01]: remove this once ACL can be fetched and built automatically as a dependency of oneDNN