I’m currently trying to benchmark a new FDO toolchain with SPEC CPU 2006.
Some benchmarks are run with several workloads. For instance 473.astar is run with rivers and BigLakes.
When I use FDO on this benchmark, it is compiled, then trained with BigLakes, then trained with rivers. The problem is that the tool does not provide aggregate, so the first training is useless.
I would like to be able to do something like running astar.rivers and astar.BigLakes2048 as two separate benchmarks. For instance, astar.rivers would do:
compile
train astar with rivers
compile
benchmark astar with rivers
Is something like that possible with runspec or do I have to use a script to do all by myself without using the SPEC tools ?
I read several papers where the results where presented this way, so I suppose that it is possible.
Thanks a lot
I’ve found a solution to the problem.
The way to do that is to copy the benchmark directory, rename it and then remove the input files that are not wanted. It is important to remove both the ref and train input files. Moreover, it is necessary to edit the Spec/object.pm file to set the new name. It is also necessary to edit either of the CFP2006.bset or CINT2006.bset file to add the new benchmark, otherwise runspec would not display any results even in the raw file.
It is not pretty, but it works well.