Skip to content

⬆️ Replace private DDSIM capability metadata after QDMI standardization #2367

Description

@burgholzer

🤖 AI text below 🤖

Elevator pitch

Remove temporary provider-specific metadata only when the public QDMI interface can express the same simulator capabilities without weakening compiler correctness.

Current state

The DDSIM device and target adapter use private all-to-all and controlled-operation metadata. Core supports zero-arity gphase and controlled standard-gate families; unknown target facts fail early.

Work and decisions

  • Wait for the parent contract decision and inventory every private-property producer/consumer.
  • Adopt the agreed public properties in DDSIM, the Client/bindings, and target inference.
  • Remove private fallbacks only when the supported dependency baseline guarantees the replacement.
  • Preserve arbitrary controls across supported standard gates, control polarity, zero-arity phase, and explicit topology.
  • Update the glossary, target documentation, and workaround-removal notes.

Dependencies and release boundary

Blocked by 💡 Standardize simulator topology and controlled-operation capabilities. Core 4.1 candidate only if the public contract is settled; otherwise keep the current documented workaround.

Acceptance and validation

  • Compiler/simulator tests preserve global phase and multiple controlled gate families, not just mcx/mcp.
  • Unknown topology and gate-set metadata still fail during inference.
  • Supported older dependency paths retain documented behavior until the minimum is raised.
  • Run focused target/DDSIM tests, generated stubs where affected, docs, full lint, and cpp-lint.

Non-goals

Inventing a competing private extension; relaxing fail-closed inference; requiring Braket simulator parity for v4.0.

Scalability and phase tests

Verify that adopting the public metadata does not materialize quadratic all-to-all connectivity or enumerate every controlled-gate arity. Test multiple controlled standard-gate families and true zero-arity global phase using phase-sensitive state or unitary comparisons; sampled probabilities alone cannot verify global phase.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

MLIRAnything related to MLIRQDMIAnything related to QDMIenhancementImprovement of existing feature

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions