diff --git a/Makefile b/Makefile index 5438e76..5dab16b 100644 --- a/Makefile +++ b/Makefile @@ -44,7 +44,7 @@ OBJ += $(patsubst $(SRC_DIR)/%.cc, $(BUILD_DIR)/%.o,$(wildcard $(SRC_DIR)/* OBJ += $(patsubst $(SRC_DIR)/%.cpp, $(BUILD_DIR)/%.o,$(wildcard $(SRC_DIR)/*.cpp)) OBJ += $(patsubst $(SRC_DIR)/%.f90, $(BUILD_DIR)/%.o,$(wildcard $(SRC_DIR)/*.f90)) OBJ += $(patsubst $(SRC_DIR)/%.F90, $(BUILD_DIR)/%.o,$(wildcard $(SRC_DIR)/*.F90)) -CPPFLAGS := $(CPPFLAGS) $(DEFINES) $(OPTIONS) $(INCLUDES) +CPPFLAGS := $(CPPFLAGS) $(DEFINES) $(MY_OPTS) $(OPTIONS) $(INCLUDES) ${TARGET}: $(BUILD_DIR) $(OBJ) diff --git a/compile.sh b/compile.sh new file mode 100755 index 0000000..b3b2d6d --- /dev/null +++ b/compile.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +BENCHES=( + "B_INIT" + "B_SUM" + "B_COPY" + "B_UPDATE" + "B_TRIAD" + "B_DAXPY" + "B_STRIAD" + "B_SDAXPY" +) + +for BENCH in ${BENCHES[@]}; do + echo Compile $BENCH... + + make clean + make MY_OPTS=-D$BENCH -j4 + mv bwbench-GCC $BENCH-bwbench-gcc + +done diff --git a/config.mk b/config.mk index b4fcf2c..e0f0fd5 100644 --- a/config.mk +++ b/config.mk @@ -1,10 +1,10 @@ # Supported: GCC, CLANG, ICC -TAG ?= ICC +TAG ?= GCC ENABLE_OPENMP ?= true ENABLE_LIKWID ?= false #Feature options -OPTIONS = -DSIZE=120000000ull +OPTIONS = -DSIZE=1200000ull OPTIONS += -DNTIMES=10 OPTIONS += -DARRAY_ALIGNMENT=64 #OPTIONS += -DVERBOSE_AFFINITY diff --git a/src/main.c b/src/main.c index 7839ce9..e816432 100644 --- a/src/main.c +++ b/src/main.c @@ -175,16 +175,32 @@ int main (int argc, char** argv) scalar = 3.0; for ( int k=0; k < NTIMES; k++) { +#ifdef B_INIT LIKWID_PROFILE(INIT,init(b, scalar, N)); +#endif +#ifdef B_SUM tmp = a[10]; LIKWID_PROFILE(SUM,sum(a, N)); a[10] = tmp; +#endif +#ifdef B_COPY LIKWID_PROFILE(COPY,copy(c, a, N)); +#endif +#ifdef B_UPDATE LIKWID_PROFILE(UPDATE,update(a, scalar, N)); +#endif +#ifdef B_TRIAD LIKWID_PROFILE(TRIAD,triad(a, b, c, scalar, N)); +#endif +#ifdef B_DAXPY LIKWID_PROFILE(DAXPY,daxpy(a, b, scalar, N)); +#endif +#ifdef B_STRIAD LIKWID_PROFILE(STRIAD,striad(a, b, c, d, N)); +#endif +#ifdef B_SDAXPY LIKWID_PROFILE(SDAXPY,sdaxpy(a, b, c, N)); +#endif } for (int j=0; j