Source code for runner

"""An example top-level script used to run QPU experiments for IBM and D-Wave.

Invokes :py:mod:`run_ibm` (or :py:mod:`run_ibm_reserved`) and :py:mod:`run_dwave`.
"""

import argparse
import os, sys
import glob, json
from bench_qubo import DataBaseQUBO, QUBOSolverIBM


[docs] def run_example(python_file, *args): """A wrapper function that actually executes the device-specific script.""" assert os.system(f'{sys.executable} {python_file} {" ".join([str(arg) for arg in args])}') == 0
[docs] def main(): """Main script code.""" # ['MWC4', 'MWC33', 'TSP27', 'TSP189'] # ['UDMWIS25', 'UDMWIS57', 'UDMWIS165'] + ['MWC21', 'MWC23', 'MWC25'] + ['TSP1', 'TSP4', 'TSP7'] #python_file = 'run_ibm.py' #python_file = 'run_ibm_reserved.py' #python_file = 'run_ibm_sim.py' python_file = 'run_dwave.py' name = 'dwave-1000shots' #id_segments = [['UDMWIS25', 'UDMWIS57', 'UDMWIS165']] id_segments = [[]] for path in glob.glob(r'..\instances\QUBO\UDMIS*EXT*.json'): with open(path, 'r') as fh: id_segments[0].append(json.load(fh)['description']['instance_id']) for ids in id_segments: run_example(python_file, f'--name {name}', f'--ids {" ".join(ids)}')
if __name__ == '__main__': main()