Release 0.11.0
A long-waited release...
Added
- CC backend:
- support for cQASM 1.2 features through new IR
- limitations
- integer values must be non-negative
- limitations
- support for resource constrained scheduler
- creates .map file reporting measurement statements present in input, to allow retrieving measurements downstream
- support for cQASM 1.2 features through new IR
- support for Python up to 3.11
Changed
- pass dec.Instructions: duration=0 in new-style decomposition rules now disables checking whether expansion fits, allowing automatic calculation of duration (and requiring scheduling after decomposition of such rules)
- CC backend:
- now uses new IR
- no longer requires key "cc" to be present in instructions that define gate decompositions
- key "readout_mode" no longer used
- classification of gates as measurement - which is used for the resource constrained scheduler, and to output a map of measurements - now based on signal definition ("signal/type" equals "measure" and "signal/value" non-empty)
- classification of gates as real-time measurement now based on signal definition ("signal/type" equals "measure" and "signal/value" empty)
- absence of key "cc" now implies empty "signal", so
"cc": { "signal": [] }
is no longer necessary
- passes and architectures self-register statically to their respective factories
- initial placer uses new IR and new MIP solver called HiGHS
Removed
- CC backend:
- support for JSON key "pragma/break" for instruction definitions
- macro expansion for JSON key instruction/signal/value (unused anyway)
- support for sweep points in API and the WriteSweepPointsPass
- support for Python up to and including 3.6
Fixed
- pass dec.Instructions
- corrected ordering of instruction decomposition (which reversed multi-statement decompositions)
- decomposed instructions were silently made unconditional, we now copy instruction condition to decomposed instructions