You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, any two instructions with InstructionRole::RFControl are presumed to operate on a frame and thus incur an ExecutionDependency::Frame between them during ScheduledProgram construction. However, that misses the point of this graph.
Each edge should express some condition to be satisfied in the scheduling of the program on a backend. In this case, what Frame means is ambiguous. A PULSE which follows a DELAY should follow it immediately; a SET-FREQUENCY which follows a PULSE can be executed at any time, subject to other constraints in the program. However, today, those two pairs are expressed the same way, with an ExecutionDependency::Frame.
Frame should be replaced with a combination of the existing StableOrdering and a new Timing:
Timing between two instructions whose timing within the pulse program is governed by the Quil-T specification. That is, an instruction must start immediately following the end of the latest preceding instruction with which it shares a Timing edge in the graph.
StableOrdering for all other cases, such as between a SET-FREQUENCY and PULSE.
The text was updated successfully, but these errors were encountered:
Currently, any two instructions with
InstructionRole::RFControl
are presumed to operate on a frame and thus incur anExecutionDependency::Frame
between them duringScheduledProgram
construction. However, that misses the point of this graph.Each edge should express some condition to be satisfied in the scheduling of the program on a backend. In this case, what
Frame
means is ambiguous. APULSE
which follows aDELAY
should follow it immediately; aSET-FREQUENCY
which follows aPULSE
can be executed at any time, subject to other constraints in the program. However, today, those two pairs are expressed the same way, with anExecutionDependency::Frame
.Frame
should be replaced with a combination of the existingStableOrdering
and a newTiming
:Timing
between two instructions whose timing within the pulse program is governed by the Quil-T specification. That is, an instruction must start immediately following the end of the latest preceding instruction with which it shares aTiming
edge in the graph.StableOrdering
for all other cases, such as between aSET-FREQUENCY
andPULSE
.The text was updated successfully, but these errors were encountered: