Benchmark different kernel implementations¶
You can benchmark different gate implementations inside the project.
$ make gbenchmark $ cd BuildGBench
Then you can benchmark all gate operations in all kernels by running the script.
The results will be recorded in
You can then plot the results for a specific gate with
$ ./benchmarks/plot_gate_benchmark.py ./bench_result.json
It will create a plot for each gate operation comparing performance of kernels and floating point types. The plots can be found in
One can also choose a specific datatype by providing an option:
$ ./benchmarks/plot_gate_benchmark.py --precision float ./bench_result.json # Results for std::complex<float> $ ./benchmarks/plot_gate_benchmark.py --precision double ./bench_result.json # Results for std::complex<double>
Currently, we have two different kernels in
LM. For difference between two kernels, see the documents
Here are some example plots: