Intel advisor (vectorization)

Issue #63 new
jg piccinali repo owner created an issue

kescha

setup

INTELROOT=/global/opt/intel/16.0.0.109
source $INTELROOT/bin/compilervars.sh intel64
source $INTELROOT/advisor_xe_2016.1.0.423501/advixe-vars.sh
export ADVISOR_XE_2015_DIR=$ADVISOR_XE_2016_DIR
export PATH=/apps/common/UES/sandbox/jgp/exoopen/bin:$PATH

compile

cd /scratch-shared/mch/scratch/piccinal/HPC-hacks.git/Kernels/dgemm-kernels/
CFLAGS="-O3 -openmp -g -mavx"
icc -c $CFLAGS dgemm.c
icc -c $CFLAGS dgemm-naive.c
icc dgemm.o dgemm-naive.o $CFLAGS -mkl=sequential   -o naive.mavx

run

  • Haswell: E5-2690 v3 @ 2.60GHz
time -p ./naive.mavx 1024  # Gflop/s: 0.96694 real 2.24
time -p ./naive.mavx 2048  # Gflop/s: 0.280814 real 61.49

advixe-gui

create new project (exe name, matrix size and src folder):

01.png 02.png 03.png

launch survey analysis:

04.png

detect and select top loops:

05.png

read compiler report, recommendation and assembly code:

10.png 06.png 07.png

launch dependencies analysis (N=256):

11.png 12.png 13.png 14.png

launch memory access analysis (N=256):

15.png 16.png

summary report:

17.png

Comments (0)

  1. Log in to comment