mirror of https://github.com/Qiskit/qiskit.git
![]() The SabreDAG struct was carrying a nodes field which was a Vec of the topologically sorted node descriptions used to create the inner graph object. The format of this field mirrors what Python passes to Rust when initially creating the DAG. The reason this was being kept around was for reversing the graph when working with control flow ops. However, in practice this isn't necessary because all the data contained in the vec is also contained in the graph and we can just reverse the graph directly and save having to carry around the entire object. Also removing this field simplifies the step of moving the sabre dag construction into Rust which is required for porting the remainder of the pass to Rust. |
||
---|---|---|
.. | ||
src | ||
Cargo.toml | ||
README.md |
README.md
qiskit-accelerate
This crate provides a bits-and-pieces Rust libary for small, self-contained functions that are used by the main Python-space components to accelerate certain tasks. If you're trying to speed up one particular Python function by replacing its innards with a Rust one, this is the best place to put the code. This is usually the right place to put new Rust/Python code.
The qiskit-pyext
crate is what actually builds the C extension modules. Modules in here should define
themselves has being submodules of qiskit._accelerate
, and then the qiskit-pyext
crate should bind them
into its fn _accelerate
when it's making the C extension.