Update `parallel` deferred release to work with dynamic qubit allocation
- Dominant language
- Rust
- Stars
- 1k
- Forks
- 212
- Avg merge
- 3d 8h
- Merged PRs (30d)
- 65
Description
The new `parallel` syntax does not interop properly with the (so far unreleased) QIR dynamic qubit allocation feature. Specifically, any calls to `__quantum__rt__qubit_release` should be defferred using the same logic as the static ID tracking during code gen. The pattern used during normal eval where the simulator handles qubit management can be mimicked, since `parallel` already forces inlining and unrolling within it's scope.
Contributor guide
Research direction
Start in the code-generation path for the `parallel` syntax and compare its static ID tracking with the normal evaluation pattern where the simulator handles qubit management. Trace how `__quantum__rt__qubit_release` is emitted for dynamic allocation and verify that releases within `parallel` follow the deferred behavior described in the issue.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- compilers
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100