-
Notifications
You must be signed in to change notification settings - Fork 2.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Pass manager refactoring: cleanup internals #10127
Pass manager refactoring: cleanup internals #10127
Commits on Jun 24, 2023
-
Refactor internals of pass manager and flow controllers.
This PR introduces two changes for * remove tight coupling of flow controller to pass runner instance, * remove pass normalization. PropertySet becomes context var so that flow controllers can be instantiated without coupling to a pass runner instance. BasePass becomes an iterable of length 1 to skip normalization. The decoupling of property set from pass runner allows pass manager to directly broadcast pass runner in the multithread, rather than distributing self and craete multiple pass runner in each thread.
Configuration menu - View commit details
-
Copy full SHA for 6505e20 - Browse repository at this point
Copy the full SHA 6505e20View commit details -
Replace class attribute PASS_RUNNER with property method.
This allows subclass to dispatch different pass runner type depending on the target code.
Configuration menu - View commit details
-
Copy full SHA for 3fb2464 - Browse repository at this point
Copy the full SHA 3fb2464View commit details
Commits on Jun 26, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 830c279 - Browse repository at this point
Copy the full SHA 830c279View commit details
Commits on Jul 10, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 07fec44 - Browse repository at this point
Copy the full SHA 07fec44View commit details
Commits on Jul 20, 2023
-
- Add OptimizerTask as a protocol for the pass and flow controller. These are in principle the same object that inputs and outputs IR with optimization. - A task gains execute method that takes IR and property set. This makes property set local to iteration of the passes. - Drop dependency on pass runner. Now pass manager has a single linear flow controller. - Pass manager gain responsibility of compiler frontend and backend as pass runner dependency is removed. This allows flow controllers to be still type agnostic. - Drop future property set, as this is no longer necessary because optimization task has the execute method explicitly taking the property set.
Configuration menu - View commit details
-
Copy full SHA for f0c96a1 - Browse repository at this point
Copy the full SHA f0c96a1View commit details -
Refactor transpiler passmanager
- Remove pass runner baseclass and replace RunningPassmanager baseclass with FlowControllerLiner - Implemented frontoend and backend functionality in transpiler Pass manager
Configuration menu - View commit details
-
Copy full SHA for fdc1f53 - Browse repository at this point
Copy the full SHA fdc1f53View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5a03304 - Browse repository at this point
Copy the full SHA 5a03304View commit details
Commits on Aug 4, 2023
-
- Move handling of required passes to generic pass itself. This makes optimizer tasks the composite pattern-like for more readability. - Readd MetaPass to transpiler BasePass as a metaclass which implements predefined equivalence check for all passes. This is necessary to take care of duplicated pass run, which is prohibited in circuit pass manager. - Add FlowControllerMeta that allows users to subclass FlowController, while delegating the pass control to BaseFlowController. - Readd count to pass manager callback - Add PassState that manages the state of execution including PropertySet. This is a portable namespace that can be shared across passes.
Configuration menu - View commit details
-
Copy full SHA for f77cf03 - Browse repository at this point
Copy the full SHA f77cf03View commit details
Commits on Aug 5, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 8a46f2b - Browse repository at this point
Copy the full SHA 8a46f2bView commit details -
Configuration menu - View commit details
-
Copy full SHA for ac12c6d - Browse repository at this point
Copy the full SHA ac12c6dView commit details -
Merge branch 'feature/passmanager-refactoring-pr2' of github.com:nkan…
…azawa1989/qiskit-terra into feature/passmanager-refactoring-pr2
Configuration menu - View commit details
-
Copy full SHA for 19987f0 - Browse repository at this point
Copy the full SHA 19987f0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 687590e - Browse repository at this point
Copy the full SHA 687590eView commit details
Commits on Sep 22, 2023
-
In multi-IR realm task can be something other than optimization. For example IR conversion. Name should not limit operation on subclass.
Configuration menu - View commit details
-
Copy full SHA for a5c8417 - Browse repository at this point
Copy the full SHA a5c8417View commit details -
Configuration menu - View commit details
-
Copy full SHA for 65fc13d - Browse repository at this point
Copy the full SHA 65fc13dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5034cc4 - Browse repository at this point
Copy the full SHA 5034cc4View commit details
Commits on Oct 10, 2023
-
Separate property set from pass state. Now Task.execute method has tw…
…o arguments for property set and pass state. Lifetime of property set data is entire execution of the pass manager, while that of pass state is execution of a single pass.
Configuration menu - View commit details
-
Copy full SHA for 305fa58 - Browse repository at this point
Copy the full SHA 305fa58View commit details
Commits on Oct 13, 2023
-
Configuration menu - View commit details
-
Copy full SHA for e526bff - Browse repository at this point
Copy the full SHA e526bffView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2051412 - Browse repository at this point
Copy the full SHA 2051412View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6211a5d - Browse repository at this point
Copy the full SHA 6211a5dView commit details -
Configuration menu - View commit details
-
Copy full SHA for a18dd91 - Browse repository at this point
Copy the full SHA a18dd91View commit details -
Change the policy for the use of multiple IRs. Just updated module do…
…cumentation, no actual code change. Future developer must not introduce strict type check on IR (at least in base classes in the module).
Configuration menu - View commit details
-
Copy full SHA for e20949a - Browse repository at this point
Copy the full SHA e20949aView commit details -
Updated interface of base controller. Namely .append() and .passes ar…
…e moved to particular subclass and the baseclass is now agnostic to construction of task pipeline. This adds more flexibility to design of conditioned pipelines. Note that PassState is also renamed to WorkflowStatus because this is sort of global mutable variable, rather than local status information of a particular pass.
Configuration menu - View commit details
-
Copy full SHA for 5701447 - Browse repository at this point
Copy the full SHA 5701447View commit details -
Configuration menu - View commit details
-
Copy full SHA for 59837b3 - Browse repository at this point
Copy the full SHA 59837b3View commit details -
Configuration menu - View commit details
-
Copy full SHA for ca7dba6 - Browse repository at this point
Copy the full SHA ca7dba6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2c11019 - Browse repository at this point
Copy the full SHA 2c11019View commit details -
Merge branch 'main' of github.com:Qiskit/qiskit-terra into feature/pa…
…ssmanager-refactoring-pr2
Configuration menu - View commit details
-
Copy full SHA for f3912e8 - Browse repository at this point
Copy the full SHA f3912e8View commit details -
Readd code change in Qiskit#10835
Co-authored-by: Matthew Treinish <mtreinish@kortar.org>
Configuration menu - View commit details
-
Copy full SHA for ae14aa7 - Browse repository at this point
Copy the full SHA ae14aa7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 388d1dd - Browse repository at this point
Copy the full SHA 388d1ddView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5958f79 - Browse repository at this point
Copy the full SHA 5958f79View commit details -
Configuration menu - View commit details
-
Copy full SHA for dd666e9 - Browse repository at this point
Copy the full SHA dd666e9View commit details
Commits on Oct 16, 2023
-
Configuration menu - View commit details
-
Copy full SHA for f28cad9 - Browse repository at this point
Copy the full SHA f28cad9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9346ce5 - Browse repository at this point
Copy the full SHA 9346ce5View commit details -
Configuration menu - View commit details
-
Copy full SHA for c56bf7c - Browse repository at this point
Copy the full SHA c56bf7cView commit details
Commits on Oct 17, 2023
-
Merge pull request #51 from jakelishman/pr-refactor-docs
Tweaks to documentation
Configuration menu - View commit details
-
Copy full SHA for e211d66 - Browse repository at this point
Copy the full SHA e211d66View commit details -
Configuration menu - View commit details
-
Copy full SHA for ed9a8d7 - Browse repository at this point
Copy the full SHA ed9a8d7View commit details -
Update interface of execute and use generator feature.
- Add new container class PassmanagerMetadata - Rename propertyset with compilation_status - Provide metadata with the iter_tasks instead of property_set - Send metadata through generator - Turn metadata required, and let pass manager create metadata - Return metadata from execute along with the IR
Configuration menu - View commit details
-
Copy full SHA for d889ac0 - Browse repository at this point
Copy the full SHA d889ac0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7fba347 - Browse repository at this point
Copy the full SHA 7fba347View commit details
Commits on Oct 18, 2023
-
Configuration menu - View commit details
-
Copy full SHA for b9348ae - Browse repository at this point
Copy the full SHA b9348aeView commit details -
Configuration menu - View commit details
-
Copy full SHA for da6c810 - Browse repository at this point
Copy the full SHA da6c810View commit details -
Remove flow_controller_conditions from base controller append and add…
… stacklevel to deprecation warning
Configuration menu - View commit details
-
Copy full SHA for 31fcf67 - Browse repository at this point
Copy the full SHA 31fcf67View commit details -
Configuration menu - View commit details
-
Copy full SHA for f0a547a - Browse repository at this point
Copy the full SHA f0a547aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5d9f16e - Browse repository at this point
Copy the full SHA 5d9f16eView commit details -
Configuration menu - View commit details
-
Copy full SHA for df0ee05 - Browse repository at this point
Copy the full SHA df0ee05View commit details -
Rename
PassmanagerMetadata
toPassManagerState
This is primarily to avoid a potential conflict with the terminology `metadata` that's associated with the `input_program`, and because the object is the state object for a pass-manager execution. There is still a risk of confusion with `RunState`, but since that's a subcomponent of `PassManagerState`, it feels fair enough.
Configuration menu - View commit details
-
Copy full SHA for d7cdf8f - Browse repository at this point
Copy the full SHA d7cdf8fView commit details
Commits on Oct 19, 2023
-
Configuration menu - View commit details
-
Copy full SHA for f140148 - Browse repository at this point
Copy the full SHA f140148View commit details