quantum-compiler / quartz

The Quartz Quantum Compiler
Apache License 2.0
76 stars 19 forks source link

[Simulator] 2-level ILP #147

Closed xumingkuan closed 9 months ago

xumingkuan commented 9 months ago
std::vector<std::vector<int>>
compute_qubit_layout_with_ilp(const CircuitSeq &sequence, int num_local_qubits,
                              int num_regional_qubits, Context *ctx,
                              PythonInterpreter *interpreter,
                              int num_global_stages_start_with = 1);

and

std::vector<Schedule> get_schedules_with_ilp(
    const CircuitSeq &sequence, int num_local_qubits, int num_regional_qubits,
    const KernelCost &kernel_cost, Context *ctx, PythonInterpreter *interpreter,
    bool attach_single_qubit_gates, int use_simple_dp_times = 0,
    const std::string &cache_file_name_prefix = "", int answer_start_with = 1);

now use a 2-level ILP approach.

This PR also changes the format of schedule files in #141.