benchmark_main (https://github.com/google/xls/blob/main/xls/tools/benchmark_main.cc) takes an IR file and optimizes it, evaluates it with the jit and interpreter, etc and dumps a bunch of metrics. Currently it does not support the evaluation of procs because procs may not execute properly with random values fed into the inputs (functions are fed random inputs in the benchmark script). We now have defined a file format which specifies a sequence of values for any number of channels:
This could be used to feed the proc so we could measure the performance of interpreter/jit on the proc. Maybe could be tied into the build rules like so:
xls_benchmark_ir(
name = "foo_proc_benchmark_ir",
src = ":foo_proc.ir",
inputs="foo_inputs.txt"
)
Might need to sepcify the number of ticks to run it, or maybe just run it until one (all?) of the inputs queues is empty.
benchmark_main (https://github.com/google/xls/blob/main/xls/tools/benchmark_main.cc) takes an IR file and optimizes it, evaluates it with the jit and interpreter, etc and dumps a bunch of metrics. Currently it does not support the evaluation of procs because procs may not execute properly with random values fed into the inputs (functions are fed random inputs in the benchmark script). We now have defined a file format which specifies a sequence of values for any number of channels:
xls/xls/tools/eval_helpers.h
Line 78 in 18742d5
This could be used to feed the proc so we could measure the performance of interpreter/jit on the proc. Maybe could be tied into the build rules like so:
Might need to sepcify the number of ticks to run it, or maybe just run it until one (all?) of the inputs queues is empty.