mirror of https://github.com/QMCPACK/qmcpack.git
fixed CMake/IntelCompilers.cmake for setting proper macros based on CPU flags.
fixed a printf syntax and argument mismatch. git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6592 e5b18d87-469d-4833-9cc0-8cdfa06e9491
This commit is contained in:
parent
8e1b72fa33
commit
1668b7f113
|
@ -9,6 +9,7 @@ add_definitions(-DADD_ -DINLINE_ALL=inline)
|
|||
set(ENABLE_OPENMP 1)
|
||||
set(INTEL_OPTS "-g -restrict -unroll -O3 -ip -openmp")
|
||||
|
||||
#MESSAGE(STATUS "CPU_IDENTITY ${CPU_IDENTITY}")
|
||||
|
||||
#grep icpc version and determine what options to be used
|
||||
exec_program(icpc
|
||||
|
@ -30,13 +31,6 @@ ELSE(ICPC_VERSION LESS 11)
|
|||
ENDIF(ICPC_MINOR_VERSION LESS 1)
|
||||
ENDIF(ICPC_VERSION LESS 11)
|
||||
|
||||
#check if -xHost is accepted
|
||||
SET(CMAKE_TRY_ICC_FLAGS "-xHost")
|
||||
CHECK_C_COMPILER_FLAG(${CMAKE_TRY_ICC_FLAGS} INTEL_CC_FLAGS)
|
||||
IF(INTEL_CC_FLAGS)
|
||||
SET(INTEL_OPTS "${INTEL_OPTS} ${CMAKE_TRY_ICC_FLAGS}")
|
||||
ENDIF(INTEL_CC_FLAGS)
|
||||
|
||||
#check if -ftz is accepted
|
||||
SET(CMAKE_TRY_ICC_FLAGS "-ftz")
|
||||
CHECK_C_COMPILER_FLAG(${CMAKE_TRY_ICC_FLAGS} INTEL_CC_FLAGS)
|
||||
|
@ -50,79 +44,116 @@ ELSE(ICC_DEPRECATED_OPTS)
|
|||
set(INTEL_OPTS "${INTEL_OPTS} -opt-prefetch")
|
||||
ENDIF(ICC_DEPRECATED_OPTS)
|
||||
|
||||
#exec_program(grep
|
||||
# ARGS flags /proc/cpuinfo
|
||||
# OUTPUT_VARIABLE CPU_FLAGS
|
||||
# RETURN_VALUE CPUINFO
|
||||
# )
|
||||
#
|
||||
#SET(HAVE_SSE4_2 0)
|
||||
#SET(HAVE_SSE4_1 0)
|
||||
#SET(HAVE_SSSE3 0)
|
||||
#SET(HAVE_SSE3 0)
|
||||
#SET(HAVE_SSE2 0)
|
||||
#SET(HAVE_SSE 0)
|
||||
#
|
||||
#if(CPU_FLAGS MATCHES "sse4_2")
|
||||
# IF(ICC_DEPRECATED_OPTS)
|
||||
# MESSAGE(WARNING "SSE4.2 needs version 11.1 and higher.")
|
||||
# ELSE(ICC_DEPRECATED_OPTS)
|
||||
# SET(HAVE_SSE4_2 1)
|
||||
# IF(NOT SSE_OPT_SET)
|
||||
# SET(SSE_OPT_SET TRUE)
|
||||
# SET(INTEL_OPTS "${INTEL_OPTS} -xSSE4.2")
|
||||
# ENDIF(NOT SSE_OPT_SET)
|
||||
# ENDIF(ICC_DEPRECATED_OPTS)
|
||||
#endif(CPU_FLAGS MATCHES "sse4_2")
|
||||
#
|
||||
#if(CPU_FLAGS MATCHES "sse4_1")
|
||||
# SET(HAVE_SSE4_1 1)
|
||||
# IF(NOT SSE_OPT_SET)
|
||||
# SET(SSE_OPT_SET TRUE)
|
||||
# IF(ICC_DEPRECATED_OPTS)
|
||||
# SET(INTEL_OPTS "${INTEL_OPTS} -xS")
|
||||
# ELSE(ICC_DEPRECATED_OPTS)
|
||||
# SET(INTEL_OPTS "${INTEL_OPTS} -xSSE4.1")
|
||||
# ENDIF(ICC_DEPRECATED_OPTS)
|
||||
# ENDIF(NOT SSE_OPT_SET)
|
||||
#endif(CPU_FLAGS MATCHES "sse4_1")
|
||||
#
|
||||
#if(CPU_FLAGS MATCHES "ssse3")
|
||||
# SET(HAVE_SSSE3 1)
|
||||
# IF(NOT SSE_OPT_SET)
|
||||
# SET(SSE_OPT_SET TRUE)
|
||||
# IF(ICC_DEPRECATED_OPTS)
|
||||
# SET(INTEL_OPTS "${INTEL_OPTS} -xT")
|
||||
# ELSE(ICC_DEPRECATED_OPTS)
|
||||
# SET(INTEL_OPTS "${INTEL_OPTS} -xSSSE3")
|
||||
# ENDIF(ICC_DEPRECATED_OPTS)
|
||||
# ENDIF(NOT SSE_OPT_SET)
|
||||
#endif(CPU_FLAGS MATCHES "ssse3")
|
||||
#
|
||||
#if(CPU_FLAGS MATCHES "sse3")
|
||||
# SET(HAVE_SSE3 1)
|
||||
# IF(NOT SSE_OPT_SET)
|
||||
# SET(SSE_OPT_SET TRUE)
|
||||
# IF(ICC_DEPRECATED_OPTS)
|
||||
# SET(INTEL_OPTS "${INTEL_OPTS} -xP")
|
||||
# ELSE(ICC_DEPRECATED_OPTS)
|
||||
# SET(INTEL_OPTS "${INTEL_OPTS} -xSSE3")
|
||||
# ENDIF(ICC_DEPRECATED_OPTS)
|
||||
# ENDIF(NOT SSE_OPT_SET)
|
||||
#endif(CPU_FLAGS MATCHES "sse3")
|
||||
#
|
||||
#if(CPU_FLAGS MATCHES "sse2")
|
||||
# SET(HAVE_SSE2 1)
|
||||
# IF(NOT SSE_OPT_SET)
|
||||
# SET(SSE_OPT_SET TRUE)
|
||||
# IF(ICC_DEPRECATED_OPTS)
|
||||
# SET(INTEL_OPTS "${INTEL_OPTS} -xN")
|
||||
# ELSE(ICC_DEPRECATED_OPTS)
|
||||
# SET(INTEL_OPTS "${INTEL_OPTS} -xSSE2")
|
||||
# ENDIF(ICC_DEPRECATED_OPTS)
|
||||
# ENDIF(NOT SSE_OPT_SET)
|
||||
#endif(CPU_FLAGS MATCHES "sse2")
|
||||
exec_program(grep
|
||||
ARGS flags /proc/cpuinfo
|
||||
OUTPUT_VARIABLE CPU_FLAGS
|
||||
RETURN_VALUE CPUINFO
|
||||
)
|
||||
|
||||
# not all the flags are used by the code
|
||||
SET(HAVE_AVX2 0)
|
||||
SET(HAVE_AVX 0)
|
||||
SET(HAVE_SSE42 0)
|
||||
SET(HAVE_SSE41 0)
|
||||
SET(HAVE_SSSE3 0)
|
||||
SET(HAVE_SSE3 0)
|
||||
SET(HAVE_SSE2 0)
|
||||
SET(HAVE_SSE 0)
|
||||
|
||||
#check if -xHost is accepted
|
||||
SET(CMAKE_TRY_ICC_FLAGS "-xHost")
|
||||
CHECK_C_COMPILER_FLAG(${CMAKE_TRY_ICC_FLAGS} INTEL_CC_FLAGS)
|
||||
IF(INTEL_CC_FLAGS)
|
||||
SET(INTEL_OPTS "${INTEL_OPTS} ${CMAKE_TRY_ICC_FLAGS}")
|
||||
SET(SSE_OPT_SET TRUE)
|
||||
ELSE(INTEL_CC_FLAGS)
|
||||
SET(SSE_OPT_SET FALSE)
|
||||
ENDIF(INTEL_CC_FLAGS)
|
||||
|
||||
if(CPU_FLAGS MATCHES "avx2")
|
||||
SET(HAVE_AVX2 1)
|
||||
IF(NOT SSE_OPT_SET)
|
||||
IF(ICC_DEPRECATED_OPTS)
|
||||
MESSAGE(WARNING "AVX2 needs version 14.0 and higher.")
|
||||
ELSE(ICC_DEPRECATED_OPTS)
|
||||
SET(SSE_OPT_SET TRUE)
|
||||
SET(INTEL_OPTS "${INTEL_OPTS} -xCORE-AVX2")
|
||||
ENDIF(ICC_DEPRECATED_OPTS)
|
||||
ENDIF(NOT SSE_OPT_SET)
|
||||
endif(CPU_FLAGS MATCHES "avx2")
|
||||
|
||||
if(CPU_FLAGS MATCHES "avx")
|
||||
SET(HAVE_AVX 1)
|
||||
IF(NOT SSE_OPT_SET)
|
||||
IF(ICC_DEPRECATED_OPTS)
|
||||
MESSAGE(WARNING "AVX needs version 11.1 and higher.")
|
||||
ELSE(ICC_DEPRECATED_OPTS)
|
||||
SET(SSE_OPT_SET TRUE)
|
||||
SET(INTEL_OPTS "${INTEL_OPTS} -xAVX")
|
||||
ENDIF(ICC_DEPRECATED_OPTS)
|
||||
ENDIF(NOT SSE_OPT_SET)
|
||||
endif(CPU_FLAGS MATCHES "avx")
|
||||
|
||||
if(CPU_FLAGS MATCHES "sse4_2")
|
||||
SET(HAVE_SSE42 1)
|
||||
IF(NOT SSE_OPT_SET)
|
||||
IF(ICC_DEPRECATED_OPTS)
|
||||
MESSAGE(WARNING "SSE4.2 needs version 11.1 and higher.")
|
||||
ELSE(ICC_DEPRECATED_OPTS)
|
||||
SET(SSE_OPT_SET TRUE)
|
||||
SET(INTEL_OPTS "${INTEL_OPTS} -xSSE4.2")
|
||||
ENDIF(ICC_DEPRECATED_OPTS)
|
||||
ENDIF(NOT SSE_OPT_SET)
|
||||
endif(CPU_FLAGS MATCHES "sse4_2")
|
||||
|
||||
if(CPU_FLAGS MATCHES "sse4_1")
|
||||
SET(HAVE_SSE41 1)
|
||||
IF(NOT SSE_OPT_SET)
|
||||
SET(SSE_OPT_SET TRUE)
|
||||
IF(ICC_DEPRECATED_OPTS)
|
||||
SET(INTEL_OPTS "${INTEL_OPTS} -xS")
|
||||
ELSE(ICC_DEPRECATED_OPTS)
|
||||
SET(INTEL_OPTS "${INTEL_OPTS} -xSSE4.1")
|
||||
ENDIF(ICC_DEPRECATED_OPTS)
|
||||
ENDIF(NOT SSE_OPT_SET)
|
||||
endif(CPU_FLAGS MATCHES "sse4_1")
|
||||
|
||||
if(CPU_FLAGS MATCHES "ssse3")
|
||||
SET(HAVE_SSSE3 1)
|
||||
IF(NOT SSE_OPT_SET)
|
||||
SET(SSE_OPT_SET TRUE)
|
||||
IF(ICC_DEPRECATED_OPTS)
|
||||
SET(INTEL_OPTS "${INTEL_OPTS} -xT")
|
||||
ELSE(ICC_DEPRECATED_OPTS)
|
||||
SET(INTEL_OPTS "${INTEL_OPTS} -xSSSE3")
|
||||
ENDIF(ICC_DEPRECATED_OPTS)
|
||||
ENDIF(NOT SSE_OPT_SET)
|
||||
endif(CPU_FLAGS MATCHES "ssse3")
|
||||
|
||||
if(CPU_FLAGS MATCHES "sse3")
|
||||
SET(HAVE_SSE3 1)
|
||||
IF(NOT SSE_OPT_SET)
|
||||
SET(SSE_OPT_SET TRUE)
|
||||
IF(ICC_DEPRECATED_OPTS)
|
||||
SET(INTEL_OPTS "${INTEL_OPTS} -xP")
|
||||
ELSE(ICC_DEPRECATED_OPTS)
|
||||
SET(INTEL_OPTS "${INTEL_OPTS} -xSSE3")
|
||||
ENDIF(ICC_DEPRECATED_OPTS)
|
||||
ENDIF(NOT SSE_OPT_SET)
|
||||
endif(CPU_FLAGS MATCHES "sse3")
|
||||
|
||||
if(CPU_FLAGS MATCHES "sse2")
|
||||
SET(HAVE_SSE2 1)
|
||||
SET(HAVE_SSE 1)
|
||||
IF(NOT SSE_OPT_SET)
|
||||
SET(SSE_OPT_SET TRUE)
|
||||
IF(ICC_DEPRECATED_OPTS)
|
||||
SET(INTEL_OPTS "${INTEL_OPTS} -xN")
|
||||
ELSE(ICC_DEPRECATED_OPTS)
|
||||
SET(INTEL_OPTS "${INTEL_OPTS} -xSSE2")
|
||||
ENDIF(ICC_DEPRECATED_OPTS)
|
||||
ENDIF(NOT SSE_OPT_SET)
|
||||
endif(CPU_FLAGS MATCHES "sse2")
|
||||
|
||||
set(CMAKE_CXX_FLAGS "${INTEL_OPTS} $ENV{CXX_FLAGS} -Wno-deprecated")
|
||||
set(CMAKE_C_FLAGS "${INTEL_OPTS} $ENV{CC_FLAGS} -std=c99 -Wno-deprecated")
|
||||
|
|
|
@ -588,6 +588,9 @@ ENDIF(HDF5_FOUND)
|
|||
|
||||
#make sure we can find boost if it's not in /usr
|
||||
set(Boost_NO_BOOST_CMAKE on)
|
||||
IF($ENV{BOOST_HOME} MATCHES ".")
|
||||
set(BOOST_ROOT $ENV{BOOST_HOME})
|
||||
ENDIF()
|
||||
find_package(Boost REQUIRED)
|
||||
IF(Boost_FOUND)
|
||||
SET(HAVE_LIBBOOST 1)
|
||||
|
|
|
@ -413,7 +413,7 @@ void EnergyDensityEstimator::write_nonzero_domains(const ParticleSet& P)
|
|||
}
|
||||
if(nonzero)
|
||||
{
|
||||
fprintf(stdout," %d %e %e %e %e %e %e\n",i,P.Collectables[n],
|
||||
fprintf(stdout," %d %e %e %e\n",i,P.Collectables[n],
|
||||
P.Collectables[n+1],
|
||||
P.Collectables[n+2]);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue