Skip to content
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

Transpiler add passes that might be out of the default basis #2357

Merged
merged 18 commits into from
May 9, 2019

Conversation

1ucian0
Copy link
Member

@1ucian0 1ucian0 commented May 8, 2019

Fixes #2349

When a basis is not defined for a circuit, the default basis set is the set of gates used in the circuit. This makes total sense to me.

However, passes might add gates and the might be out of that bases. For this reason, I'm suggesting to add the base basis (UBase and CXBase) as part of the default basis set. If I understand correctly, the base basis (is that their name?) is supported by every backend by definition, so the gates that are added by the transpiler can run in the backend.

mtreinish and others added 11 commits March 4, 2019 10:45
* fix BasicAer sampling bug (Qiskit#1624)

* fix BasicAer sampling bug

* changelog

* remove legacysimulator from test_compile

Conflicts:
    CHANGELOG.rst
    test/python/tools/test_compiler.py

The changelog conflicts were inevitable as the stable branch doesn't
have the same history as master. As for the test conflict it was a
difference in the simulator (python vs c++) used, this backport
switches to use the python like on master.

(cherry picked from commit 5f7b2e7)

* Try pinning isort version

* Use constraints from last working version of lint

* Add requirements constraints too
* Bump version and prepare for 0.7.1 release

To prepare for the 0.7.1 bugfix release we need to increase the version
number and update the changelog. This commit takes care of that so we
can tag the release and build it.
* Addressed issue with instruction.py which prohibited inheritance of QuantumRegisters and ClassicalRegisters

* Updated changelog

* Fixed typo
* Relax schema validation on backendconfiguration

The schema validation for backendconfig was set too tightly and it was
rejecting valid responses from the backend API. This potentially causes
issues when running against the api. This commit addresses this by
changing the schema validation to ensure that we properly validate the
response received by the backends and no longer reject valid responses
moving forward.

* Add changelog

* Fix tests and lint
To prepare for the 0.7.2 bugfix release we need to increase the version
number and update the changelog. This commit takes care of that so we
can tag the release and build it.
This finishes a last minute typo in the changelog to link to the correct
version.
The wheel build jobs failed to install twine so when the jobs completed
and went to upload the wheels this failed because the command wasn't
found. This commit fixes the issue by installing twine as part of the
wheel build job set ups so that we can actually upload our built
binaries.
ajavadia
ajavadia previously approved these changes May 8, 2019
@ajavadia ajavadia changed the base branch from stable to master May 8, 2019 20:59
@ajavadia ajavadia changed the base branch from master to stable May 8, 2019 21:00
@1ucian0 1ucian0 changed the base branch from stable to master May 8, 2019 21:44
@1ucian0 1ucian0 changed the base branch from master to stable May 8, 2019 21:45
@1ucian0 1ucian0 changed the base branch from stable to master May 8, 2019 21:47
@ajavadia ajavadia merged commit 4bfcc5d into Qiskit:master May 9, 2019
@ajavadia ajavadia added the stable backport potential The bug might be minimal and/or import enough to be port to stable label May 9, 2019
@1ucian0 1ucian0 deleted the 2349 branch May 9, 2019 14:33
mtreinish pushed a commit to mtreinish/qiskit-core that referenced this pull request May 9, 2019
…2357)

Fixes Qiskit#2349

When a basis is not defined for a circuit, the default basis set is the
set of gates used in the circuit. This makes total sense to me.

However, passes might add gates and the might be out of that bases. For
this reason, I'm suggesting to add the base basis (UBase and CXBase) as
part of the default basis set. If I understand correctly, the base
basis (is that their name?) is supported by every backend by
definition, so the gates that are added by the transpiler can run in
the backend.

(cherry picked from commit 4bfcc5d)
1ucian0 pushed a commit that referenced this pull request May 10, 2019
…2386)

Fixes #2349

When a basis is not defined for a circuit, the default basis set is the
set of gates used in the circuit. This makes total sense to me.

However, passes might add gates and the might be out of that bases. For
this reason, I'm suggesting to add the base basis (UBase and CXBase) as
part of the default basis set. If I understand correctly, the base
basis (is that their name?) is supported by every backend by
definition, so the gates that are added by the transpiler can run in
the backend.

(cherry picked from commit 4bfcc5d)
lia-approves pushed a commit to edasgupta/qiskit-terra that referenced this pull request Jul 30, 2019
…2357)

* fix BasicAer sampling bug (Qiskit#1624) (Qiskit#1859)

* fix BasicAer sampling bug (Qiskit#1624)

* fix BasicAer sampling bug

* changelog

* remove legacysimulator from test_compile

Conflicts:
    CHANGELOG.rst
    test/python/tools/test_compiler.py

The changelog conflicts were inevitable as the stable branch doesn't
have the same history as master. As for the test conflict it was a
difference in the simulator (python vs c++) used, this backport
switches to use the python like on master.

(cherry picked from commit 5f7b2e7)

* Try pinning isort version

* Use constraints from last working version of lint

* Add requirements constraints too

* Bump version and prepare for 0.7.1 release (Qiskit#1886)

* Bump version and prepare for 0.7.1 release

To prepare for the 0.7.1 bugfix release we need to increase the version
number and update the changelog. This commit takes care of that so we
can tag the release and build it.

* Fix instruction inheritance issues (Qiskit#1900)

* Addressed issue with instruction.py which prohibited inheritance of QuantumRegisters and ClassicalRegisters

* Updated changelog

* Fixed typo

* Revert "Fix instruction inheritance issues (Qiskit#1900)" (Qiskit#1906)

This reverts commit 36d5d5d.

* Relax schema validation on backendconfiguration (Qiskit#2258)

* Relax schema validation on backendconfiguration

The schema validation for backendconfig was set too tightly and it was
rejecting valid responses from the backend API. This potentially causes
issues when running against the api. This commit addresses this by
changing the schema validation to ensure that we properly validate the
response received by the backends and no longer reject valid responses
moving forward.

* Add changelog

* Fix tests and lint

* Bump version and prepare for 0.7.2 release (Qiskit#2269)

To prepare for the 0.7.2 bugfix release we need to increase the version
number and update the changelog. This commit takes care of that so we
can tag the release and build it.

* Fix typo in changelog (Qiskit#2270)

This finishes a last minute typo in the changelog to link to the correct
version.

* Install twine in wheel build jobs (Qiskit#2290)

The wheel build jobs failed to install twine so when the jobs completed
and went to upload the wheels this failed because the command wasn't
found. This commit fixes the issue by installing twine as part of the
wheel build job set ups so that we can actually upload our built
binaries.

* fix

* check at the end

* undo order flip

* syntax

* DeprecationWarning message (Qiskit#2350)

* clean up stable
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
stable backport potential The bug might be minimal and/or import enough to be port to stable
Projects
None yet
Development

Successfully merging this pull request may close these issues.

optimization_level=3 triggers error in unrolling
4 participants