Conversation
There was a problem hiding this comment.
Pull Request Overview
This PR implements AOD (Acousto-Optic Deflector) tracking analysis functionality by adding a new tracking dialect and associated infrastructure. The changes enable system state tracking through quantum operations and provide analysis capabilities for AOD positioning.
Key changes:
- Adds a new
trackingdialect with system state management operations - Implements AOD analysis framework with lattice-based state tracking
- Refactors TraceInterpreter constructor to use keyword-only architecture specification
- Moves ActionTracer from taskgen to its own module for better separation of concerns
Reviewed Changes
Copilot reviewed 22 out of 22 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| src/bloqade/shuttle/dialects/tracking/* | New tracking dialect with types, statements, and AOD analysis |
| src/bloqade/shuttle/passes/path2tracking.py | Pass to convert path operations to tracking operations |
| src/bloqade/shuttle/analysis/aod/* | AOD analysis framework with lattice-based state tracking |
| src/bloqade/shuttle/codegen/taskgen.py | Refactored TraceInterpreter constructor and moved ActionTracer |
| src/bloqade/shuttle/dialects/action/trace.py | New dedicated module for ActionTracer |
| src/bloqade/shuttle/arch.py | Added AOD tone limits and made arch_spec keyword-only |
| src/bloqade/shuttle/dialects/measure/* | Updated to use squin dialect's MeasurementResult |
| test/unit/codegen/test_taskgen.py | Updated TraceInterpreter calls to use keyword arguments |
| test/codegen/test_taskgen.py | Updated TraceInterpreter calls to use keyword arguments |
Comments suppressed due to low confidence (1)
src/bloqade/shuttle/arch.py:124
- The hash method doesn't include the new max_x_tones and max_y_tones fields, which could lead to incorrect hash behavior when these values differ between instances.
def __hash__(self):
return hash(
(
self.layout,
frozenset(self.float_constants.items()),
frozenset(self.int_constants.items()),
)
)
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
|
|
||
| # path = _interp.get_const_value(Path, stmt.path) | ||
| # for action in path.path: | ||
| # match |
There was a problem hiding this comment.
Incomplete match statement syntax. This line ends abruptly and will cause a SyntaxError.
| # match | |
| # match action: | |
| # # TODO: implement cases for action | |
| # pass |
|
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
☂️ Python Coverage
Overall Coverage
New Files
Modified Files
|
No description provided.