qpoints

QEMU tracing plugin using SimPoints, for generating BBV (Basic Block Vector) for Proxy Kernel with process slicing.

Compiling

Set QEMU_DIR to point to the QEMU source folder before running make.

make QEMU_DIR=/path/to/qemu

Running

./qemu-system-riscv64 -nographic -machine spike -bios none -d plugin \
    -plugin /path/to/qpoints/libbbv.so,ckpt_start=<checkpoint_func_start>,ckpt_len=<checkpoint_func_len> \
    -kernel /path/to/pk -append "benchmark related arguments"

You should see bbv.gz after running the above command.

The BBV file is processed by the SimPoints binary to create the simpoints and weights file:

/path/to/SimPoint.3.2/bin/simpoint -inputVectorsGzipped -loadFVFile bbv.gz -maxK 10 -saveSimpoints trace.simpts  -saveSimpointWeights trace.weights

Related

GitHub

View Github