NVIDIA / NVIDIA/cuda-quantum

Analysis for grouping/ordering values representing a single program qubit

Open
#5,196 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

stale-notified
Dominant language
C++
Stars
1.1k
Forks
455
Avg merge
1d 22h
Merged PRs (30d)
165

Description

Currently, there are many ad-hoc mechanisms to map MLIR Values to the qubit they represent, particularly for quake.wires, and to get the next value/wire corresponding to that qubit through an operation. It would be good to consolidate this into a single analysis and replace every ad-hoc instance.

Please add any passes/analyses with an ad-hoc implementation of this logic below:

  • PhaseFolding does this to identify subcircuits and to track phases.
  • DependencyAnalysis does this to form a dependency graph
  • Mapping does this for placement and routing
  • #4984 introduces a more structured analysis for this case, and uses it for commutation analysis
  • #5148 does this in resource estimation to track which Qubit an operation is applied to

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Compare the ad-hoc qubit-value tracking in PhaseFolding, DependencyAnalysis, and Mapping with the structured analysis from #4984 and the resource-estimation work in #5148. Identify the common analysis boundary and its consumers first. Done means the shared analysis replaces the listed mechanisms while preserving subcircuit, dependency, mapping, commutation, and resource-estimation behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
compilers, quantum-computing
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.