From 1b1b198027d905222b85a6217d0066ef2bbd3139 Mon Sep 17 00:00:00 2001 From: hong19860320 <9973393+hong19860320@users.noreply.github.com> Date: Tue, 26 May 2026 22:10:09 +0800 Subject: [PATCH] [XPU] Fix illegal instruction error when running Intel P800-compiled RDMA libs on Hygon P800 --- .../transfer_factory/kvcache_transfer/CMakeLists.txt | 6 +++++- setup.py | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/fastdeploy/cache_manager/transfer_factory/kvcache_transfer/CMakeLists.txt b/fastdeploy/cache_manager/transfer_factory/kvcache_transfer/CMakeLists.txt index 7bed564e944..29f069d8cbc 100644 --- a/fastdeploy/cache_manager/transfer_factory/kvcache_transfer/CMakeLists.txt +++ b/fastdeploy/cache_manager/transfer_factory/kvcache_transfer/CMakeLists.txt @@ -14,7 +14,11 @@ set(CMAKE_CXX_EXTENSIONS ON) set(CMAKE_BUILD_TYPE Release) set(CMAKE_CXX_COMPILER g++) -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2 -Ofast -ffast-math -funroll-loops -march=native -std=c++11") +if(DEVICE_TYPE STREQUAL "xpu" AND CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|AMD64") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2 -Ofast -ffast-math -funroll-loops -march=x86-64-v3 -std=c++11") +else() + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2 -Ofast -ffast-math -funroll-loops -march=native -std=c++11") +endif() add_compile_options("-std=c++11") find_library(IBVERBS_LIBRARY ibverbs) diff --git a/setup.py b/setup.py index 6d58cb3db0e..ece00fefc34 100644 --- a/setup.py +++ b/setup.py @@ -192,6 +192,7 @@ def build_extension(self, ext: CMakeExtension) -> None: "-DPYTHON_VERSION=", f"-DPYTHON_INCLUDE_DIR={sys.prefix}/include/python{sys.version_info.major}.{sys.version_info.minor}", f"-DPYTHON_LIBRARY={sys.prefix}/lib/libpython{sys.version_info.major}.{sys.version_info.minor}.so", + f"-DDEVICE_TYPE={get_device_type()}", ] build_args = []