diff --git a/CMakeLists.txt b/CMakeLists.txt index 04ae0860aab47b8bb804184151cd095415355b04..022e458644f941e3045094581c7c5d8abcba949d 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -87,9 +87,9 @@ if( ScalFMM_BUILD_DEBUG ) SET(CMAKE_BUILD_TYPE Debug) ADD_DEFINITIONS(-O0) IF( APPLE ) - SET(SCALFMM_FLAGS_OPTI_DEBUG "-m64 -march=native -funroll-loops" CACHE STRING "Set your optimization flags for debug mode.") + SET(SCALFMM_FLAGS_OPTI_DEBUG "-m64 -funroll-loops" CACHE STRING "Set your optimization flags for debug mode.") ELSE(APPLE) - SET(SCALFMM_FLAGS_OPTI_DEBUG "${FLAGS_64bits} -fp-model strict -march=native -funroll-loops" CACHE STRING "Set your optimization flags for debug mode.") + SET(SCALFMM_FLAGS_OPTI_DEBUG "${FLAGS_64bits} -fp-model strict -funroll-loops" CACHE STRING "Set your optimization flags for debug mode.") ENDIF(APPLE) # ADD_DEFINITIONS(${SCALFMM_FLAGS_OPTI_DEBUG}) SET(ScaLFMM_CXX_FLAGS "${ScaLFMM_CXX_FLAGS} ${SCALFMM_FLAGS_OPTI_DEBUG}") @@ -112,9 +112,9 @@ else() ELSE(APPLE) # Not apple system - Check the compilater flags if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel") - SET(SCALFMM_FLAGS_OPTI_RELEASE "${FLAGS_64bits} -fp-model precise -fp-model source -fimf-precision=low -march=native -funroll-loops -ftree-vectorize" CACHE STRING "Set your optimization flags for release mode.") + SET(SCALFMM_FLAGS_OPTI_RELEASE "${FLAGS_64bits} -march=native -fp-model precise -fp-model source -fimf-precision=low -funroll-loops -ftree-vectorize" CACHE STRING "Set your optimization flags for release mode.") else() - SET(SCALFMM_FLAGS_OPTI_RELEASE "${FLAGS_64bits} -ffast-math -flto -march=native -funroll-loops -ftree-vectorize" CACHE STRING "Set your optimization flags for release mode.") + SET(SCALFMM_FLAGS_OPTI_RELEASE "${FLAGS_64bits} -ffast-math -flto -funroll-loops -ftree-vectorize" CACHE STRING "Set your optimization flags for release mode.") endif() ENDIF(APPLE) # @@ -189,25 +189,38 @@ endif() CONFIGURE_FILE( ${CMAKE_CURRENT_SOURCE_DIR}/Src/ScalFmmConfig.h.cmake ${CMAKE_BINARY_DIR}/Src/ScalFmmConfig.h ) +################################################################## +# Use native MIC compilation # +################################################################## +if( ScalFMM_USE_MIC_NATIVE ) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mmic") +else() + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -xhost") +ENDIF() +################################################################## +# Use SSE # +################################################################## -# Use SSE MESSAGE( STATUS "ScalFMM_USE_SSE = ${ScalFMM_USE_SSE}" ) if( ScalFMM_USE_SSE ) IF(CMAKE_CXX_COMPILER_ID STREQUAL "Intel") - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -vec -axAVX") +# SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -vec -axSSE4.2") ELSE() SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse -msse2 -msse3 -mfpmath=sse") ENDIF() endif() +################################################################## +# Use AVX # +################################################################## -#Use AVX MESSAGE(STATUS "ScalFMM_USE_AVX = ${ScalFMM_USE_AVX}") if(ScalFMM_USE_AVX) IF(CMAKE_CXX_COMPILER_ID STREQUAL "Intel") - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -vec -axAVX") + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ") ELSE() SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse -msse2 -msse3 -mfpmath=sse -mavx") ENDIF() +MESSAGE(STATUS ${CMAKE_CXX_FLAGS} ) endif()