mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
CONFIG: combine wmake rules for KNL architecture as a compile option
- instead of
WM_COMPILER=GccKNL WM_COMPILE_OPTION=Opt
-> linux64GccKNLDPInt32Opt
now specify
WM_COMPILER=Gcc WM_COMPILE_OPTION=OptKNL
-> linux64GccDPInt32OptKNL
This makes it easier (and more obvious) for adding different tweaks
without needing to generate too many files.
Eg,
cd wmake/rules/linux64Gcc
cp cOpt cOptBdw
cp c++Opt c++OptBdw
edit these two files and then use WM_COMPILE_OPTION=OptBdw
CONFIG: provide some default c/c++ flags in General compiler rules
- can make is easier when deriving new compile options, and ensures
that '-02' is enabled as an initial default.
This commit is contained in:
@ -68,8 +68,8 @@ projectDir="$HOME/OpenFOAM/OpenFOAM-$WM_PROJECT_VERSION"
|
||||
export WM_COMPILER_TYPE=system
|
||||
|
||||
# [WM_COMPILER] - Compiler:
|
||||
# = Gcc | Gcc4[8-9] | Gcc5[1-5] | Gcc6[1-4] | Gcc7[1-3] | Gcc8[12] | GccKNL |
|
||||
# Clang | Clang3[7-9] | Clang[4-6]0 | Icc | IccKNL | Cray | Arm
|
||||
# = Gcc | Gcc4[8-9] | Gcc5[1-5] | Gcc6[1-4] | Gcc7[1-3] | Gcc8[12] |
|
||||
# Clang | Clang3[7-9] | Clang[4-6]0 | Icc | Cray | Arm
|
||||
export WM_COMPILER=Gcc
|
||||
|
||||
# [WM_ARCH_OPTION] - Memory addressing:
|
||||
@ -86,8 +86,10 @@ export WM_PRECISION_OPTION=DP
|
||||
# = 32 | 64
|
||||
export WM_LABEL_SIZE=32
|
||||
|
||||
# [WM_COMPILE_OPTION] - Optimised, debug, profiling:
|
||||
# [WM_COMPILE_OPTION] - Optimised, debug, profiling, other:
|
||||
# = Opt | Debug | Prof
|
||||
# Other is processor or packaging specific, for example
|
||||
# = OptKNL
|
||||
export WM_COMPILE_OPTION=Opt
|
||||
|
||||
# [WM_MPLIB] - MPI implementation:
|
||||
|
||||
@ -70,8 +70,8 @@ set projectDir=`lsof +p $$ |& \
|
||||
setenv WM_COMPILER_TYPE system
|
||||
|
||||
# [WM_COMPILER] - Compiler:
|
||||
# = Gcc | Gcc4[8-9] | Gcc5[1-5] | Gcc6[1-4] | Gcc7[1-3] | Gcc8[12] | GccKNL |
|
||||
# Clang | Clang3[7-9] | Clang[4-6]0 | Icc | IccKNL | Cray | Arm
|
||||
# = Gcc | Gcc4[8-9] | Gcc5[1-5] | Gcc6[1-4] | Gcc7[1-3] | Gcc8[12] |
|
||||
# Clang | Clang3[7-9] | Clang[4-6]0 | Icc | Cray | Arm
|
||||
setenv WM_COMPILER Gcc
|
||||
|
||||
# [WM_ARCH_OPTION] - Memory addressing:
|
||||
@ -88,8 +88,10 @@ setenv WM_PRECISION_OPTION DP
|
||||
# = 32 | 64
|
||||
setenv WM_LABEL_SIZE 32
|
||||
|
||||
# [WM_COMPILE_OPTION] - Optimised, debug, profiling:
|
||||
# [WM_COMPILE_OPTION] - Optimised, debug, profiling, other:
|
||||
# = Opt | Debug | Prof
|
||||
# Other is processor or packaging specific, for example
|
||||
# = OptKNL
|
||||
setenv WM_COMPILE_OPTION Opt
|
||||
|
||||
# [WM_MPLIB] - MPI implementation:
|
||||
|
||||
7
wmake/rules/General/Clang/c
Normal file
7
wmake/rules/General/Clang/c
Normal file
@ -0,0 +1,7 @@
|
||||
SUFFIXES += .c
|
||||
|
||||
cc = clang
|
||||
|
||||
cDBUG =
|
||||
cOPT = -O2
|
||||
cWARN = -Wall
|
||||
@ -2,6 +2,8 @@ SUFFIXES += .C .cc .cpp .cxx
|
||||
|
||||
CC = clang++ -std=c++11
|
||||
|
||||
c++DBUG =
|
||||
c++OPT = -O2
|
||||
ptFLAGS = -DNoRepository -ftemplate-depth-100
|
||||
|
||||
# - Standard warnings
|
||||
|
||||
7
wmake/rules/General/Gcc/c
Normal file
7
wmake/rules/General/Gcc/c
Normal file
@ -0,0 +1,7 @@
|
||||
SUFFIXES += .c
|
||||
|
||||
cc = gcc
|
||||
|
||||
cDBUG =
|
||||
cOPT = -O2
|
||||
cWARN = -Wall
|
||||
@ -2,6 +2,8 @@ SUFFIXES += .C .cc .cpp .cxx
|
||||
|
||||
CC = g++ -std=c++11
|
||||
|
||||
c++DBUG =
|
||||
c++OPT = -O2
|
||||
ptFLAGS = -DNoRepository -ftemplate-depth-100
|
||||
|
||||
# - Standard warnings
|
||||
|
||||
7
wmake/rules/General/Icc/c
Normal file
7
wmake/rules/General/Icc/c
Normal file
@ -0,0 +1,7 @@
|
||||
SUFFIXES += .c
|
||||
|
||||
cc = icc
|
||||
|
||||
cDBUG =
|
||||
cOPT = -O2
|
||||
cWARN =
|
||||
@ -2,6 +2,8 @@ SUFFIXES += .C .cc .cpp .cxx
|
||||
|
||||
CC = icpc -std=c++11
|
||||
|
||||
c++DBUG =
|
||||
c++OPT = -O2
|
||||
ptFLAGS = -DNoRepository
|
||||
|
||||
# - Standard warnings
|
||||
|
||||
@ -1,9 +1,7 @@
|
||||
SUFFIXES += .c
|
||||
include $(GENERAL_RULES)/Clang/c
|
||||
|
||||
cc = clang -m64 -Ddarwin -ftrapping-math
|
||||
|
||||
cWARN = -Wall
|
||||
|
||||
include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION)
|
||||
|
||||
cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC
|
||||
|
||||
@ -1,9 +1,7 @@
|
||||
SUFFIXES += .c
|
||||
include $(GENERAL_RULES)/Clang/c
|
||||
|
||||
cc = clang -m64
|
||||
|
||||
cWARN = -Wall
|
||||
|
||||
include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION)
|
||||
|
||||
cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC
|
||||
|
||||
@ -1,9 +1,7 @@
|
||||
SUFFIXES += .c
|
||||
include $(GENERAL_RULES)/Gcc/c
|
||||
|
||||
cc = gcc -m64
|
||||
|
||||
cWARN = -Wall
|
||||
|
||||
include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION)
|
||||
|
||||
cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
c++DBUG =
|
||||
c++OPT = -O3
|
||||
c++OPT = -march=knl -O3
|
||||
|
||||
ROUNDING_MATH = -frounding-math
|
||||
2
wmake/rules/linux64Gcc/cOptKNL
Normal file
2
wmake/rules/linux64Gcc/cOptKNL
Normal file
@ -0,0 +1,2 @@
|
||||
cDBUG =
|
||||
cOPT = -march=knl -O3
|
||||
@ -1,16 +0,0 @@
|
||||
SUFFIXES += .c
|
||||
|
||||
cc = gcc -m64 -march=knl
|
||||
|
||||
cWARN = -Wall
|
||||
|
||||
include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION)
|
||||
|
||||
cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC
|
||||
|
||||
ctoo = $(WM_SCHEDULER) $(cc) $(cFLAGS) -c $< -o $@
|
||||
|
||||
LINK_LIBS = $(cDBUG)
|
||||
|
||||
LINKLIBSO = $(cc) -shared
|
||||
LINKEXE = $(cc) -Xlinker --add-needed -Xlinker -z -Xlinker nodefs
|
||||
@ -1,17 +0,0 @@
|
||||
include $(GENERAL_RULES)/Gcc/c++
|
||||
|
||||
CC = g++ -std=c++11 -m64 -march=knl
|
||||
|
||||
include $(DEFAULT_RULES)/c++$(WM_COMPILE_OPTION)
|
||||
|
||||
c++FLAGS = $(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)
|
||||
|
||||
LINK_LIBS = $(c++DBUG)
|
||||
|
||||
LINKLIBSO = $(CC) $(c++FLAGS) -shared -Xlinker --add-needed -Xlinker --no-as-needed
|
||||
LINKEXE = $(CC) $(c++FLAGS) -Xlinker --add-needed -Xlinker --no-as-needed
|
||||
@ -1,2 +0,0 @@
|
||||
c++DBUG = -ggdb3 -DFULLDEBUG
|
||||
c++OPT = -O0 -fdefault-inline
|
||||
@ -1,2 +0,0 @@
|
||||
c++DBUG = -pg
|
||||
c++OPT = -O2
|
||||
@ -1,2 +0,0 @@
|
||||
cDBUG = -ggdb -DFULLDEBUG
|
||||
cOPT = -O1 -fdefault-inline -finline-functions
|
||||
@ -1,2 +0,0 @@
|
||||
cDBUG =
|
||||
cOPT = -O3
|
||||
@ -1,2 +0,0 @@
|
||||
cDBUG = -pg
|
||||
cOPT = -O2
|
||||
@ -1,9 +0,0 @@
|
||||
CPP = cpp -traditional-cpp $(GFLAGS)
|
||||
|
||||
PROJECT_LIBS = -l$(WM_PROJECT) -ldl
|
||||
|
||||
include $(GENERAL_RULES)/standard
|
||||
include $(GENERAL_RULES)/Gcc/openmp
|
||||
|
||||
include $(DEFAULT_RULES)/c
|
||||
include $(DEFAULT_RULES)/c++
|
||||
@ -1,3 +0,0 @@
|
||||
PFLAGS =
|
||||
PINC = -isystem $(MPI_ARCH_PATH)/include -D_MPICC_H
|
||||
PLIBS = -L$(MPI_ARCH_PATH)/lib/linux_amd64 -lmpi
|
||||
@ -1,3 +0,0 @@
|
||||
PFLAGS = -DMPICH_SKIP_MPICXX
|
||||
PINC = -isystem $(MPI_ARCH_PATH)/include64
|
||||
PLIBS = -L$(MPI_ARCH_PATH)/lib64 -lmpi
|
||||
@ -1,9 +1,7 @@
|
||||
SUFFIXES += .c
|
||||
include $(GENERAL_RULES)/Icc/c
|
||||
|
||||
cc = icc
|
||||
|
||||
cWARN =
|
||||
|
||||
include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION)
|
||||
|
||||
cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC
|
||||
|
||||
4
wmake/rules/linux64Icc/c++OptKNL
Normal file
4
wmake/rules/linux64Icc/c++OptKNL
Normal file
@ -0,0 +1,4 @@
|
||||
c++DBUG =
|
||||
c++OPT = -xmic-avx512 -fp-speculation=safe -O3
|
||||
|
||||
ROUNDING_MATH = -frounding-math
|
||||
@ -1,16 +0,0 @@
|
||||
SUFFIXES += .c
|
||||
|
||||
cc = icc
|
||||
|
||||
cWARN =
|
||||
|
||||
include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION)
|
||||
|
||||
cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC
|
||||
|
||||
ctoo = $(WM_SCHEDULER) $(cc) $(cFLAGS) -c $< -o $@
|
||||
|
||||
LINK_LIBS = $(cDBUG) -L$(IA32ROOT)/lib
|
||||
|
||||
LINKLIBSO = $(cc) $(cFLAGS) -shared
|
||||
LINKEXE = $(cc) $(cFLAGS) -Xlinker --add-needed -Xlinker -z -Xlinker nodefs
|
||||
@ -1,27 +0,0 @@
|
||||
include $(GENERAL_RULES)/Icc/c++
|
||||
|
||||
CC = icpc -std=c++11 -xmic-avx512 -fp-trap=common -fp-model precise -fp-speculation=safe
|
||||
|
||||
# Verify if -diag-disable should really be different that the general version
|
||||
# or was previously simply not kept updated (MAR-2018)
|
||||
|
||||
c++WARN = \
|
||||
-Wall -Wextra \
|
||||
-Wnon-virtual-dtor -Wno-unused-parameter -Wno-invalid-offsetof \
|
||||
-Wno-unknown-pragmas \
|
||||
-diag-disable 654,1125,1292,2304
|
||||
#
|
||||
|
||||
include $(DEFAULT_RULES)/c++$(WM_COMPILE_OPTION)
|
||||
|
||||
c++FLAGS = $(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)
|
||||
|
||||
LINK_LIBS = $(c++DBUG) -L$(IA64ROOT)/lib
|
||||
|
||||
LINKLIBSO = $(CC) $(c++FLAGS) -shared -Xlinker --add-needed -Xlinker --no-as-needed
|
||||
LINKEXE = $(CC) $(c++FLAGS) -Xlinker --add-needed -Xlinker --no-as-needed
|
||||
@ -1,2 +0,0 @@
|
||||
c++DBUG = -g -DFULLDEBUG -O0
|
||||
c++OPT =
|
||||
@ -1,2 +0,0 @@
|
||||
c++DBUG =
|
||||
c++OPT = -O3
|
||||
@ -1,2 +0,0 @@
|
||||
c++DBUG = -pg
|
||||
c++OPT = -O2
|
||||
@ -1,2 +0,0 @@
|
||||
cDBUG = -g -DFULLDEBUG -O0
|
||||
cOPT =
|
||||
@ -1,2 +0,0 @@
|
||||
cDBUG = -pg
|
||||
cOPT = -O2
|
||||
@ -1,8 +0,0 @@
|
||||
CPP = /lib/cpp -traditional-cpp $(GFLAGS)
|
||||
|
||||
PROJECT_LIBS = -l$(WM_PROJECT) -ldl
|
||||
|
||||
include $(GENERAL_RULES)/standard
|
||||
|
||||
include $(DEFAULT_RULES)/c
|
||||
include $(DEFAULT_RULES)/c++
|
||||
@ -1,3 +0,0 @@
|
||||
PFLAGS =
|
||||
PINC = -isystem $(MPI_ARCH_PATH)/include -D_MPICC_H
|
||||
PLIBS = -L$(MPI_ARCH_PATH)/lib/linux_amd64 -lmpi
|
||||
@ -1,3 +0,0 @@
|
||||
PFLAGS = -DMPICH_SKIP_MPICXX
|
||||
PINC = -isystem $(MPI_ARCH_PATH)/include64
|
||||
PLIBS = -L$(MPI_ARCH_PATH)/lib64 -lmpi
|
||||
@ -1,9 +1,7 @@
|
||||
SUFFIXES += .c
|
||||
include $(GENERAL_RULES)/Clang/c
|
||||
|
||||
cc = clang
|
||||
|
||||
cWARN = -Wall
|
||||
|
||||
include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION)
|
||||
|
||||
cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC
|
||||
|
||||
@ -1,9 +1,7 @@
|
||||
SUFFIXES += .c
|
||||
include $(GENERAL_RULES)/Gcc/c
|
||||
|
||||
cc = gcc
|
||||
|
||||
cWARN = -Wall
|
||||
|
||||
include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION)
|
||||
|
||||
cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC
|
||||
|
||||
@ -1,9 +1,7 @@
|
||||
SUFFIXES += .c
|
||||
include $(GENERAL_RULES)/Gcc/c
|
||||
|
||||
cc = gcc
|
||||
|
||||
cWARN = -Wall
|
||||
|
||||
include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION)
|
||||
|
||||
cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC
|
||||
|
||||
@ -1,9 +1,7 @@
|
||||
SUFFIXES += .c
|
||||
include $(GENERAL_RULES)/Clang/c
|
||||
|
||||
cc = clang -m32
|
||||
|
||||
cWARN = -Wall
|
||||
|
||||
include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION)
|
||||
|
||||
cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC
|
||||
|
||||
@ -1,9 +1,7 @@
|
||||
SUFFIXES += .c
|
||||
include $(GENERAL_RULES)/Gcc/c
|
||||
|
||||
cc = gcc -m32
|
||||
|
||||
cWARN = -Wall
|
||||
|
||||
include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION)
|
||||
|
||||
cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC
|
||||
|
||||
@ -1,9 +1,7 @@
|
||||
SUFFIXES += .c
|
||||
include $(GENERAL_RULES)/Gcc/c
|
||||
|
||||
cc = gcc
|
||||
|
||||
cWARN = -Wall
|
||||
|
||||
include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION)
|
||||
|
||||
cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC
|
||||
|
||||
@ -1,9 +1,7 @@
|
||||
SUFFIXES += .c
|
||||
include $(GENERAL_RULES)/Icc/c
|
||||
|
||||
cc = icc
|
||||
|
||||
cWARN =
|
||||
|
||||
include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION)
|
||||
|
||||
cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC
|
||||
|
||||
@ -1,9 +1,7 @@
|
||||
SUFFIXES += .c
|
||||
include $(GENERAL_RULES)/Icc/c
|
||||
|
||||
cc = icc -gcc-version=400
|
||||
|
||||
cWARN =
|
||||
|
||||
include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION)
|
||||
|
||||
cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -KPIC
|
||||
|
||||
@ -1,9 +1,7 @@
|
||||
SUFFIXES += .c
|
||||
include $(GENERAL_RULES)/Gcc/c
|
||||
|
||||
cc = gcc -m64 -mcpu=power5+
|
||||
|
||||
cWARN = -Wall
|
||||
|
||||
include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION)
|
||||
|
||||
cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC
|
||||
|
||||
@ -1,9 +1,7 @@
|
||||
SUFFIXES += .c
|
||||
include $(GENERAL_RULES)/Gcc/c
|
||||
|
||||
cc = gcc -m64 -mcpu=power8
|
||||
|
||||
cWARN = -Wall
|
||||
|
||||
include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION)
|
||||
|
||||
cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC
|
||||
|
||||
@ -1,9 +1,7 @@
|
||||
SUFFIXES += .c
|
||||
include $(GENERAL_RULES)/Gcc/c
|
||||
|
||||
cc = gcc -m64
|
||||
|
||||
cWARN = -Wall
|
||||
|
||||
include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION)
|
||||
|
||||
cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC
|
||||
|
||||
@ -1,9 +1,7 @@
|
||||
SUFFIXES += .c
|
||||
include $(GENERAL_RULES)/Gcc/c
|
||||
|
||||
cc = gcc
|
||||
|
||||
cWARN = -Wall
|
||||
|
||||
include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION)
|
||||
|
||||
cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC
|
||||
|
||||
Reference in New Issue
Block a user