123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- #!/usr/bin/env bash
- set -eu
- root_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null && pwd)"
- test_size=1
- OPTIND=1
- while getopts t: OPT; do
- case "$OPT" in
- t)
- # 1: a few seconds and important
- # 2: < 5 minutes and important or a few seconds and not too important
- # 3: all
- test_size="$OPTARG"
- ;;
- ?)
- exit 2
- ;;
- esac
- done
- shift "$(($OPTIND - 1))"
- if [ $# -gt 1 ]; then
- extra_args=" $*"
- else
- extra_args=
- fi
- getvar="${root_dir}/getvar"
- common_bench_boot="$("$getvar" bench_boot)"
- caches='--caches --l2cache --l1d_size=1024kB --l1i_size=1024kB --l2_size=1024kB --l3_size=1024kB'
- bench() (
- "${root_dir}/bench-cmd" "./run --arch ${1}${extra_args}" "$common_bench_boot"
- )
- gem5_insts() (
- printf "instructions $(./gem5-stat --arch "$1" sim_insts)\n" >> "$common_bench_boot"
- )
- qemu_insts() (
- common_arch="$1"
- ./qemu-trace2txt --arch "$common_arch"
- common_qemu_trace_txt_file="$("$getvar" --arch "$common_arch" qemu_trace_txt_file)"
- printf "instructions $(wc -l "${common_qemu_trace_txt_file}" | cut -d' ' -f1)\n" >> "$common_bench_boot"
- )
- newline() (
- echo >> "$common_bench_boot"
- )
- rm -f "${common_bench_boot}"
- arch=x86_64
- bench "${arch} --eval '/poweroff.out'"
- newline
- bench "${arch} --eval '/poweroff.out' --kvm"
- newline
- if [ "$test_size" -ge 2 ]; then
- bench "${arch} --eval '/poweroff.out' --trace exec_tb"
- qemu_insts "$arch"
- newline
- bench "$arch --eval 'm5 exit' --gem5"
- gem5_insts "$arch"
- newline
- fi
- #bench "$arch --eval 'm5 exit' --gem5 -- --cpu-type=DerivO3CPU ${caches}"
- #gem5_insts "$arch"
- #newline
- arch=arm
- bench "$arch --eval '/poweroff.out'"
- newline
- if [ "$test_size" -ge 2 ]; then
- bench "$arch --eval '/poweroff.out' --trace exec_tb"
- qemu_insts "$arch"
- newline
- #bench "$arch --eval 'm5 exit' --gem5"
- #gem5_insts "$arch"
- #newline
- fi
- #if [ "$test_size" -ge 3 ]; then
- # bench "$arch --eval 'm5 exit' --gem5 -- --cpu-type=HPI ${caches}"
- # gem5_insts "$arch"
- # newline
- #fi
- arch=aarch64
- bench "$arch --eval '/poweroff.out'"
- newline
- if [ "$test_size" -ge 2 ]; then
- bench "$arch --eval '/poweroff.out' --trace exec_tb"
- qemu_insts "$arch"
- newline
- bench "$arch --eval 'm5 exit' --gem5"
- gem5_insts "$arch"
- newline
- fi
- if [ "$test_size" -ge 3 ]; then
- bench "$arch --eval 'm5 exit' --gem5 -- --cpu-type=HPI ${caches}"
- gem5_insts "$arch"
- newline
- fi
|