Merge branch 'master' of github.com:RRZE-HPC/MD-Bench
This commit is contained in:
commit
4d11c5a3c2
4
Makefile
4
Makefile
@ -71,6 +71,10 @@ ifeq ($(strip $(AVX512)),true)
|
||||
DEFINES += -DAVX512
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(ENABLE_OMP_SIMD)),true)
|
||||
DEFINES += -DENABLE_OMP_SIMD
|
||||
endif
|
||||
|
||||
VPATH = $(SRC_DIR) $(ASM_DIR)
|
||||
ASM = $(patsubst $(SRC_DIR)/%.c, $(BUILD_DIR)/%.s,$(wildcard $(SRC_DIR)/*.c))
|
||||
OVERWRITE:= $(patsubst $(ASM_DIR)/%-new.s, $(BUILD_DIR)/%.o,$(wildcard $(ASM_DIR)/*-new.s))
|
||||
|
10
config.mk
10
config.mk
@ -1,19 +1,21 @@
|
||||
# Compiler tag (GCC/CLANG/ICC)
|
||||
# Compiler tag (GCC/CLANG/ICC/ONEAPI)
|
||||
TAG ?= ICC
|
||||
# Instruction set (SSE/AVX/AVX2/AVX512)
|
||||
ISA ?= AVX512
|
||||
# Optimization scheme (lammps/gromacs/clusters_per_bin)
|
||||
OPT_SCHEME ?= gromacs
|
||||
OPT_SCHEME ?= lammps
|
||||
# Enable likwid (true or false)
|
||||
ENABLE_LIKWID ?= true
|
||||
# SP or DP
|
||||
DATA_TYPE ?= SP
|
||||
DATA_TYPE ?= DP
|
||||
# AOS or SOA
|
||||
DATA_LAYOUT ?= AOS
|
||||
# Assembly syntax to generate (ATT/INTEL)
|
||||
ASM_SYNTAX ?= ATT
|
||||
# Debug
|
||||
DEBUG ?= false
|
||||
# Use omp simd pragma for lammps halfneigh
|
||||
ENABLE_OMP_SIMD ?= true
|
||||
|
||||
# Explicitly store and load atom types (true or false)
|
||||
EXPLICIT_TYPES ?= false
|
||||
@ -22,7 +24,7 @@ MEM_TRACER ?= false
|
||||
# Trace indexes and distances for gather-md (true or false)
|
||||
INDEX_TRACER ?= false
|
||||
# Compute statistics
|
||||
COMPUTE_STATS ?= true
|
||||
COMPUTE_STATS ?= false
|
||||
|
||||
# Configurations for gromacs optimization scheme
|
||||
# Use reference version
|
||||
|
@ -5,13 +5,13 @@ OPENMP = #-qopenmp
|
||||
PROFILE = #-profile-functions -g -pg
|
||||
OPTS = -Ofast -xCORE-AVX512 -qopt-zmm-usage=high $(PROFILE)
|
||||
#OPTS = -Ofast -xCORE-AVX2 $(PROFILE)
|
||||
#OPTS = -fast -xAVX $(PROFILE)
|
||||
#OPTS = -fast -xSSE4.2 $(PROFILE)
|
||||
#OPTS = -fast -no-vec $(PROFILE)
|
||||
#OPTS = -fast -xHost $(PROFILE)
|
||||
#OPTS = -Ofast -xAVX $(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 #-DLIKWID_PERFMON
|
||||
INCLUDES = #$(LIKWID_INC)
|
||||
LIBS = -lm #$(LIKWID_LIB) -llikwid
|
||||
DEFINES = -std=c11 -pedantic-errors -D_GNU_SOURCE
|
||||
INCLUDES =
|
||||
LIBS = -lm
|
||||
|
17
include_ONEAPI.mk
Normal file
17
include_ONEAPI.mk
Normal file
@ -0,0 +1,17 @@
|
||||
CC = icx
|
||||
LINKER = $(CC)
|
||||
|
||||
OPENMP = -qopenmp-simd
|
||||
PROFILE = #-g -pg
|
||||
#OPTS = -Ofast -no-vec
|
||||
#OPTS = -Ofast -xSSE4.2
|
||||
#OPTS = -Ofast -xAVX
|
||||
#OPTS = -Ofast -xCORE-AVX2
|
||||
OPTS = -Ofast -xCORE-AVX512 -qopt-zmm-usage=high
|
||||
#OPTS = -Ofast -xHost
|
||||
CFLAGS = $(PROFILE) $(OPTS) $(OPENMP)
|
||||
ASFLAGS = -masm=intel
|
||||
LFLAGS = $(PROFILE) $(OPTS)
|
||||
DEFINES = -D_GNU_SOURCE -DNOCHUNK
|
||||
INCLUDES =
|
||||
LIBS = -lm
|
@ -137,7 +137,9 @@ double computeForceLJHalfNeigh(Parameter *param, Atom *atom, Neighbor *neighbor,
|
||||
#endif
|
||||
|
||||
// Pragma required to vectorize the inner loop
|
||||
#pragma simd reduction(+: fix,fiy,fiz)
|
||||
#ifdef ENABLE_OMP_SIMD
|
||||
#pragma omp simd reduction(+: fix,fiy,fiz)
|
||||
#endif
|
||||
for(int k = 0; k < numneighs; k++) {
|
||||
int j = neighs[k];
|
||||
MD_FLOAT delx = xtmp - atom_x(j);
|
||||
|
Loading…
Reference in New Issue
Block a user