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

Oxidize QuantumCircuit._data and intern CircuitInstruction args #10827

Merged
merged 89 commits into from
Nov 20, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
89 commits
Select commit Hold shift + click to select a range
e9cf029
Initial commit.
kevinhartman Sep 1, 2023
bee235c
Fix bugs with slicing impl.
kevinhartman Sep 11, 2023
6b72c7a
Fix sort, remove dead code.
kevinhartman Sep 12, 2023
e8c9a60
Use custom cfg flag for debug.
kevinhartman Sep 12, 2023
85df501
Run fmt.
kevinhartman Sep 12, 2023
a35521d
Add todo.
kevinhartman Sep 12, 2023
38068ae
Revert utils change, not needed anymore.
kevinhartman Sep 12, 2023
9ebc36a
Use CircuitData in compose.
kevinhartman Sep 12, 2023
d78d5e6
Revert test stub.
kevinhartman Sep 12, 2023
aa33e00
Remove once_cell. Not needed anymore.
kevinhartman Sep 12, 2023
3837517
Run format.
kevinhartman Sep 12, 2023
697049b
Fix lint issues.
kevinhartman Sep 13, 2023
bc33882
Use PyTuple in ElementType.
kevinhartman Sep 13, 2023
cf10769
Use native list and dict types for lookup tables.
kevinhartman Sep 13, 2023
65fec56
Implement __traverse__ and __clear__.
kevinhartman Sep 13, 2023
dcc31f8
Take iterable for extend. Preallocate.
kevinhartman Sep 14, 2023
9185dc2
Fix insertion indexing behavior.
kevinhartman Sep 14, 2023
e9bc36b
Fix typo.
kevinhartman Sep 14, 2023
e1faea3
Avoid possible hash collisions in InternContext.
kevinhartman Sep 14, 2023
45061e9
Use () instead of None for default iterable.
kevinhartman Sep 14, 2023
6b3a0a0
Resolve copy share intern context TODO.
kevinhartman Sep 14, 2023
71a23b2
Use () instead of empty list in stubed lists.
kevinhartman Sep 14, 2023
eb35ffb
Use u32 for IndexType.
kevinhartman Sep 14, 2023
77210a2
Resolve TODO in if_else.py.
kevinhartman Sep 14, 2023
cd2bdc1
Fix Rust lint issues.
kevinhartman Sep 14, 2023
9eb1a57
Add unit testing for InternContext.
kevinhartman Sep 14, 2023
8447c02
Remove print logging.
kevinhartman Sep 14, 2023
bafef1d
Fix bug introduced during print removal.
kevinhartman Sep 15, 2023
1d63a40
Add helper methods for getting the context in CircuitData.
kevinhartman Sep 15, 2023
92e3d08
Merge branch 'main' of github.com:Qiskit/qiskit-terra into oxidize-qc…
kevinhartman Sep 20, 2023
afecc5d
Fix issue with BlueprintCircuit.
kevinhartman Sep 25, 2023
21f3e51
Workaround for CircuitInstruction operation mutability.
kevinhartman Sep 26, 2023
d49881c
Revert "Workaround for CircuitInstruction operation mutability."
kevinhartman Sep 28, 2023
6a78f31
Add _add_ref to InstructionSet.
kevinhartman Sep 28, 2023
1624e6c
Exclude CircuitData::intern_context from GC clear.
kevinhartman Sep 29, 2023
bbf2130
Fix lint.
kevinhartman Sep 29, 2023
376c8f6
Avoid copy into list.
kevinhartman Oct 2, 2023
f52300b
Override __deepcopy__.
kevinhartman Oct 2, 2023
26b1ee4
Override __copy__ to avoid pulling CircuitData into a list.
kevinhartman Oct 4, 2023
db85f13
Merge branch 'main' of github.com:Qiskit/qiskit-terra into oxidize-qc…
kevinhartman Oct 4, 2023
185d736
Implement copy for CircuitData.
kevinhartman Oct 5, 2023
cacb81b
Port CircuitInstruction to Rust.
kevinhartman Oct 6, 2023
81a8ba4
Use Rust CircuitInstruction.
kevinhartman Oct 6, 2023
82c0918
Optimize circuit_to_instruction.py
kevinhartman Oct 12, 2023
177191b
Use freelist for CircuitInstruction class.
kevinhartman Oct 12, 2023
a1e3f2b
Remove use count, fix extend, InternContext internal.
kevinhartman Oct 12, 2023
a4a273d
Revert to using old extraction for now until we move bits inside Circ…
kevinhartman Oct 17, 2023
eeb0989
Fix issue with deletion.
kevinhartman Oct 17, 2023
10cc624
Performance optimization overhaul.
kevinhartman Oct 18, 2023
7ef6b12
Fix lint.
kevinhartman Oct 26, 2023
ecf73d6
Attempt to move docstring for CircuitInstruction.
kevinhartman Oct 26, 2023
b30d2c6
Add missing py_ext module file.
kevinhartman Oct 26, 2023
6857039
Use full struct for InternedInstruction.
kevinhartman Oct 26, 2023
0755ea5
Remove __copy__ from QuantumCircuit.
kevinhartman Nov 1, 2023
fb0230b
Improve bit key wrapper name.
kevinhartman Nov 1, 2023
2a77fc9
Remove opt TODO comment. Will be done in new PR.
kevinhartman Nov 1, 2023
00c976a
Clean up GC cycle breaking.
kevinhartman Nov 1, 2023
0edab6f
Add separate method convert_py_index_clamped.
kevinhartman Nov 1, 2023
d80a6c5
Merge branch 'main' of github.com:Qiskit/qiskit-terra into oxidize-qc…
kevinhartman Nov 1, 2023
c3e6b96
Implement __eq__ instead of __richcmp__.
kevinhartman Nov 1, 2023
2cf9a19
Avoid 'use'ing SliceOrInt enum.
kevinhartman Nov 1, 2023
5ef601e
Port slice conversion to pure Rust.
kevinhartman Nov 1, 2023
6d28098
Clean up InternContext.
kevinhartman Nov 2, 2023
1584695
Change import order in quantumcircuitdata.py.
kevinhartman Nov 2, 2023
400a568
Use .zip method on iter().
kevinhartman Nov 2, 2023
6493c9d
Rename get_or_cache to intern_instruction.
kevinhartman Nov 2, 2023
83fa337
Improve error handling.
kevinhartman Nov 2, 2023
32fef11
Add documentation comments for Rust types.
kevinhartman Nov 2, 2023
60543c5
Move reserve method.
kevinhartman Nov 3, 2023
32bd5fc
Add tests for bit key error.
kevinhartman Nov 3, 2023
94c333d
Localize BlueprintCircuit workaround.
kevinhartman Nov 3, 2023
1413711
Slice refactoring, fixes, tests.
kevinhartman Nov 3, 2023
14f1eb6
Fix setitem slice regression, clean up slice testing.
kevinhartman Nov 5, 2023
724fcfc
Use Python docstring form for pymethods.
kevinhartman Nov 9, 2023
f0e6554
Don't use underscore in BitAsKey type name.
kevinhartman Nov 9, 2023
0cb4a1d
Add release note.
kevinhartman Nov 9, 2023
0f00b87
Add upgrade note.
kevinhartman Nov 14, 2023
cd3b920
Add error messages for exceeded qubits and clbits.
kevinhartman Nov 14, 2023
9f4f12d
Use BitType instead of u32.
kevinhartman Nov 14, 2023
5965c6c
Improve code comments for extend.
kevinhartman Nov 14, 2023
d46475a
Improve readability with PackedInstruction.
kevinhartman Nov 14, 2023
65aa628
Fix reserve issue.
kevinhartman Nov 14, 2023
dab5373
Use usize for pointer type.
kevinhartman Nov 14, 2023
b10d8b4
Use copied instead of cloned on Option.
kevinhartman Nov 15, 2023
7731670
Use .is() instead of IDs.
kevinhartman Nov 16, 2023
dad3430
Convert tuples to list in legacy format.
kevinhartman Nov 16, 2023
a39fe80
Remove redundant parens.
kevinhartman Nov 16, 2023
0fda537
Add crate comment for py_ext.
kevinhartman Nov 17, 2023
f2646b4
Make CircuitData::qubits and CircuitData::clbits ephemeral.
kevinhartman Nov 17, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 2 additions & 0 deletions crates/accelerate/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ mod euler_one_qubit_decomposer;
mod nlayout;
mod optimize_1q_gates;
mod pauli_exp_val;
mod quantum_circuit;
mod results;
mod sabre_layout;
mod sabre_swap;
Expand Down Expand Up @@ -52,6 +53,7 @@ fn _accelerate(_py: Python<'_>, m: &PyModule) -> PyResult<()> {
m.add_wrapped(wrap_pymodule!(sabre_swap::sabre_swap))?;
m.add_wrapped(wrap_pymodule!(pauli_exp_val::pauli_expval))?;
m.add_wrapped(wrap_pymodule!(dense_layout::dense_layout))?;
m.add_wrapped(wrap_pymodule!(quantum_circuit::quantum_circuit))?;
m.add_wrapped(wrap_pymodule!(error_map::error_map))?;
m.add_wrapped(wrap_pymodule!(sparse_pauli_op::sparse_pauli_op))?;
m.add_wrapped(wrap_pymodule!(results::results))?;
Expand Down