catalyst
catalyst copied to clipboard
A JIT compiler for hybrid quantum programs in PennyLane
**Context:** In my PR where I can the default `Operator.num_wires = None`: https://github.com/PennyLaneAI/pennylane/pull/7312 I get failing CI: https://github.com/PennyLaneAI/pennylane/actions/runs/14602060847/job/40962850893?pr=7312 with errors: ``` TypeError: Must specify a set of wires. None is...
**Context:** **Description of the Change:** **Benefits:** **Possible Drawbacks:** **Related GitHub Issues:** [sc-89747]
This PR adds detailed descriptions of the semantics of each method in the `QuantumDevice` interface used by runtime plugins. **Looking for feedback on**: - whether the semantics make sense as...
Currently the `get_cmain` and `compile_executable` functionality will error out if a boolean is returned. The fix is to include the appropriate c header for boolean support (since C99).
### Before submitting Please complete the following checklist when submitting a PR: - [x] All new functions and code must be clearly commented and documented. - [x] Ensure that code...
## Changes - `search_on_pennylane_ai` is `True` ## Testing In the [docs preview](https://xanaduai-pennylane--1503.com.readthedocs.build/projects/catalyst/en/1503/), when using the search, confirm that you are redirected to pennylane.ai/search and `project=catalyst` is included in the URL...
Currently we register all Catalyst passes in the `Catalyst/Transforms/RegisterAllPasses.cpp` source file: https://github.com/PennyLaneAI/catalyst/blob/ef4f1031e1e572d1ac344a00798b0e8725eae287/mlir/lib/Catalyst/Transforms/RegisterAllPasses.cpp#L24-L66 However, as the number of passes and dialects continues to grow, the size of this file may become...
**Context:** **Description of the Change:** Initial design: 1. Use the same interface as plugins to denote adding a pass. E.g., ```python # also pipeline @apply_pass("catalyst_xdsl_plugin.pass-name") @qml.qnode(device) def func(): ... ```...
During the development of PR #1492 , it was found that during the conversion of the quantum dialect to LLVM, there may be two terminators in a basic block. I...