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.
Summary
Fixes a bug in CopyIn/CopyOut operations where out of bounds array elemets
were accessed.
QubitvectorThrust
has a number of qubitsnum_qubits
. Whenmove_to_vector
orcopy_to_vector
functions are called a temporary array or vector of size(1 <<
num_qubits
) is created and passed to chunk_ CopyOut function. There, a numberof elements (1 <<
chunk_qubits_
) of the underlying structure are copied tothis array/vector. The problem is that
chunk_qubits_
can be larger thatnum_qubits
,accessing values in the array or vector out of bounds. This is what was making
PR #1132 failing in CI.
Details and comments
chunk_qubits_
is initialized from maximum number of qubits in a list of circuit whereasnum_qubits
is initilaized as the number of qubits of a given circuit.