Move preset pass manager transpiler passes to rust #12208
Labels
performance
priority: high
Rust
This PR or issue is related to Rust code in the repository
type: epic
A theme of work that contain sub-tasks
type: feature request
New feature or request
What should we add?
As part of our ongoing effort to migrate more of the rust code for better runtime performance and efficiency we are looking to migrate all the transpiler passes in the preset pass managers to be written in rust. We will still primarily use the python interface for passes as this is a critical part of the transpiler, but the default passes we use should execute solely in rust space and the python portion should just control the dispatch of the rust function.
This is blocked on #11721 and in many cases on #12205 too
The current list of passes involved for this are tracked here:
Tasks
UnitarySynthesis
to Rust #12210HighLevelSynthesis
to rust #12211BasisTranslator
to Rust #12246Unroll3qOrMore
to Rust #12247Collect2qBlocks
to Rust #12248Collect1qRuns
to Rust #12249ConsolidateBlocks
to Rust #12250CheckMap
to Rust #12251GateDirection
to Rust #12252BarrierBeforeFinalMeasurements
to Rust #12253OptimizeSwapBeforeMeasure
to Rust #12254RemoveDiagonalGatesBeforeMeasure
to Rust #12255ElidePermutations
to Rust #12336StarPrerouting
to Rust #12337CheckGateDirection
to Rust #12256TimeUnitConversion
to Rust #12257ALAPScheduleAnalysis
to Rust #12258ASAPScheduleAnalysis
to Rust #12259FullAncillaAllocation
to Rust #12260EnlargeWithAncilla
to Rust #12261ApplyLayout
to Rust #12262FilterOpNodes
to Rust #12263ValidatePulseGates
to Rust #12264PulseGates
to Rust #12265PadDelay
to Rust #12266InstructionDurationCheck
to Rust #12267ConstrainedReschedule
to Rust #12268ContainsInstruction
to Rust #12269CommutativeCancellation
to Rust #12270InverseCancellation
to Rust #12271Depth
to Rust #12272Size
to Rust #12273FixedPoint
to Rust #12274GatesInBasis
to Rust #12275SabreSwap
to Rust #12280SabreLayout
to Rust #12279VF2Layout
to Rust #12277VF2PostLayout
to Rust #12276I included passes that are primarily written in rust because there is still some python side interaction because we don't have #12205 and #11721 yet. (this is current as of 04-18-2024, we should update this if we make changes to the preset pass managers)
The text was updated successfully, but these errors were encountered: