You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Since #8548 we have a dedicated pass for high level synthesis in addition to UnitarySynthesis and the unroll family of passes to decompose higher level complex objects. Right now this is integrated into the init stage in our default stage list for the StagedPassManager. But it might make sense to create a dedicated stage for this kind of synthesis between init and layout, this would leave the init stage for any other logical analysis or transforms that we can perform prior to synthesis. This would also let downstream packages create new plugins for the entire synthesis stage. While we have the plugin interface for high level synthesis and unitary synthesis enabling packages to completely replace all the logical synthesis at once could potentially be useful too (although the synthesis_method kwarg on transpile() might be a confusing name).
This issue is to track splitting these synthesis stage out into a new stage in the default stages list in the preset pass manager.
The text was updated successfully, but these errors were encountered:
It could be also a good time to think how we want to implement re-synthesis in the cleanest way possible. I guess for running experiments the following is sufficient:
though since resynthesis is supposed to run after the layout/routing phase, we should extend the HighLevelSynthesis to take a coupling_map and to only apply resynthesis algorithms that support it.
High-level synthesis I could see happening at more than one point in the transpiler, but I do agree we should add a high-level optimization stage before layout.
What should we add?
Since #8548 we have a dedicated pass for high level synthesis in addition to
UnitarySynthesis
and the unroll family of passes to decompose higher level complex objects. Right now this is integrated into theinit
stage in our default stage list for theStagedPassManager
. But it might make sense to create a dedicated stage for this kind of synthesis betweeninit
andlayout
, this would leave theinit
stage for any other logical analysis or transforms that we can perform prior to synthesis. This would also let downstream packages create new plugins for the entire synthesis stage. While we have the plugin interface for high level synthesis and unitary synthesis enabling packages to completely replace all the logical synthesis at once could potentially be useful too (although thesynthesis_method
kwarg on transpile() might be a confusing name).This issue is to track splitting these synthesis stage out into a new stage in the default stages list in the preset pass manager.
The text was updated successfully, but these errors were encountered: