[Advcomparch] Τρόπος εκτέλεσης
giannis paliomitros
paliomitros13 at hotmail.com
Mon Apr 3 22:20:53 EEST 2017
Καλησπέρα σας,
Έχοντας φτάσει μέχρι το 5ο βήμα της εκφώνησης, έχω εκτελέσει την εντολή του παραδείγματος χρήσης του simulator pintool
/home/giannis/Λήψεις/pin-3.2-81205-gcc-linux/pin -t /home/giannis/Λήψεις/advcomparch-2016-17-ex1-helpcode/pintool/obj-intel64/simulator.so -o my_output.out -L1c 64 -L1a 8 -L1b 64 -L2c 256 -L2a 8 -L2b 64 -TLBe 64 -TLBa 4 -TLBp 4096 -- /home/giannis/Λήψεις/parsec-3.0/parsec_workspace/executables/blackscholes 1 /home/giannis/Λήψεις/parsec-3.0/parsec_workspace/inputs/in_64K.txt
και μου εμφανίζει το παρακάτω αποτέλεσμα το σε αρχείο εξόδου, και το οποίο μου φαίνεται φυσιολογικό.
--------
Total Statistics
--------
Total Instructions: 0
Total Cycles: 0
IPC: nan
--------
Single level Tlb hierarchy
--------
Data Tlb:
Entries: 64
Page Size(B): 4096
Associativity: 4
Latencies: 0 50
Tlb-Sets: 16 - LRU - assoc: 4
Tlb Stats:
Tlb-Load-Hits: 0 nan%
Tlb-Load-Misses: 0 nan%
Tlb-Load-Accesses: 0 nan%
Tlb-Store-Hits: 0 nan%
Tlb-Store-Misses: 0 nan%
Tlb-Store-Accesses: 0 nan%
Tlb-Total-Hits: 0 nan%
Tlb-Total-Misses: 0 nan%
Tlb-Total-Accesses: 0 nan%
--------
Two level Cache hierarchy
--------
L1-Data Cache:
Size(KB): 64
Block Size(B): 64
Associativity: 8
L2-Data Cache:
Size(KB): 256
Block Size(B): 64
Associativity: 8
Latencies: 1 10 150
L1-Sets: 128 - LRU - assoc: 8
L2-Sets: 512 - LRU - assoc: 8
Store_allocation: Yes
L2_inclusive: Yes
L2_prefetching: No
L1 Cache Stats:
L1-Load-Hits: 0 nan%
L1-Load-Misses: 0 nan%
L1-Load-Accesses: 0 nan%
L1-Store-Hits: 0 nan%
L1-Store-Misses: 0 nan%
L1-Store-Accesses: 0 nan%
L1-Total-Hits: 0 nan%
L1-Total-Misses: 0 nan%
L1-Total-Accesses: 0 nan%
L2 Cache Stats:
L2-Load-Hits: 0 nan%
L2-Load-Misses: 0 nan%
L2-Load-Accesses: 0 nan%
L2-Store-Hits: 0 nan%
L2-Store-Misses: 0 nan%
L2-Store-Accesses: 0 nan%
L2-Total-Hits: 0 nan%
L2-Total-Misses: 0 nan%
L2-Total-Accesses: 0 nan%
Στην συνέχεια, υποθέτω ότι η παραπάνω εντολή εκτέλεσης αντικαθιστάται από την
run_l1.sh ή την run_l2.sh αντίστοιχα για τις L1 και L2 αντίστοιχα. Για την run_l2.sh για παράδειγμα, την έχω συμπληρώσει ώς εξής
:#!/bin/bash
## Modify the following paths appropriately
PARSEC_PATH=/home/giannis/Λήψεις/parsec-3.0
PIN_EXE=/home/giannis/Λήψεις/pin-3.2-81205-gcc-linux/pin
PIN_TOOL=/home/giannis/Λήψεις/advcomparch-2016-17-ex1-helpcode/pintool/obj-intel64/simulator.so
CMDS_FILE=./cmds_simlarge.txt
outDir="./outputs/"
export LD_LIBRARY_PATH=$PARSEC_PATH/pkgs/libs/hooks/inst/amd64-linux.gcc-serial/lib/
## Triples of <cache_size>_<associativity>_<block_size>
CONFS="16_4_64 32_4_64"
L1size=32
L1assoc=8
L1bsize=64
TLBe=64
TLBp=4096
TLBa=4
L1prf=0
for BENCH in $@; do
cmd=$(cat ${CMDS_FILE} | grep "$BENCH")
for conf in $CONFS; do
## Get parameters
L2size=$(echo $conf | cut -d'_' -256)
L2assoc=$(echo $conf | cut -d'_' -4)
L2bsize=$(echo $conf | cut -d'_' -128)
outFile=$(printf "%s.dcache_cslab.L2_%04d_%02d_%03d.out" $BENCH ${L2size} ${L2assoc} ${L2bsize})
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"
time $pin_cmd
done
done
Και η εντολή που πληκτρολογώ είναι η
./run_l2.sh ./executables/blackscholes 1 inputs/in_64K.txt prices.txt
Αν μπορείτε να μου πείτε για το πόσο λάθος είναι η διαδικασία, και για το αν χρειάζεται κάτι άλλο που δεν έχω καταλάβει. Ευχαριστώ.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cslab.ece.ntua.gr/pipermail/advcomparch/attachments/20170403/d218ea3a/attachment-0001.htm>
More information about the Advcomparch
mailing list