This repository was archived by the owner on Jan 12, 2024. It is now read-only.
Add CX, CY and CZ to Type1, Type3 target packages.#842
Merged
swernli merged 3 commits intofeature/simplify-target-packagesfrom Sep 30, 2021
Merged
Add CX, CY and CZ to Type1, Type3 target packages.#842swernli merged 3 commits intofeature/simplify-target-packagesfrom
CX, CY and CZ to Type1, Type3 target packages.#842swernli merged 3 commits intofeature/simplify-target-packagesfrom
Conversation
This simplifies the use of controlled Pauli gates to allow for programs that make use of singly controlled gates (or CCNOT) to have reasonable decompositoins without incurring array creation or using the controlled specialization. This leads to better compatibility with the draft spec for the QIR base profile.
CX, CY and CZ to Type1, Type3 target packages.
Collaborator
Author
|
Note that this is going into a feature branch for now as part of a larger effort to apply simplifications to the target packages and ease their use across different QIR profiles. Expanded tests to cover any additional APIs will be added before merging the feature branch to main. This is related to microsoft/QuantumLibraries#477, but does not necessarily remove the need for considering that proposal. |
cgranade
approved these changes
Sep 30, 2021
Contributor
cgranade
left a comment
There was a problem hiding this comment.
LGTM, no substantiative comments.
src/Simulation/TargetDefinitions/Decompositions/CZFromSinglyControlled.qs
Outdated
Show resolved
Hide resolved
cesarzc
added a commit
that referenced
this pull request
Nov 5, 2021
* Use explicit static VC runtime on Windows (#851) * Use explicit static VC runtime on Windows This change updates the QIR runtime to use an explicit path to the Spectre-mitigated, static VC runtime on Windows. Using a full path here overrides the selection logic and ensures the chosen libcmt[d] and vcruntime[d] are loaded. * Add "-sort" flag * Include version number in find pattern * Include libcpmt library as well * Use spectre component name * Append AppId to UserAgent when calling Azure Quantum APIs (#858) * Add `CX`, `CY` and `CZ` to Type1, Type3 target packages. (#842) (#861) * Moving QIR runtime build config into CMakeLists. (#863) * Moving QIR runtime build config into qir_cmake_include CMakeLists. Co-authored-by: Stefan J. Wernli <swernli@microsoft.com> Co-authored-by: XField <58103249+vxfield@users.noreply.github.com> Co-authored-by: Ian Davis <iadavis@microsoft.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This simplifies the use of controlled Pauli gates to allow for programs that make use of singly controlled gates (or CCNOT) to have reasonable decompositoins without incurring array creation or using the controlled specialization. This leads to better compatibility with the draft spec for the QIR base profile.