microsoft / microsoft/qdk

Update `parallel` deferred release to work with dynamic qubit allocation

Open
#3,564 0 comments 0 reactions 0 assignees View on GitHub
enhancement needs triage
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.