Skip to content

DynamicMemoryCompute and Unmemory trace transforms#3304

Merged
msoeken merged 1 commit into
mainfrom
msoeken/memory-transform
Jun 15, 2026
Merged

DynamicMemoryCompute and Unmemory trace transforms#3304
msoeken merged 1 commit into
mainfrom
msoeken/memory-transform

Conversation

@msoeken

@msoeken msoeken commented Jun 11, 2026

Copy link
Copy Markdown
Member

This implements the functionality of Q#'s EnableManualMemoryComputeArchitecture QRE intrinsic inside a trace transform, thereby enabling the technique also for other input languages. It also offers a "dual" transform called Unmemory that removes any memory instructions and allocates enough compute qubits to support this.

The functionality of EnableManualMemoryComputeArchitecture is still inside the Q# RE backend and should be replaced once the backend is moved to QREv3.

It also adds a method Trace.gate_counts which returns a dictionary of a histogram mapping instruction ids to how often they appear in gates in the trace.

@msoeken msoeken added this pull request to the merge queue Jun 15, 2026
Merged via the queue into main with commit 4940c2d Jun 15, 2026
12 checks passed
@msoeken msoeken deleted the msoeken/memory-transform branch June 15, 2026 08:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants