1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
|
#!/usr/bin/env bash
###############################################################################
# Copyright (c) Intel Corporation - All rights reserved. #
# This file is part of the LIBXSMM library. #
# #
# For information on the license, see the LICENSE file. #
# Further information: https://github.com/hfp/libxsmm/ #
# SPDX-License-Identifier: BSD-3-Clause #
###############################################################################
# Hans Pabst (Intel Corp.)
###############################################################################
SED=$(command -v sed)
HERE=$(cd "$(dirname "$0")" && pwd -P)
VARIANT=Cached
LIMIT=31
if [ "$1" ]; then
VARIANT=$1
shift
fi
if [ -f /cygdrive/c/Program\ Files/gnuplot/bin/wgnuplot ]; then
WGNUPLOT=/cygdrive/c/Program\ Files/gnuplot/bin/wgnuplot
GNUPLOT=/cygdrive/c/Program\ Files/gnuplot/bin/gnuplot
elif [ -f /cygdrive/c/Program\ Files\ \(x86\)/gnuplot/bin/wgnuplot ]; then
WGNUPLOT=/cygdrive/c/Program\ Files\ \(x86\)/gnuplot/bin/wgnuplot
GNUPLOT=/cygdrive/c/Program\ Files\ \(x86\)/gnuplot/bin/gnuplot
else
GNUPLOT=$(command -v gnuplot)
WGNUPLOT=${GNUPLOT}
fi
GNUPLOT_MAJOR=0
GNUPLOT_MINOR=0
if [ -f "${GNUPLOT}" ]; then
GNUPLOT_MAJOR=$("${GNUPLOT}" --version | ${SED} "s/.\+ \([0-9]\).\([0-9]\) .*/\1/")
GNUPLOT_MINOR=$("${GNUPLOT}" --version | ${SED} "s/.\+ \([0-9]\).\([0-9]\) .*/\2/")
fi
GNUPLOT_VERSION=$((GNUPLOT_MAJOR * 10000 + GNUPLOT_MINOR * 100))
function capturedTxtToDataFile {
${SED} \
-e "/^m=/,/${VARIANT}/{//!d}" \
-e "/${VARIANT}/d" \
-e "/\.\.\./,/Finished/{//!d}" \
-e "/Finished/d" \
-e "/diff:/d" \
-e "/\.\.\./d" \
-e "/^$/d" \
"${HERE}/$1.txt" \
| ${SED} \
-e "s/m=//" -e "s/n=//" -e "s/k=//" -e "s/ (..*) / /" \
-e "s/size=//" \
-e "/duration:/d" \
| ${SED} \
-e "N;s/ memory=..*\n..*//" \
-e "N;s/\n\tperformance:\(..*\) GFLOPS\/s/\1/" \
-e "N;s/\n\tbandwidth:\(..*\) GB\/s/\1/" \
> "${HERE}/$1.dat"
}
if [ "40600" -le "${GNUPLOT_VERSION}" ]; then
RM=$(command -v rm)
if [ "" = "$1" ]; then
FILENAME=smm-$(echo ${VARIANT} | tr ' ,' '-' | tr -d '()' | tr '[:upper:]' '[:lower:]').pdf
else
FILENAME=$1
shift
fi
if [ "" = "$1" ]; then
MULTI=1
else
MULTI=$1
shift
fi
${RM} -f *.dat
capturedTxtToDataFile smm-blas
capturedTxtToDataFile smm-specialized
#capturedTxtToDataFile smm-dispatched
#capturedTxtToDataFile smm-inlined
env \
GDFONTPATH=/cygdrive/c/Windows/Fonts \
FILENAME=${FILENAME} \
MULTI=${MULTI} \
LIMIT=${LIMIT} \
"${WGNUPLOT}" smm-perf.plt
fi
|