Skip to content

Add qecl.qec#2544

Merged
joeycarter merged 36 commits intomainfrom
joeycarter/qecl-qec-op
Mar 23, 2026
Merged

Add qecl.qec#2544
joeycarter merged 36 commits intomainfrom
joeycarter/qecl-qec-op

Conversation

@joeycarter
Copy link
Copy Markdown
Contributor

@joeycarter joeycarter commented Mar 4, 2026

Context: This PR is one in a series of PRs to build a prototype QEC compilation pipeline in Catalyst.

Description of the Change: This PRs adds the qecl.qec op to represent a single cycle of a quantum error-correction protocol at the logical layer.

%hreg = qecl.alloc() : !qecl.hyperreg<3 x 1>
%b0 = qecl.extract_block %hreg[0] : !qecl.hyperreg<3 x 1> -> !qecl.codeblock<1>
%b1 = qecl.encode [zero] %b0 : !qecl.codeblock<1>
%b2 = qecl.qec %b1 : !qecl.codeblock<1>

The equivalent operation has also been added to the xDSL python interface to Catalyst.

Note

This dialect is experimental and subject to change extensively in the future.

[sc-111752]

@joeycarter joeycarter changed the base branch from main to joeycarter/qecl-encode-op March 4, 2026 20:12
@joeycarter joeycarter force-pushed the joeycarter/qecl-encode-op branch from 91d0d9d to 2213501 Compare March 9, 2026 20:32
@joeycarter joeycarter force-pushed the joeycarter/qecl-qec-op branch from 5a07dd5 to 5808b6c Compare March 9, 2026 21:11
@joeycarter joeycarter force-pushed the joeycarter/qecl-encode-op branch from 7b11a9d to c86842b Compare March 12, 2026 16:39
This op represents a single cycle of a quantum error-correction protocol
at the QEC logical layer.
@joeycarter joeycarter force-pushed the joeycarter/qecl-qec-op branch from 5808b6c to 25187b1 Compare March 12, 2026 16:44
@joeycarter joeycarter requested review from a team, lillian542 and multiphaseCFD March 17, 2026 14:44
@joeycarter joeycarter marked this pull request as ready for review March 17, 2026 14:44
@codecov
Copy link
Copy Markdown

codecov Bot commented Mar 17, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 96.99%. Comparing base (6195496) to head (d59cea4).
⚠️ Report is 2 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #2544   +/-   ##
=======================================
  Coverage   96.99%   96.99%           
=======================================
  Files         157      157           
  Lines       17349    17360   +11     
  Branches     1676     1676           
=======================================
+ Hits        16827    16838   +11     
  Misses        386      386           
  Partials      136      136           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Copy Markdown
Member

@multiphaseCFD multiphaseCFD left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me. Thanks @joeycarter

Comment thread frontend/catalyst/python_interface/dialects/qecl.py
Base automatically changed from joeycarter/qecl-encode-op to main March 23, 2026 17:24
Copy link
Copy Markdown
Member

@multiphaseCFD multiphaseCFD left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice one @joeycarter !

@joeycarter joeycarter merged commit b472873 into main Mar 23, 2026
39 checks passed
@joeycarter joeycarter deleted the joeycarter/qecl-qec-op branch March 23, 2026 18:14
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.

3 participants