diff --git a/.gitignore b/.gitignore index 65733e4..30d3e21 100644 --- a/.gitignore +++ b/.gitignore @@ -54,9 +54,11 @@ dkms.conf # Build directories and executables GCC/ ICC/ +ICX/ CLANG/ NVCC/ MDBench-GCC* MDBench-ICC* +MDBench-ICX* MDBench-CLANG* MDBench-NVCC* diff --git a/config.mk b/config.mk index 677b142..27b8a43 100644 --- a/config.mk +++ b/config.mk @@ -1,9 +1,9 @@ -# Compiler tag (GCC/CLANG/ICC/ONEAPI/NVCC) +# Compiler tag (GCC/CLANG/ICC/ICX/ONEAPI/NVCC) TAG ?= ICC # Instruction set (SSE/AVX/AVX_FMA/AVX2/AVX512) ISA ?= AVX512 # Optimization scheme (lammps/gromacs/clusters_per_bin) -OPT_SCHEME ?= lammps +OPT_SCHEME ?= gromacs # Enable likwid (true or false) ENABLE_LIKWID ?= true # SP or DP @@ -22,7 +22,7 @@ MEM_TRACER ?= false # Trace indexes and distances for gather-md (true or false) INDEX_TRACER ?= false # Compute statistics -COMPUTE_STATS ?= false +COMPUTE_STATS ?= true # Configurations for lammps optimization scheme # Use omp simd pragma when running with half neighbor-lists diff --git a/include_CLANG.mk b/include_CLANG.mk index 49b7751..ac33f16 100644 --- a/include_CLANG.mk +++ b/include_CLANG.mk @@ -6,9 +6,9 @@ ANSI_CFLAGS += -std=c99 ANSI_CFLAGS += -pedantic 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 = -Ofast $(ANSI_CFLAGS) -g #-Xpreprocessor -fopenmp -g +#CFLAGS = -Ofast $(ANSI_CFLAGS) -g #-Xpreprocessor -fopenmp -g ASFLAGS = -masm=intel LFLAGS = DEFINES = -D_GNU_SOURCE diff --git a/include_GCC.mk b/include_GCC.mk index c4798e7..24491f8 100644 --- a/include_GCC.mk +++ b/include_GCC.mk @@ -6,11 +6,14 @@ ANSI_CFLAGS += -std=c99 ANSI_CFLAGS += -pedantic 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=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 -ASFLAGS = -masm=intel +ASFLAGS = #-masm=intel LFLAGS = DEFINES = -D_GNU_SOURCE -DNO_ZMM_INTRIN INCLUDES = $(LIKWID_INC) diff --git a/include_ICC.mk b/include_ICC.mk index 1c63010..02d1597 100644 --- a/include_ICC.mk +++ b/include_ICC.mk @@ -6,6 +6,7 @@ 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) diff --git a/include_ICX.mk b/include_ICX.mk new file mode 100644 index 0000000..676b7ad --- /dev/null +++ b/include_ICX.mk @@ -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