final first commit
This commit is contained in:
78
qibojit-benchmarks/compare.py
Normal file
78
qibojit-benchmarks/compare.py
Normal file
@@ -0,0 +1,78 @@
|
||||
"""Launches the circuit benchmark script for user given arguments."""
|
||||
|
||||
import argparse
|
||||
from benchmarks.scripts import library_benchmark, qibotn_benchmark
|
||||
|
||||
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument(
|
||||
"--nqubits",
|
||||
nargs=2,
|
||||
type=int,
|
||||
metavar=("MIN", "MAX"),
|
||||
default=[10, 10],
|
||||
help="Inclusive qubit-count range MIN MAX. Each size is run; per-size "
|
||||
"expectations are printed, and their arithmetic mean is logged as expectation_result.",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--library",
|
||||
default="qibo",
|
||||
type=str,
|
||||
help="Quantum simulation library to use in benchmark. "
|
||||
"See README for the list of available libraries.",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--library-options",
|
||||
default=None,
|
||||
type=str,
|
||||
help="String with options for the library. "
|
||||
"It should have the form 'arg1=value1,arg2=value2,...'. "
|
||||
"Each library supports different options.",
|
||||
)
|
||||
|
||||
parser.add_argument(
|
||||
"--circuit",
|
||||
default="qft",
|
||||
type=str,
|
||||
help="Type of circuit to use. See README for the list of " "available circuits.",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--circuit-options",
|
||||
default=None,
|
||||
type=str,
|
||||
help="String with options for circuit creation. "
|
||||
"It should have the form 'arg1=value1,arg2=value2,...'. "
|
||||
"See README for the list of arguments that are "
|
||||
"available for each circuit.",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--precision",
|
||||
default=None,
|
||||
type=str,
|
||||
help="Numerical precision of the simulation. "
|
||||
"Choose between 'double' and 'single'.",
|
||||
)
|
||||
|
||||
parser.add_argument(
|
||||
"--nreps",
|
||||
default=1,
|
||||
type=int,
|
||||
help="Number of repetitions of the circuit execution. " "Dry run is not included.",
|
||||
)
|
||||
# parser.add_argument("--transfer", action="store_true",
|
||||
# help="If used the final state array is converted to numpy. "
|
||||
# "If the simulation device is GPU this requires a "
|
||||
# "transfer from GPU memory to CPU.")
|
||||
|
||||
parser.add_argument(
|
||||
"--filename",
|
||||
default=None,
|
||||
type=str,
|
||||
help="Directory of file to save the logs in json format. "
|
||||
"If not given the logs will only be printed and not saved.",
|
||||
)
|
||||
|
||||
if __name__ == "__main__":
|
||||
args = vars(parser.parse_args())
|
||||
args["circuit_name"] = args.pop("circuit")
|
||||
qibotn_benchmark(**args)
|
||||
Reference in New Issue
Block a user