From fda0e1a0dfb70825fa31f66e76f5e3b9890a81bd Mon Sep 17 00:00:00 2001 From: Paul Wise Date: Sun, 5 Feb 2023 10:40:22 +0800 Subject: [PATCH] Port from x86 intrinsics to CPU native ones using SIMDe Obsoletes: https://github.com/microsoft/SPTAG/pull/136 Fixes: https://github.com/microsoft/SPTAG/issues/134 Fixes: https://github.com/microsoft/SPTAG/issues/316 Enabled-by: https://github.com/simd-everywhere/simde/issues/961 --- AnnService/CMakeLists.txt | 3 ++- AnnService/inc/Core/Common/InstructionUtils.h | 7 +++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/AnnService/CMakeLists.txt b/AnnService/CMakeLists.txt index 1d4ec249..28b206f3 100644 --- a/AnnService/CMakeLists.txt +++ b/AnnService/CMakeLists.txt @@ -32,7 +32,8 @@ add_library (DistanceUtils STATIC ) if(${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU") - target_compile_options(DistanceUtils PRIVATE -fPIC) + target_compile_options(DistanceUtils PRIVATE -fPIC -fopenmp-simd -O3) + target_compile_definitions(DistanceUtils PRIVATE SIMDE_ENABLE_NATIVE_ALIASES SIMDE_ENABLE_OPENMP) endif() add_library (SPTAGLib SHARED ${SRC_FILES} ${HDR_FILES}) diff --git a/AnnService/inc/Core/Common/InstructionUtils.h b/AnnService/inc/Core/Common/InstructionUtils.h index b66138ba..7c801644 100644 --- a/AnnService/inc/Core/Common/InstructionUtils.h +++ b/AnnService/inc/Core/Common/InstructionUtils.h @@ -10,8 +10,11 @@ #ifndef _MSC_VER #include -#include -#include +#include +#include +#include +#include +SIMDE_DISABLE_UNWANTED_DIAGNOSTICS void cpuid(int info[4], int InfoType);