Skip to content

bloqade.lanes.analysis.placement.analysis.PlacementAnalysis

← Module overview

classPlacementAnalysissource

bloqade.lanes.analysis.placement.analysis.PlacementAnalysis

Bases: Forward[AtomState]

Signature
class PlacementAnalysis(initial_layout: tuple[LocationAddress, ...], address_analysis: dict[ir.SSAValue, Address], placement_strategy: PlacementStrategyABC)

Parameters

NameTypeDescription
initial_layouttuple[LocationAddress, ...]
address_analysisdict[ir.SSAValue, Address]
placement_strategyPlacementStrategyABC

Attributes

NameTypeDefaultDescription
keys—('runtime.placement',)
initial_layouttuple[LocationAddress, ...]required
address_analysisdict[ir.SSAValue, Address]required
move_countdefaultdict[ir.SSAValue, int]field(init=False)
cz_lookahead_buffersdict[ir.Block, tuple[tuple[tuple[int, ...], tuple[int, ...]], ...]]field(default_factory=dict, init=False, repr=False)
cz_lookahead_stmt_positionsdict[ir.Block, dict[CZ, int]]field(default_factory=dict, init=False, repr=False)
placement_strategyPlacementStrategyABCrequiredThe strategy function to use for calculating placements.
lattice—AtomState

methodinitializesource

bloqade.lanes.analysis.placement.analysis.PlacementAnalysis.initialize

def initialize() -> Self

Returns

Self

source

methodget_inintial_statesource

bloqade.lanes.analysis.placement.analysis.PlacementAnalysis.get_inintial_state

def get_inintial_state(qubits: tuple[ir.SSAValue, ...])

Parameters

NameTypeDescription
qubitstuple[ir.SSAValue, ...]
source

methodbuild_cz_buffersource

bloqade.lanes.analysis.placement.analysis.PlacementAnalysis.build_cz_buffer

Signature
def build_cz_buffer(block: ir.Block) -> tuple[tuple[tuple[int, ...], tuple[int, ...]], ...]

Parameters

NameTypeDescription
blockir.Block

Returns

tuple[tuple[tuple[int, ...], tuple[int, ...]], ...]

source

methodbuffered_future_cz_layerssource

bloqade.lanes.analysis.placement.analysis.PlacementAnalysis.buffered_future_cz_layers

Signature
def buffered_future_cz_layers(stmt: CZ) -> tuple[tuple[tuple[int, ...], tuple[int, ...]], ...]

Parameters

NameTypeDescription
stmtCZ

Returns

tuple[tuple[tuple[int, ...], tuple[int, ...]], ...]

source

methodmethod_selfsource

bloqade.lanes.analysis.placement.analysis.PlacementAnalysis.method_self

def method_self(method: ir.Method) -> AtomState

Parameters

NameTypeDescription
methodir.Method

Returns

AtomState

source

methodeval_fallbacksource

bloqade.lanes.analysis.placement.analysis.PlacementAnalysis.eval_fallback

def eval_fallback(frame: ForwardFrame, node: ir.Statement)

Parameters

NameTypeDescription
frameForwardFrame
nodeir.Statement
source