Update build options for each compiler and include ICX
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
This commit is contained in:
parent
a7cb888517
commit
d76d044a00
2
.gitignore
vendored
2
.gitignore
vendored
@ -54,9 +54,11 @@ dkms.conf
|
|||||||
# Build directories and executables
|
# Build directories and executables
|
||||||
GCC/
|
GCC/
|
||||||
ICC/
|
ICC/
|
||||||
|
ICX/
|
||||||
CLANG/
|
CLANG/
|
||||||
NVCC/
|
NVCC/
|
||||||
MDBench-GCC*
|
MDBench-GCC*
|
||||||
MDBench-ICC*
|
MDBench-ICC*
|
||||||
|
MDBench-ICX*
|
||||||
MDBench-CLANG*
|
MDBench-CLANG*
|
||||||
MDBench-NVCC*
|
MDBench-NVCC*
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
# Compiler tag (GCC/CLANG/ICC/ONEAPI/NVCC)
|
# Compiler tag (GCC/CLANG/ICC/ICX/ONEAPI/NVCC)
|
||||||
TAG ?= ICC
|
TAG ?= ICC
|
||||||
# Instruction set (SSE/AVX/AVX_FMA/AVX2/AVX512)
|
# Instruction set (SSE/AVX/AVX_FMA/AVX2/AVX512)
|
||||||
ISA ?= AVX512
|
ISA ?= AVX512
|
||||||
# Optimization scheme (lammps/gromacs/clusters_per_bin)
|
# Optimization scheme (lammps/gromacs/clusters_per_bin)
|
||||||
OPT_SCHEME ?= lammps
|
OPT_SCHEME ?= gromacs
|
||||||
# Enable likwid (true or false)
|
# Enable likwid (true or false)
|
||||||
ENABLE_LIKWID ?= true
|
ENABLE_LIKWID ?= true
|
||||||
# SP or DP
|
# SP or DP
|
||||||
@ -22,7 +22,7 @@ MEM_TRACER ?= false
|
|||||||
# Trace indexes and distances for gather-md (true or false)
|
# Trace indexes and distances for gather-md (true or false)
|
||||||
INDEX_TRACER ?= false
|
INDEX_TRACER ?= false
|
||||||
# Compute statistics
|
# Compute statistics
|
||||||
COMPUTE_STATS ?= false
|
COMPUTE_STATS ?= true
|
||||||
|
|
||||||
# Configurations for lammps optimization scheme
|
# Configurations for lammps optimization scheme
|
||||||
# Use omp simd pragma when running with half neighbor-lists
|
# Use omp simd pragma when running with half neighbor-lists
|
||||||
|
@ -6,9 +6,9 @@ ANSI_CFLAGS += -std=c99
|
|||||||
ANSI_CFLAGS += -pedantic
|
ANSI_CFLAGS += -pedantic
|
||||||
ANSI_CFLAGS += -Wextra
|
ANSI_CFLAGS += -Wextra
|
||||||
|
|
||||||
#CFLAGS = -O3 -march=native $(ANSI_CFLAGS) #-Xpreprocessor -fopenmp -g
|
CFLAGS = -Ofast -march=native $(ANSI_CFLAGS) #-Xpreprocessor -fopenmp -g
|
||||||
#CFLAGS = -O3 -march=cascadelake $(ANSI_CFLAGS) #-Xpreprocessor -fopenmp -g
|
#CFLAGS = -O3 -march=cascadelake $(ANSI_CFLAGS) #-Xpreprocessor -fopenmp -g
|
||||||
CFLAGS = -Ofast $(ANSI_CFLAGS) -g #-Xpreprocessor -fopenmp -g
|
#CFLAGS = -Ofast $(ANSI_CFLAGS) -g #-Xpreprocessor -fopenmp -g
|
||||||
ASFLAGS = -masm=intel
|
ASFLAGS = -masm=intel
|
||||||
LFLAGS =
|
LFLAGS =
|
||||||
DEFINES = -D_GNU_SOURCE
|
DEFINES = -D_GNU_SOURCE
|
||||||
|
@ -6,11 +6,14 @@ ANSI_CFLAGS += -std=c99
|
|||||||
ANSI_CFLAGS += -pedantic
|
ANSI_CFLAGS += -pedantic
|
||||||
ANSI_CFLAGS += -Wextra
|
ANSI_CFLAGS += -Wextra
|
||||||
|
|
||||||
# CFLAGS = -O0 -g -std=c99 -fargument-noalias
|
#CFLAGS = -O0 -g -std=c99 -fargument-noalias
|
||||||
#CFLAGS = -O3 -march=cascadelake -ffast-math -funroll-loops # -fopenmp
|
#CFLAGS = -O3 -march=cascadelake -ffast-math -funroll-loops # -fopenmp
|
||||||
CFLAGS = -O3 -march=native -ffast-math -funroll-loops # -fopenmp
|
CFLAGS = -Ofast -march=native -ffast-math -funroll-loops # -fopenmp
|
||||||
|
#CFLAGS = -Ofast -march=native -mavx2 -ffast-math -funroll-loops # -fopenmp
|
||||||
|
#CFLAGS = -Ofast -march=native -ffast-math -funroll-loops # -fopenmp
|
||||||
|
#CFLAGS = -O3 -march=native -ffast-math -funroll-loops # -fopenmp
|
||||||
#CFLAGS = -O3 -march=znver1 -ffast-math -funroll-loops # -fopenmp
|
#CFLAGS = -O3 -march=znver1 -ffast-math -funroll-loops # -fopenmp
|
||||||
ASFLAGS = -masm=intel
|
ASFLAGS = #-masm=intel
|
||||||
LFLAGS =
|
LFLAGS =
|
||||||
DEFINES = -D_GNU_SOURCE -DNO_ZMM_INTRIN
|
DEFINES = -D_GNU_SOURCE -DNO_ZMM_INTRIN
|
||||||
INCLUDES = $(LIKWID_INC)
|
INCLUDES = $(LIKWID_INC)
|
||||||
|
@ -6,6 +6,7 @@ PROFILE = #-profile-functions -g -pg
|
|||||||
OPTS = -Ofast -xCORE-AVX512 -qopt-zmm-usage=high $(PROFILE)
|
OPTS = -Ofast -xCORE-AVX512 -qopt-zmm-usage=high $(PROFILE)
|
||||||
#OPTS = -Ofast -xCORE-AVX2 $(PROFILE)
|
#OPTS = -Ofast -xCORE-AVX2 $(PROFILE)
|
||||||
#OPTS = -Ofast -xAVX $(PROFILE)
|
#OPTS = -Ofast -xAVX $(PROFILE)
|
||||||
|
#OPTS = -Ofast -xAVX2 $(PROFILE)
|
||||||
#OPTS = -Ofast -xSSE4.2 $(PROFILE)
|
#OPTS = -Ofast -xSSE4.2 $(PROFILE)
|
||||||
#OPTS = -Ofast -no-vec $(PROFILE)
|
#OPTS = -Ofast -no-vec $(PROFILE)
|
||||||
#OPTS = -Ofast -xHost $(PROFILE)
|
#OPTS = -Ofast -xHost $(PROFILE)
|
||||||
|
18
include_ICX.mk
Normal file
18
include_ICX.mk
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
CC = icx
|
||||||
|
LINKER = $(CC)
|
||||||
|
|
||||||
|
OPENMP = #-qopenmp
|
||||||
|
PROFILE = #-profile-functions -g -pg
|
||||||
|
#OPTS = -Ofast -xCORE-AVX512 -qopt-zmm-usage=high $(PROFILE)
|
||||||
|
#OPTS = -Ofast -xCORE-AVX2 $(PROFILE)
|
||||||
|
#OPTS = -Ofast -xAVX $(PROFILE)
|
||||||
|
#OPTS = -Ofast -xAVX2 $(PROFILE)
|
||||||
|
#OPTS = -Ofast -xSSE4.2 $(PROFILE)
|
||||||
|
#OPTS = -Ofast -no-vec $(PROFILE)
|
||||||
|
OPTS = -Ofast -xHost $(PROFILE)
|
||||||
|
CFLAGS = $(PROFILE) -restrict $(OPENMP) $(OPTS)
|
||||||
|
ASFLAGS = #-masm=intel
|
||||||
|
LFLAGS = $(PROFILE) $(OPTS) $(OPENMP)
|
||||||
|
DEFINES = -std=c11 -pedantic-errors -D_GNU_SOURCE -DNO_ZMM_INTRIN
|
||||||
|
INCLUDES =
|
||||||
|
LIBS = -lm
|
Loading…
Reference in New Issue
Block a user