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

Rust native core data model #13264

Open
8 tasks
mtreinish opened this issue Oct 3, 2024 · 0 comments
Open
8 tasks

Rust native core data model #13264

mtreinish opened this issue Oct 3, 2024 · 0 comments
Labels
performance Rust This PR or issue is related to Rust code in the repository
Milestone

Comments

@mtreinish
Copy link
Member

mtreinish commented Oct 3, 2024

Since the 1.2 and 1.3 release we have an increasing amount of Qiskit's internal data model expose to rust. This has led to anything not defined as a rust-native object with a python interface on top as becoming a potential bottleneck as it limits what we're able to do in pure rust. For example, creating bit objects is often the bottleneck for circuit construction/synthesis and in #13238 creating UnitaryGate objects is taking ~60% of the time to construct the circuit (and those are just containers that wrap a numpy array we already created). This issue is for tracking the last pieces necessary to fully create a circuit through a default transpilation pipeline without needing to call Python. The current list of work items is:

Tasks

  1. Rust performance
  2. Rust performance
  3. Rust priority: medium type: feature request
  4. Rust performance
  5. Rust performance
  6. Rust performance

It should be noted this doesn't preclude extending the data model from Python as is supported now, we have provisions in place already for things where the data model supported this like custom instructions and gates, and we should still support these use cases. It's more about ensuring we have a complete core data model in rust so that we can do manipulations of the qiskit defined pieces in rust without needing Python.

@mtreinish mtreinish added this to the 2.0.0 milestone Oct 3, 2024
@mtreinish mtreinish added Rust This PR or issue is related to Rust code in the repository performance labels Oct 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
performance Rust This PR or issue is related to Rust code in the repository
Projects
None yet
Development

No branches or pull requests

1 participant