mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-08-13 20:26:03 +08:00
Improved AVX512 support
This commit is contained in:
parent
c80587c92b
commit
ca0ba0d9a4
@ -133,7 +133,6 @@ if(NOT MSVC)
|
|||||||
if(COMPILER_SUPPORT_WERROR)
|
if(COMPILER_SUPPORT_WERROR)
|
||||||
set(CMAKE_REQUIRED_FLAGS "-Werror")
|
set(CMAKE_REQUIRED_FLAGS "-Werror")
|
||||||
endif()
|
endif()
|
||||||
ei_add_cxx_compiler_flag("-static")
|
|
||||||
ei_add_cxx_compiler_flag("-pedantic")
|
ei_add_cxx_compiler_flag("-pedantic")
|
||||||
ei_add_cxx_compiler_flag("-Wall")
|
ei_add_cxx_compiler_flag("-Wall")
|
||||||
ei_add_cxx_compiler_flag("-Wextra")
|
ei_add_cxx_compiler_flag("-Wextra")
|
||||||
@ -233,7 +232,7 @@ if(NOT MSVC)
|
|||||||
|
|
||||||
option(EIGEN_TEST_AVX512 "Enable/Disable AVX512 in tests/examples" OFF)
|
option(EIGEN_TEST_AVX512 "Enable/Disable AVX512 in tests/examples" OFF)
|
||||||
if(EIGEN_TEST_AVX512)
|
if(EIGEN_TEST_AVX512)
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mavx512f -fabi-version=6")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mavx512f -fabi-version=6" -DEIGEN_ENABLE_AVX512)
|
||||||
message(STATUS "Enabling AVX512 in tests/examples")
|
message(STATUS "Enabling AVX512 in tests/examples")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
@ -157,7 +157,7 @@
|
|||||||
#ifdef __FMA__
|
#ifdef __FMA__
|
||||||
#define EIGEN_VECTORIZE_FMA
|
#define EIGEN_VECTORIZE_FMA
|
||||||
#endif
|
#endif
|
||||||
#ifdef __AVX512F__
|
#ifdef __AVX512F__ && EIGEN_ENABLE_AVX512
|
||||||
#define EIGEN_VECTORIZE_AVX512
|
#define EIGEN_VECTORIZE_AVX512
|
||||||
#define EIGEN_VECTORIZE_AVX2
|
#define EIGEN_VECTORIZE_AVX2
|
||||||
#define EIGEN_VECTORIZE_AVX
|
#define EIGEN_VECTORIZE_AVX
|
||||||
|
@ -659,7 +659,7 @@ namespace Eigen {
|
|||||||
// If the user explicitly disable vectorization, then we also disable alignment
|
// If the user explicitly disable vectorization, then we also disable alignment
|
||||||
#if defined(EIGEN_DONT_VECTORIZE)
|
#if defined(EIGEN_DONT_VECTORIZE)
|
||||||
#define EIGEN_IDEAL_MAX_ALIGN_BYTES 0
|
#define EIGEN_IDEAL_MAX_ALIGN_BYTES 0
|
||||||
#elif defined(__AVX512F__)
|
#elif defined(EIGEN_VECTORIZE_AVX512)
|
||||||
// 64 bytes static alignmeent is preferred only if really required
|
// 64 bytes static alignmeent is preferred only if really required
|
||||||
#define EIGEN_IDEAL_MAX_ALIGN_BYTES 64
|
#define EIGEN_IDEAL_MAX_ALIGN_BYTES 64
|
||||||
#elif defined(__AVX__)
|
#elif defined(__AVX__)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user