qiskit-community / quantum-hackathon-korea-21

4 stars 3 forks source link

Qiskit technical challenge 2 -Making Qiskit transpiler more powerful (Adding a new pass / custom optimizer) #3

Open 0sophy1 opened 3 years ago

0sophy1 commented 3 years ago

Abstract

Qiskit (Terra) manages its transpilation (circuit to circuit transformation) processes as passes. The pass framework allows you to easily add a task you want to be done when transpiling. Let's come up with a useful (but currently missing) pass, implement it and push it to Qiskit.

Description

When you execute() a circuit, the circuit is always transpiled (transpile() is called) behind the scenes. Within the transpiration process, many passes are called and do their tasks. Are passes currently available sufficient for transpiling your circuits? If you think of any functionality to be added in transpiler, please implement it as a pass so that all Qiskit users may benefit from it. For example, how about a pass that removes unnecessary gates on qubits which are not measured without changing the measurement results? If you know any paper which proposes a good algorithm for optimizing a transpiler task, e.g. Layout Selection (Placement) or Qubit Routing (Swap Mapping), implementing them would be good. Those are just examples. Please implement a new pass you really need!

Advanced Challenge :

There is a lot going on with the transpiler (ex. routing, scheduling, noise mitigation), and several optimization techniques work on this process. How about building an optimization process to make the best combination of passes on transpiling by using a neural network?

Reference Advanced Circuit Tutorials See "Transpiler Passes and Pass Manager" https://github.com/Qiskit/qiskit-tutorials/blob/master/tutorials/circuits_advanced/04_transpiler_passes_and_passmanager.ipynb

Members

Deliverable

GitHub repo