Update script
Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
This commit is contained in:
parent
8d5e10f635
commit
e5c233e072
@ -7,10 +7,13 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <immintrin.h>
|
#include <immintrin.h>
|
||||||
#include <zmmintrin.h>
|
#ifndef NO_ZMM_INTRIN
|
||||||
|
# include <zmmintrin.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#define MD_SIMD_FLOAT __m512
|
#define MD_SIMD_FLOAT __m512
|
||||||
#define MD_SIMD_MASK __mmask16
|
#define MD_SIMD_MASK __mmask16
|
||||||
|
#define MD_SIMD_INT __m256i
|
||||||
|
|
||||||
static inline MD_SIMD_FLOAT simd_broadcast(float scalar) { return _mm512_set1_ps(scalar); }
|
static inline MD_SIMD_FLOAT simd_broadcast(float scalar) { return _mm512_set1_ps(scalar); }
|
||||||
static inline MD_SIMD_FLOAT simd_zero() { return _mm512_set1_ps(0.0f); }
|
static inline MD_SIMD_FLOAT simd_zero() { return _mm512_set1_ps(0.0f); }
|
||||||
@ -69,7 +72,7 @@ static inline MD_FLOAT simd_h_dual_incr_reduced_sum(float* m, MD_SIMD_FLOAT v0,
|
|||||||
return _mm_cvtss_f32(t3);
|
return _mm_cvtss_f32(t3);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline void simd_h_decr(MD_FLOAT *m, MD_SIMD_FLOAT a) {
|
static inline void simd_h_decr(MD_FLOAT *m, MD_SIMD_FLOAT a) {
|
||||||
__m256 t;
|
__m256 t;
|
||||||
a = _mm512_add_ps(a, _mm512_shuffle_f32x4(a, a, 0xee));
|
a = _mm512_add_ps(a, _mm512_shuffle_f32x4(a, a, 0xee));
|
||||||
t = _mm256_load_ps(m);
|
t = _mm256_load_ps(m);
|
||||||
|
@ -3,13 +3,14 @@ LINKER = $(CC)
|
|||||||
|
|
||||||
OPENMP = #-qopenmp
|
OPENMP = #-qopenmp
|
||||||
PROFILE = #-profile-functions -g -pg
|
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 -march=cascadelake -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 -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)
|
||||||
CFLAGS = $(PROFILE) $(OPENMP) $(OPTS)
|
CFLAGS = $(PROFILE) $(OPENMP) $(OPTS)
|
||||||
ASFLAGS = #-masm=intel
|
ASFLAGS = #-masm=intel
|
||||||
LFLAGS = $(PROFILE) $(OPTS) $(OPENMP)
|
LFLAGS = $(PROFILE) $(OPTS) $(OPENMP)
|
||||||
|
@ -1,14 +1,18 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
TAG=ICC
|
# Adjustable variables
|
||||||
OPT_SCHEME=lammps
|
TAG="${TAG:-ICX}"
|
||||||
|
OPT_SCHEME="${OPT_SCHEME:-gromacs}"
|
||||||
|
CORE="${CORE:-0}"
|
||||||
|
FREQ="${FREQ:-2.4}"
|
||||||
|
NRUNS="${NRUNS:-3}"
|
||||||
|
LOG="${LOG:-latencies_and_cfds.log}"
|
||||||
|
STUB_ONLY="${STUB_ONLY:-false}"
|
||||||
|
|
||||||
|
# Other useful variables
|
||||||
MDBENCH_BIN=./MDBench-$TAG-$OPT_SCHEME
|
MDBENCH_BIN=./MDBench-$TAG-$OPT_SCHEME
|
||||||
CORE=0
|
|
||||||
FREQ=2.4
|
|
||||||
NRUNS=3
|
|
||||||
FIXED_PARAMS="--freq $FREQ"
|
FIXED_PARAMS="--freq $FREQ"
|
||||||
CPU_VENDOR=$(lscpu | grep "Vendor ID" | tr -s ' ' | cut -d ' ' -f3)
|
CPU_VENDOR=$(lscpu | grep "Vendor ID" | tr -s ' ' | cut -d ' ' -f3)
|
||||||
LOG=latencies_and_cfds.log
|
|
||||||
|
|
||||||
if [ "$CPU_VENDOR" == "GenuineIntel" ]; then
|
if [ "$CPU_VENDOR" == "GenuineIntel" ]; then
|
||||||
ALL_PREFETCHERS="HW_PREFETCHER,CL_PREFETCHER,DCU_PREFETCHER,IP_PREFETCHER"
|
ALL_PREFETCHERS="HW_PREFETCHER,CL_PREFETCHER,DCU_PREFETCHER,IP_PREFETCHER"
|
||||||
@ -45,6 +49,7 @@ echo "Optimization scheme: $OPT_SCHEME" | tee -a $LOG
|
|||||||
echo "Binary: $MDBENCH_BIN(-stub)" | tee -a $LOG
|
echo "Binary: $MDBENCH_BIN(-stub)" | tee -a $LOG
|
||||||
echo "Frequency: $FREQ" | tee -a $LOG
|
echo "Frequency: $FREQ" | tee -a $LOG
|
||||||
echo "Number of runs: $NRUNS" | tee -a $LOG
|
echo "Number of runs: $NRUNS" | tee -a $LOG
|
||||||
|
echo "Run only stubbed cases: $STUB_ONLY" | tee -a $LOG
|
||||||
|
|
||||||
echo "Fixing frequencies..."
|
echo "Fixing frequencies..."
|
||||||
likwid-setFrequencies -f $FREQ -t 0
|
likwid-setFrequencies -f $FREQ -t 0
|
||||||
@ -65,12 +70,15 @@ for p in $PREFETCHERS; do
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
MSG="$p: "
|
MSG="$p: "
|
||||||
|
if [ "$STUB_ONLY" == "false" ]; then
|
||||||
run_benchmark $MDBENCH_BIN
|
run_benchmark $MDBENCH_BIN
|
||||||
MSG+="standard=$BEST, "
|
MSG+="standard=$BEST, "
|
||||||
run_benchmark $MDBENCH_BIN -i data/copper_melting/input_lj_cu_one_atomtype_20x20x20.dmp
|
run_benchmark $MDBENCH_BIN -i data/copper_melting/input_lj_cu_one_atomtype_20x20x20.dmp
|
||||||
MSG+="melt=$BEST, "
|
MSG+="melt=$BEST, "
|
||||||
run_benchmark $MDBENCH_BIN -p data/argon_1000/mdbench_params.conf -i data/argon_1000/tprout.gro
|
run_benchmark $MDBENCH_BIN -p data/argon_1000/mdbench_params.conf -i data/argon_1000/tprout.gro
|
||||||
MSG+="argon=$BEST, "
|
MSG+="argon=$BEST, "
|
||||||
|
fi
|
||||||
|
|
||||||
run_benchmark $MDBENCH_BIN-stub $STUB1_PARAMS
|
run_benchmark $MDBENCH_BIN-stub $STUB1_PARAMS
|
||||||
MSG+="$STUB1_NAME=$BEST, "
|
MSG+="$STUB1_NAME=$BEST, "
|
||||||
run_benchmark $MDBENCH_BIN-stub $STUB2_PARAMS
|
run_benchmark $MDBENCH_BIN-stub $STUB2_PARAMS
|
||||||
|
Loading…
Reference in New Issue
Block a user