#12212·qiskit

Port built-in synthesis algorithms to rust

Author: mtreinishCreated Apr 18, 2024Updated Sep 20, 2026
Labelstype: feature requesttype: epictopic: performancetopic: synthesisRustmod: transpiler

What should we add?

Right now in Qiskit we have a synthesis library that provides numerous methods for synthesizing various high level objects into circuits. As part of our effort to migrate more of Qiskit's code into rust for better runtime performance and efficiency we need to look at migrating these functions to Rust.

Until we have an implementation complete for #12205 the full path for this will be potentially limited. But we can work on this in parallel to #12205 and return a "circuit sequence" like we currently do in 2q unitary synthesis and 1q unitary synthesis (we likely can reuse TwoQubitGateSequence from 2q synthesis for >2q circuits as long as it's composed of just standard library gates) and then construct the circuit or dag in python space until we finish #12205.

This will potentially be a blocker for #12211 as we can't leverage a rust implementation of the pass fully if we need to call out to python to perform the synthesis.

The current list of synthesis methods are:

Tasks