Commit c02aa698 authored by Nguyen, Thien Minh's avatar Nguyen, Thien Minh
Browse files

Handle pass manager CLI options in Python



Signed-off-by: default avatarThien Nguyen <nguyentm@ornl.gov>
parent ae25e58f
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -379,6 +379,21 @@ PYBIND11_MODULE(_pyqcor, m) {
            } else if (key == "shots") {
              const auto value = arg.second.cast<int>();
              ::quantum::set_shots(value);
            } else if (key == "opt") {
              const auto value = arg.second.cast<int>();
              xacc::internal_compiler::__opt_level = value;
            } else if (key == "print-opt-stats") {
              const auto value = arg.second.cast<bool>();
              xacc::internal_compiler::__print_opt_stats = value;
            } else if (key == "placement") {
              const auto value = std::string(py::str(arg.second));
              xacc::internal_compiler::__placement_name = value;
            } else if (key == "opt-pass") {
              const auto value = std::string(py::str(arg.second));
              xacc::internal_compiler::__user_opt_passes = value;
            } else if (key == "qubit-map") {
              const auto value = std::string(py::str(arg.second));
              xacc::internal_compiler::__qubit_map = xacc::internal_compiler::parse_qubit_map(value.c_str());
            }
            /// TODO: handle other CLI parameters.
          }
+16 −0
Original line number Diff line number Diff line
@@ -405,6 +405,22 @@ if '-shots' in sys.argv:
if '-qrt' in sys.argv:
    init_kwargs['qrt'] = sys.argv[sys.argv.index('-qrt')+1]

# get Pass Manager configs:
if '-opt' in sys.argv:
    init_kwargs['opt'] = int(sys.argv[sys.argv.index('-opt')+1])

if '-print-opt-stats' in sys.argv:
    init_kwargs['print-opt-stats'] = True

if '-placement' in sys.argv:
    init_kwargs['placement'] = sys.argv[sys.argv.index('-placement')+1]

if '-opt-pass' in sys.argv:
    init_kwargs['opt-pass'] = sys.argv[sys.argv.index('-opt-pass')+1]
    
if '-qubit-map' in sys.argv:
    init_kwargs['qubit-map'] = sys.argv[sys.argv.index('-qubit-map')+1]

# Implements internal_startup initialization:
# i.e. set up qrt, backends, shots, etc.
Initialize(**init_kwargs)