CONFIG: adjust intel compiler and mpi settings (#2056)
- largely as per patch from Jong-Gwan (Jason) Do NB: the intel-one setup adds in paths for intelmpi. Its mpicc version does not harmonize with the OpenFOAM system openmpi setup (using mpicc --showme:link). Needs adjustment, or use intelmpi instead. - update name mappings for newer gcc, clang versions
This commit is contained in:
parent
8878050ff9
commit
d549826528
@ -66,7 +66,7 @@ export WM_PROJECT_VERSION=com
|
||||
export WM_COMPILER_TYPE=system
|
||||
|
||||
# [WM_COMPILER] - Compiler:
|
||||
# = Gcc | Clang | Icc | Cray | Amd | Arm | Pgi | Fujitsu |
|
||||
# = Gcc | Clang | Icc | Icx | Cray | Amd | Arm | Pgi | Fujitsu |
|
||||
# Gcc<digits> | Clang<digits>
|
||||
export WM_COMPILER=Gcc
|
||||
|
||||
|
@ -6,7 +6,7 @@
|
||||
# \\/ M anipulation |
|
||||
#------------------------------------------------------------------------------
|
||||
# Copyright (C) 2016 OpenFOAM Foundation
|
||||
# Copyright (C) 2016-2020 OpenCFD Ltd.
|
||||
# Copyright (C) 2016-2021 OpenCFD Ltd.
|
||||
#------------------------------------------------------------------------------
|
||||
# License
|
||||
# This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
|
||||
@ -23,11 +23,36 @@
|
||||
# The default values for gcc/clang are not a recommendation,
|
||||
# but typically correspond to the minimum usable version.
|
||||
#
|
||||
# I_MPI_CC, I_MPI_CXX environment variables may be defined for the
|
||||
# Intel mpicc/mpicxx wrappers
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
# Initial mpi/compiler associations
|
||||
switch ("$WM_COMPILER")
|
||||
case Icc*:
|
||||
setenv I_MPI_CC icc
|
||||
setenv I_MPI_CXX icpc
|
||||
breaksw
|
||||
case Icx*:
|
||||
setenv I_MPI_CC icx
|
||||
setenv I_MPI_CXX icpx
|
||||
breaksw
|
||||
case Gcc*:
|
||||
switch ("$WM_MPLIB")
|
||||
case INTELMPI*:
|
||||
setenv I_MPI_CC gcc
|
||||
setenv I_MPI_CXX g++
|
||||
breaksw
|
||||
endsw
|
||||
breaksw
|
||||
endsw
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
switch ("$WM_COMPILER_TYPE")
|
||||
case ThirdParty:
|
||||
# Default versions (CLANG, GCC, GMP, MPFR, MPC) - override as necessary
|
||||
# Default/minimum versions (compiler, GMP, MPFR, MPC) - override as needed
|
||||
|
||||
set default_clang_version=llvm-3.7.1
|
||||
set default_gcc_version=gcc-4.8.5
|
||||
@ -44,6 +69,9 @@ case ThirdParty:
|
||||
case Gcc:
|
||||
set gcc_version="$default_gcc_version"
|
||||
breaksw
|
||||
case Gcc103*:
|
||||
set gcc_version=gcc-10.3.0
|
||||
breaksw
|
||||
case Gcc102*:
|
||||
set gcc_version=gcc-10.2.0
|
||||
breaksw
|
||||
@ -128,8 +156,11 @@ case ThirdParty:
|
||||
case Clang:
|
||||
set clang_version="$default_clang_version"
|
||||
breaksw
|
||||
case Clang111*:
|
||||
set clang_version=llvm-11.1.0
|
||||
breaksw
|
||||
case Clang110*:
|
||||
set clang_version=llvm-11.0.0
|
||||
set clang_version=llvm-11.0.1
|
||||
breaksw
|
||||
case Clang100*:
|
||||
set clang_version=llvm-10.0.1
|
||||
@ -184,6 +215,7 @@ UNKNOWN_COMPILER
|
||||
breaksw
|
||||
endsw
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
unset default_gcc_version default_clang_version
|
||||
unset default_gmp_version default_mpfr_version default_mpc_version
|
||||
|
@ -21,9 +21,6 @@
|
||||
# For USERMPI, the user is responsible for supplying an appropriate
|
||||
# wmake/rules/General/mplibUSERMPI file and managing all settings
|
||||
#
|
||||
# For INTELMPI, note that the (I_MPI_CC, I_MPI_CCX) environment variables
|
||||
# define the underlying compiler to be used
|
||||
#
|
||||
# User adjustments are controlled by these types of files:
|
||||
# - config.csh/prefs.fjmpi
|
||||
# - config.csh/prefs.intelmpi
|
||||
@ -42,6 +39,9 @@
|
||||
# but are not permitted to unset it.
|
||||
#
|
||||
# Environment
|
||||
# I_MPI_CC, I_MPI_CXX environment variables define the compiler
|
||||
# to be used the Intel mpicc/mpicxx wrappers
|
||||
#
|
||||
# MPI_BUFFER_SIZE overrides 'mpiBufferSize' (controlDict entry).
|
||||
# Eg, setenv MPI_BUFFER_SIZE 20000000
|
||||
#
|
||||
@ -81,7 +81,9 @@ case SYSTEMOPENMPI:
|
||||
unset libDir
|
||||
endif
|
||||
|
||||
# TDB: extra openmpi major qualifier on name?
|
||||
#-
|
||||
# TBD: extra (major) version qualifier on name?
|
||||
#-
|
||||
## if ( "$FOAM_MPI" == "sys-openmpi" ) then
|
||||
## set _foamMpiVersion=`echo "$MPI_ARCH_PATH" | sed -e 's/^.*mpi//'`
|
||||
## switch ("$_foamMpiVersion")
|
||||
@ -321,6 +323,7 @@ case SGIMPI:
|
||||
|
||||
|
||||
case INTELMPI*:
|
||||
setenv FOAM_MPI intelmpi
|
||||
_foamEtc -config prefs.intelmpi ## Optional adjustments
|
||||
|
||||
if ( $?I_MPI_ROOT ) then
|
||||
@ -340,26 +343,38 @@ case INTELMPI*:
|
||||
setenv MPI_ARCH_PATH "${MPI_ARCH_PATH:h}"
|
||||
endif
|
||||
|
||||
# Subdir name is FOAM_MPI name
|
||||
setenv FOAM_MPI "${MPI_ARCH_PATH:t}"
|
||||
|
||||
# If subdir is version number only, prefix with 'impi-'
|
||||
switch ("$FOAM_MPI")
|
||||
case [0-9]*:
|
||||
setenv FOAM_MPI "impi-$FOAM_MPI"
|
||||
breaksw
|
||||
endsw
|
||||
|
||||
#-
|
||||
# TBD: extra version qualifier on name?
|
||||
# eg, when subdir is version number only
|
||||
#-
|
||||
## if ( "$FOAM_MPI" == "intelmpi" ) then
|
||||
## set _foamMpiVersion="${MPI_ARCH_PATH:t}"
|
||||
## switch ("$_foamMpiVersion")
|
||||
## case [1-9]*:
|
||||
## setenv FOAM_MPI "intelmpi-${_foamMpiVersion}"
|
||||
## breaksw
|
||||
## endsw
|
||||
## endif
|
||||
else
|
||||
echo "${_foamMpiWarning}invalid $WM_MPLIB directory"
|
||||
echo " => ${MPI_ARCH_PATH}"
|
||||
echo "Please set I_MPI_ROOT or MPI_ROOT correctly."
|
||||
echo "Please set I_MPI_ROOT (or MPI_ROOT) correctly."
|
||||
endif
|
||||
|
||||
_foamAddPath "$MPI_ARCH_PATH"/intel64/bin
|
||||
_foamAddLib "$MPI_ARCH_PATH"/intel64/lib
|
||||
breaksw
|
||||
# With/without "intel64/" directory - handled here and in mpi rules
|
||||
|
||||
# Path, lib-path may have been set prior to call
|
||||
if (1) then
|
||||
if ( -d "$MPI_ARCH_PATH"/intel64/lib ) then
|
||||
_foamAddPath "$MPI_ARCH_PATH"/intel64/bin
|
||||
_foamAddLib "$MPI_ARCH_PATH"/intel64/lib
|
||||
_foamAddLib "$MPI_ARCH_PATH"/intel64/lib/release
|
||||
else if ( -d "$MPI_ARCH_PATH"/lib ) then
|
||||
_foamAddPath "$MPI_ARCH_PATH"/bin
|
||||
_foamAddLib "$MPI_ARCH_PATH"/lib
|
||||
_foamAddLib "$MPI_ARCH_PATH"/lib/release
|
||||
endif
|
||||
endif
|
||||
endsw
|
||||
|
||||
|
||||
|
@ -6,7 +6,7 @@
|
||||
# \\/ M anipulation |
|
||||
#------------------------------------------------------------------------------
|
||||
# Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
# Copyright (C) 2016-2020 OpenCFD Ltd.
|
||||
# Copyright (C) 2016-2021 OpenCFD Ltd.
|
||||
#------------------------------------------------------------------------------
|
||||
# License
|
||||
# This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
|
||||
@ -23,11 +23,36 @@
|
||||
# The default values for gcc/clang are not a recommendation,
|
||||
# but typically correspond to the minimum usable version.
|
||||
#
|
||||
# I_MPI_CC, I_MPI_CXX environment variables may be defined for the
|
||||
# Intel mpicc/mpicxx wrappers
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
# Initial mpi/compiler associations
|
||||
case "$WM_COMPILER" in
|
||||
Icc*)
|
||||
export I_MPI_CC=icc
|
||||
export I_MPI_CXX=icpc
|
||||
;;
|
||||
Icx*)
|
||||
export I_MPI_CC=icx
|
||||
export I_MPI_CXX=icpx
|
||||
;;
|
||||
Gcc*)
|
||||
case "$WM_MPLIB" in
|
||||
INTELMPI*)
|
||||
export I_MPI_CC=gcc
|
||||
export I_MPI_CXX=g++
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
case "$WM_COMPILER_TYPE" in
|
||||
ThirdParty)
|
||||
# Default versions (CLANG, GCC, GMP, MPFR, MPC) - override as necessary
|
||||
# Default/minimum versions (compiler, GMP, MPFR, MPC) - override as needed
|
||||
|
||||
default_clang_version=llvm-3.7.1
|
||||
default_gcc_version=gcc-4.8.5
|
||||
@ -45,6 +70,7 @@ ThirdParty)
|
||||
|
||||
case "$WM_COMPILER" in
|
||||
Gcc) gcc_version="$default_gcc_version" ;;
|
||||
Gcc103*) gcc_version=gcc-10.3.0 ;;
|
||||
Gcc102*) gcc_version=gcc-10.2.0 ;;
|
||||
Gcc101*) gcc_version=gcc-10.1.0 ;;
|
||||
Gcc93*) gcc_version=gcc-9.3.0 ;;
|
||||
@ -74,7 +100,8 @@ ThirdParty)
|
||||
Gcc48*) gcc_version=gcc-4.8.5 ;;
|
||||
|
||||
Clang) clang_version="$default_clang_version" ;;
|
||||
Clang110*) clang_version=llvm-11.0.0 ;;
|
||||
Clang111*) clang_version=llvm-11.1.0 ;;
|
||||
Clang110*) clang_version=llvm-11.0.1 ;;
|
||||
Clang100*) clang_version=llvm-10.0.1 ;;
|
||||
Clang90*) clang_version=llvm-9.0.1 ;;
|
||||
Clang80*) clang_version=llvm-8.0.1 ;;
|
||||
@ -107,6 +134,7 @@ UNKNOWN_COMPILER
|
||||
;;
|
||||
esac
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
unset default_gcc_version default_clang_version
|
||||
unset default_gmp_version default_mpfr_version default_mpc_version
|
||||
|
@ -21,9 +21,6 @@
|
||||
# For USERMPI, the user is responsible for supplying an appropriate
|
||||
# wmake/rules/General/mplibUSERMPI file and managing all settings
|
||||
#
|
||||
# For INTELMPI, note that the (I_MPI_CC, I_MPI_CCX) environment variables
|
||||
# define the underlying compiler to be used
|
||||
#
|
||||
# User adjustments are controlled by these types of files:
|
||||
# - config.sh/prefs.fjmpi
|
||||
# - config.sh/prefs.intelmpi
|
||||
@ -40,6 +37,9 @@
|
||||
# All pre-v2012 names (without the 'prefs.' prefix) are ignored.
|
||||
#
|
||||
# Environment
|
||||
# I_MPI_CC, I_MPI_CXX environment variables define the compiler
|
||||
# to be used the Intel mpicc/mpicxx wrappers
|
||||
#
|
||||
# MPI_BUFFER_SIZE overrides 'mpiBufferSize' (controlDict entry).
|
||||
# Eg, export MPI_BUFFER_SIZE=20000000
|
||||
#
|
||||
@ -84,7 +84,9 @@ SYSTEMOPENMPI | SYSTEMOPENMPI[1-9])
|
||||
unset libDir
|
||||
fi
|
||||
|
||||
# TDB: extra openmpi major qualifier on name?
|
||||
#-
|
||||
# TBD: extra (major) version qualifier on name?
|
||||
#-
|
||||
## if [ "$FOAM_MPI" = "sys-openmpi" ]
|
||||
## then
|
||||
## _foamMpiVersion="${MPI_ARCH_PATH##*mpi}"
|
||||
@ -342,6 +344,7 @@ SGIMPI)
|
||||
|
||||
|
||||
INTELMPI*)
|
||||
export FOAM_MPI=intelmpi
|
||||
_foamEtc -config prefs.intelmpi ## Optional adjustments
|
||||
|
||||
if [ -n "$I_MPI_ROOT" ]
|
||||
@ -366,21 +369,45 @@ INTELMPI*)
|
||||
# Remove trailing slash
|
||||
MPI_ARCH_PATH="${MPI_ARCH_PATH%/}"
|
||||
|
||||
# Subdir name is FOAM_MPI name
|
||||
FOAM_MPI="${MPI_ARCH_PATH##*/}"
|
||||
|
||||
# If subdir is version number only, prefix with 'impi-'
|
||||
case "$FOAM_MPI" in ([0-9]*) FOAM_MPI="impi-$FOAM_MPI";; esac
|
||||
#-
|
||||
# TBD: extra version qualifier on name?
|
||||
# eg, when subdir is version number only
|
||||
#-
|
||||
## if [ "$FOAM_MPI" = "intelmpi" ]
|
||||
## then
|
||||
## _foamMpiVersion="${MPI_ARCH_PATH##*mpi}"
|
||||
## case "$_foamMpiVersion" in
|
||||
## ([1-9]*) FOAM_MPI="intelmpi-${_foamMpiVersion}";;
|
||||
## esac
|
||||
## fi
|
||||
else
|
||||
echo "${_foamMpiWarning}invalid $WM_MPLIB directory" 1>&2
|
||||
echo " => ${MPI_ARCH_PATH:-unset}" 1>&2
|
||||
echo "Please set I_MPI_ROOT or MPI_ROOT correctly." 1>&2
|
||||
echo "Please set I_MPI_ROOT (or MPI_ROOT) correctly." 1>&2
|
||||
fi
|
||||
|
||||
export FOAM_MPI MPI_ARCH_PATH
|
||||
export MPI_ARCH_PATH
|
||||
|
||||
_foamAddPath "$MPI_ARCH_PATH"/intel64/bin
|
||||
_foamAddLib "$MPI_ARCH_PATH"/intel64/lib
|
||||
# With/without "intel64/" directory - handled here and in mpi rules
|
||||
|
||||
# Path, lib-path may have been set prior to call
|
||||
if true
|
||||
then
|
||||
if [ -d "$MPI_ARCH_PATH"/intel64/bin ] \
|
||||
&& [ -d "$MPI_ARCH_PATH"/intel64/lib ]
|
||||
then
|
||||
_foamAddPath "$MPI_ARCH_PATH"/intel64/bin
|
||||
_foamAddLib "$MPI_ARCH_PATH"/intel64/lib
|
||||
_foamAddLib "$MPI_ARCH_PATH"/intel64/lib/release
|
||||
|
||||
elif [ -d "$MPI_ARCH_PATH"/bin ] \
|
||||
&& [ -d "$MPI_ARCH_PATH"/lib ]
|
||||
then
|
||||
_foamAddPath "$MPI_ARCH_PATH"/bin
|
||||
_foamAddLib "$MPI_ARCH_PATH"/lib
|
||||
_foamAddLib "$MPI_ARCH_PATH"/lib/release
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
|
||||
|
||||
|
@ -6,7 +6,7 @@
|
||||
# \\/ M anipulation |
|
||||
#------------------------------------------------------------------------------
|
||||
# Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
# Copyright (C) 2016-2020 OpenCFD Ltd.
|
||||
# Copyright (C) 2016-2021 OpenCFD Ltd.
|
||||
#------------------------------------------------------------------------------
|
||||
# License
|
||||
# This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
|
||||
@ -66,7 +66,7 @@ setenv WM_PROJECT_VERSION com
|
||||
setenv WM_COMPILER_TYPE system
|
||||
|
||||
# [WM_COMPILER] - Compiler:
|
||||
# = Gcc | Clang | Icc | Cray | Amd | Arm | Pgi | Fujitsu |
|
||||
# = Gcc | Clang | Icc | Icx | Cray | Amd | Arm | Pgi | Fujitsu |
|
||||
# Gcc<digits> | Clang<digits>
|
||||
setenv WM_COMPILER Gcc
|
||||
|
||||
|
@ -2,4 +2,4 @@
|
||||
# The USE_OMP is for OpenFOAM-specific use (general use is _OPENMP)
|
||||
|
||||
COMP_OPENMP = -DUSE_OMP -qopenmp
|
||||
LINK_OPENMP = -liomp5
|
||||
LINK_OPENMP = -qopenmp
|
||||
|
10
wmake/rules/General/Icx/c
Normal file
10
wmake/rules/General/Icx/c
Normal file
@ -0,0 +1,10 @@
|
||||
SUFFIXES += .c
|
||||
|
||||
cc = icx
|
||||
|
||||
cARCH =
|
||||
cDBUG =
|
||||
cOPT = -O2
|
||||
cWARN = $(FOAM_EXTRA_CFLAGS)
|
||||
|
||||
#------------------------------------------------------------------------------
|
24
wmake/rules/General/Icx/c++
Normal file
24
wmake/rules/General/Icx/c++
Normal file
@ -0,0 +1,24 @@
|
||||
SUFFIXES += .C .cc .cpp .cxx
|
||||
|
||||
CC = icpx -std=c++11
|
||||
|
||||
c++ARCH =
|
||||
c++DBUG =
|
||||
c++OPT = -O2
|
||||
ptFLAGS = -DNoRepository
|
||||
|
||||
# - Standard warnings
|
||||
# - Less restrictive warnings (may be needed for flex++, CGAL, etc.).
|
||||
|
||||
c++WARN = \
|
||||
-Wall -Wextra \
|
||||
-Wnon-virtual-dtor -Wno-unused-parameter -Wno-invalid-offsetof \
|
||||
-Wno-unknown-pragmas \
|
||||
-Wno-undefined-var-template \
|
||||
-diag-disable 327,654,1125,1292,2289,2304,11062,11074,11076 \
|
||||
$(FOAM_EXTRA_CXXFLAGS)
|
||||
|
||||
c++LESSWARN = \
|
||||
-diag-disable 1224,2026,2305
|
||||
|
||||
#------------------------------------------------------------------------------
|
5
wmake/rules/General/Icx/link-c
Normal file
5
wmake/rules/General/Icx/link-c
Normal file
@ -0,0 +1,5 @@
|
||||
LINK_LIBS = $(cDBUG)
|
||||
|
||||
LINKLIBSO = $(cc) $(cFLAGS) -shared
|
||||
|
||||
LINKEXE = $(cc) $(cFLAGS) -Xlinker --add-needed -Xlinker -z -Xlinker nodefs
|
11
wmake/rules/General/Icx/link-c++
Normal file
11
wmake/rules/General/Icx/link-c++
Normal file
@ -0,0 +1,11 @@
|
||||
LINK_LIBS = $(c++DBUG)
|
||||
|
||||
LINKLIBSO = $(CC) $(c++FLAGS) -shared \
|
||||
-Xlinker --add-needed \
|
||||
-Xlinker --no-as-needed \
|
||||
$(FOAM_EXTRA_LDFLAGS)
|
||||
|
||||
LINKEXE = $(CC) $(c++FLAGS) \
|
||||
-Xlinker --add-needed \
|
||||
-Xlinker --no-as-needed \
|
||||
$(FOAM_EXTRA_LDFLAGS)
|
5
wmake/rules/General/Icx/openmp
Normal file
5
wmake/rules/General/Icx/openmp
Normal file
@ -0,0 +1,5 @@
|
||||
# Flags for compiling/linking openmp
|
||||
# The USE_OMP is for OpenFOAM-specific use (general use is _OPENMP)
|
||||
|
||||
COMP_OPENMP = -DUSE_OMP -fiopenmp
|
||||
LINK_OPENMP = -fiopenmp
|
@ -1,8 +1,18 @@
|
||||
#------------------------------------------------------------------------------
|
||||
# INTELMPI rules (x86_64)
|
||||
# - <root>/intel64/{include,lib}
|
||||
# - <root>/{include,lib}
|
||||
|
||||
PFLAGS = -DMPICH_SKIP_MPICXX -DOMPI_SKIP_MPICXX
|
||||
PINC = -isystem $(MPI_ARCH_PATH)/intel64/include
|
||||
PLIBS = -L$(MPI_ARCH_PATH)/intel64/lib -lmpi
|
||||
intelmpi_subdir := $(shell test -d "$(MPI_ARCH_PATH)/intel64" && echo /intel64)
|
||||
|
||||
PFLAGS = -DMPICH_SKIP_MPICXX -DOMPI_SKIP_MPICXX
|
||||
PINC = -isystem $(MPI_ARCH_PATH)$(intelmpi_subdir)/include
|
||||
PLIBS = -L$(MPI_ARCH_PATH)$(intelmpi_subdir)/lib/release -lmpi
|
||||
|
||||
# DEBUG
|
||||
# -----
|
||||
## $(info MPI_ARCH_PATH: $(MPI_ARCH_PATH))
|
||||
## $(info PINC $(PINC))
|
||||
## $(info PLIBS $(PLIBS))
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
|
@ -1,3 +1,4 @@
|
||||
#------------------------------------------------------------------------------
|
||||
include $(GENERAL_RULES)/Icc/c
|
||||
|
||||
cARCH =
|
||||
@ -11,4 +12,5 @@ ctoo = $(WM_SCHEDULER) $(cc) $(cFLAGS) -c $< -o $@
|
||||
|
||||
include $(GENERAL_RULES)/Icc/link-c
|
||||
|
||||
LINK_LIBS += -L$(IA32ROOT)/lib
|
||||
#legacy: LINK_LIBS += -L$(IA32ROOT)/lib
|
||||
#------------------------------------------------------------------------------
|
||||
|
@ -1,3 +1,4 @@
|
||||
#------------------------------------------------------------------------------
|
||||
include $(GENERAL_RULES)/Icc/c++
|
||||
|
||||
c++ARCH = -pthread -fp-trap=common -fp-model precise
|
||||
@ -13,4 +14,5 @@ cpptoo = $(Ctoo)
|
||||
|
||||
include $(GENERAL_RULES)/Icc/link-c++
|
||||
|
||||
LINK_LIBS += -L$(IA64ROOT)/lib
|
||||
#legacy: LINK_LIBS += -L$(IA64ROOT)/lib
|
||||
#------------------------------------------------------------------------------
|
||||
|
@ -1,2 +1,2 @@
|
||||
c++DBUG = -pg
|
||||
c++DBUG = -p
|
||||
c++OPT = -O2
|
||||
|
@ -1,2 +1,2 @@
|
||||
cDBUG = -pg
|
||||
cDBUG = -p
|
||||
cOPT = -O2
|
||||
|
15
wmake/rules/linux64Icx/c
Normal file
15
wmake/rules/linux64Icx/c
Normal file
@ -0,0 +1,15 @@
|
||||
#------------------------------------------------------------------------------
|
||||
include $(GENERAL_RULES)/Icx/c
|
||||
|
||||
cARCH =
|
||||
|
||||
# Compile option is non-mandatory, but must be non-empty
|
||||
sinclude $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION)
|
||||
|
||||
cFLAGS = $(cARCH) $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC
|
||||
|
||||
ctoo = $(WM_SCHEDULER) $(cc) $(cFLAGS) -c $< -o $@
|
||||
|
||||
include $(GENERAL_RULES)/Icx/link-c
|
||||
|
||||
#------------------------------------------------------------------------------
|
17
wmake/rules/linux64Icx/c++
Normal file
17
wmake/rules/linux64Icx/c++
Normal file
@ -0,0 +1,17 @@
|
||||
#------------------------------------------------------------------------------
|
||||
include $(GENERAL_RULES)/Icx/c++
|
||||
|
||||
c++ARCH = -fp-model precise
|
||||
|
||||
include $(DEFAULT_RULES)/c++$(WM_COMPILE_OPTION)
|
||||
|
||||
c++FLAGS = $(c++ARCH) $(GFLAGS) $(c++WARN) $(c++OPT) $(c++DBUG) $(ptFLAGS) $(LIB_HEADER_DIRS) -fPIC
|
||||
|
||||
Ctoo = $(WM_SCHEDULER) $(CC) $(c++FLAGS) -c $< -o $@
|
||||
cxxtoo = $(Ctoo)
|
||||
cctoo = $(Ctoo)
|
||||
cpptoo = $(Ctoo)
|
||||
|
||||
include $(GENERAL_RULES)/Icx/link-c++
|
||||
|
||||
#------------------------------------------------------------------------------
|
2
wmake/rules/linux64Icx/c++Debug
Normal file
2
wmake/rules/linux64Icx/c++Debug
Normal file
@ -0,0 +1,2 @@
|
||||
c++DBUG = -g -DFULLDEBUG -O0
|
||||
c++OPT =
|
2
wmake/rules/linux64Icx/c++Opt
Normal file
2
wmake/rules/linux64Icx/c++Opt
Normal file
@ -0,0 +1,2 @@
|
||||
c++DBUG =
|
||||
c++OPT = -O3
|
4
wmake/rules/linux64Icx/c++OptKNL
Normal file
4
wmake/rules/linux64Icx/c++OptKNL
Normal file
@ -0,0 +1,4 @@
|
||||
c++DBUG =
|
||||
c++OPT = -xmic-avx512 -fp-speculation=safe -O3
|
||||
|
||||
ROUNDING_MATH = -frounding-math
|
2
wmake/rules/linux64Icx/c++Prof
Normal file
2
wmake/rules/linux64Icx/c++Prof
Normal file
@ -0,0 +1,2 @@
|
||||
c++DBUG = -pg
|
||||
c++OPT = -O2
|
2
wmake/rules/linux64Icx/cDebug
Normal file
2
wmake/rules/linux64Icx/cDebug
Normal file
@ -0,0 +1,2 @@
|
||||
cDBUG = -g -DFULLDEBUG -O0
|
||||
cOPT =
|
2
wmake/rules/linux64Icx/cOpt
Normal file
2
wmake/rules/linux64Icx/cOpt
Normal file
@ -0,0 +1,2 @@
|
||||
cDBUG =
|
||||
cOPT = -O3
|
2
wmake/rules/linux64Icx/cOptKNL
Normal file
2
wmake/rules/linux64Icx/cOptKNL
Normal file
@ -0,0 +1,2 @@
|
||||
cDBUG =
|
||||
cOPT = -O3 -no-prec-div
|
2
wmake/rules/linux64Icx/cProf
Normal file
2
wmake/rules/linux64Icx/cProf
Normal file
@ -0,0 +1,2 @@
|
||||
cDBUG = -pg
|
||||
cOPT = -O2
|
13
wmake/rules/linux64Icx/general
Normal file
13
wmake/rules/linux64Icx/general
Normal file
@ -0,0 +1,13 @@
|
||||
CPP = /lib/cpp -traditional-cpp $(GFLAGS)
|
||||
|
||||
include $(GENERAL_RULES)/standard
|
||||
include $(GENERAL_RULES)/Icx/openmp
|
||||
|
||||
ifneq (,$(findstring ~openmp,$(WM_COMPILE_CONTROL)))
|
||||
include $(GENERAL_RULES)/no-openmp
|
||||
endif
|
||||
|
||||
include $(DEFAULT_RULES)/c
|
||||
include $(DEFAULT_RULES)/c++
|
||||
|
||||
# -----------------------------------------------------------------------------
|
1
wmake/rules/linux64Icx/mplibHPMPI
Normal file
1
wmake/rules/linux64Icx/mplibHPMPI
Normal file
@ -0,0 +1 @@
|
||||
include $(GENERAL_RULES)/mplib-x86_64-HPMPI
|
1
wmake/rules/linux64Icx/mplibINTELMPI
Normal file
1
wmake/rules/linux64Icx/mplibINTELMPI
Normal file
@ -0,0 +1 @@
|
||||
include $(GENERAL_RULES)/mplib-x86_64-INTELMPI
|
@ -1,5 +1,4 @@
|
||||
c++DBUG =
|
||||
|
||||
c++OPT = \
|
||||
-DICC_IA64_PREFETCH \
|
||||
-ansi-alias \
|
||||
|
@ -1,2 +1,2 @@
|
||||
c++DBUG = -ggdb3 -DFULLDEBUG
|
||||
c++DBUG = -ggdb3 -DFULLDEBUG
|
||||
c++OPT = -O0 -fdefault-inline
|
||||
|
Loading…
Reference in New Issue
Block a user