♻️ Consolidate DD circuit execution - #2273
Conversation
Cpp-Linter Report
|
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
|
Hm. I am honestly a bit skeptical about the changes here.
I am not 100% what the desired end-goal is, but I agree that the current one is maybe a little much. Just some thoughts though. Probable needs to be consolidated a bit more. |
That makes the most sense long term, but I thought that would be too big of a change for this PR. Should we keep the shared Core kernel and DDSIM delegation, restore Core’s high-level sample and simulate_statevector convenience wrappers and create an issue for QIR/QDMI-only execution? Could also do that directly here, but would a bit more work. |
Hm. Tough question. I feel like the general |
Then let's keep this open for now until we further consolidate the MLIR DD PRs and the other open stacks. Happy to discuss this further next week to come up with a better plan. |
🤖 AI text below 🤖
Description
Consolidate decision-diagram circuit execution in MQT Core while keeping DDSIM
as the owner of the public simulator abstraction:
dd::sampleprimitive that returns counts, retainedstate, and execution count while continuing a caller-owned random-number
generator;
measurements, resets, classical control, permutations, garbage, and global
phase;
DDSIM;
sampleandsimulate_statevectorhelpers toDDSIM;
migrations; and
measurement assignments, layouts, output permutations, ownership, and
failures.
Fixes #2103
Downstream migrations
DDSIM remains stacked on its existing Core-v4 migration. ProblemSolver retains
its Core 3.x import on Python 3.10 and uses DDSIM on Python 3.11 and newer.
QCEC and SyReC keep their existing Core-only C++ integrations.
Validation
and stale-library environment failures; CI remains pending
AI assistance
Codex materially assisted with the cross-repository design, implementation,
tests, validation, independent review, migration work, and this pull request
description. A human must review and understand the changes before merge.
Checklist
If PR contains AI-assisted content:
🤖 *AI text below* 🤖(titles are exempt).