New OQD end-to-end pipeline is added to Catalyst #2299
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Context:
Description of the Change:
This pipeline enables Catalyst to compile circuit for ARTIQ-based quantum device. When
device_dbconfiguration is provided, the compilation follows the ARTIQ route:ions-decomposition: Decompose quantum operations for trapped ion systemsgates-to-pulses: Convert gate operations to pulse sequencesconvert-ion-to-rtio: Convert ion operations to RTIO dialectconvert-rtio-event-to-artiq: Lower RTIO event to ARTIQ's primitivesllvm-dialect-lowering-stage: Lower to LLVM IRemit-artiq-runtime: Generate ARTIQ runtime entry point as wrapper for ARITQ device to executeThe final stage compiles LLVM IR to an ELF binary targeting the ARTIQ device (ARM Cortex-A9). Due to current limitations where Catalyst's internal LLVM build does not include the corresponding ARM backend, the compilation will use
llcto compile.llto object file, and useld.lldto compile to.elfReplace the artiq configs to your own env setting:
The result will store in the
circuit/And you can run it on artiq device:
Benefits:
Possible Drawbacks:
It causes the OQD specific compile stuffs steps into the original catalyst compiler driver's pipepline
TODOs: (Need further discussions)
llcRelated GitHub Issues:
[sc-100853]