#!/bin/bash ## Modify the following paths appropriately PARSEC_PATH=home/kourdistos/Desktop/advcomparch/parsec-3.0 PIN_EXE=/home/kourdistos/Desktop/advcomparch/pin-3.2-81205-gcc-linux/pin PIN_TOOL=/home/kourdistos/Desktop/advcomparch/advcomparch-2016-17-ex1-helpcode/pintool/obj-intel64/simulator.so CMDS_FILE=./cmds_simlarge.txt outDir="./outputs7.1.1/" export LD_LIBRARY_PATH=/home/kourdistos/Desktop/advcomparch/parsec-3.0/pkgs/libs/hooks/inst/amd64-linux.gcc-serial/lib ## Triples of __ CONFS="16_4_32 16_4_64 16_4_128 32_4_32 32_4_64 32_4_128 32_8_64 64_4_32 64_4_64 64_4_128 64_8_64 128_8_64" L2size=1024 L2assoc=8 L2bsize=128 TLBe=64 TLBp=4096 TLBa=4 L2prf=0 for BENCH in $@; do cmd=$(cat ${CMDS_FILE} | grep "$BENCH") for conf in $CONFS; do ## Get parameters L1size=$(echo $conf | cut -d'_' -f1) L1assoc=$(echo $conf | cut -d'_' -f2) L1bsize=$(echo $conf | cut -d'_' -f3) outFile=$(printf "%s.dcache_cslab.L1_%04d_%02d_%03d.out" $BENCH ${L1size} ${L1assoc} ${L1bsize}) outFile="$outDir/$outFile" pin_cmd="$PIN_EXE -t $PIN_TOOL -o $outFile -L1c ${L1size} -L1a ${L1assoc} -L1b ${L1bsize} -L2c ${L2size} -L2a ${L2assoc} -L2b ${L2bsize} -TLBe ${TLBe} -TLBp ${TLBp} -TLBa ${TLBa} -L2prf ${L2prf} -- $cmd" $pin_cmd done done