qat.middleend.passes.validation module

class HardwareConfigValidity(hardware_model, max_shots=None)

Bases: ValidationPass

Validates the CompilerConfig against the hardware model.

Instantiate the pass with a hardware model.

Parameters:
  • hardware_model (PhysicalHardwareModel) – The hardware model.

  • max_shots (Optional[int]) – The maximum number of shots allowed for a single task. If None, uses the default from the QatConfig.

run(ir, *args, compiler_config, **kwargs)
class NoMidCircuitMeasurementValidation(model, no_mid_circuit_measurement=None, *args, **kwargs)

Bases: ValidationPass

Validates that there are no mid-circuit measurements by checking that no qubit has an acquire instruction that is later followed by a pulse instruction.

Parameters:
  • model (PhysicalHardwareModel) – The hardware model.

  • no_mid_circuit_measurement (Optional[bool]) – Whether mid-circuit measurements are allowed. If None, uses the default from the QatConfig.

run(ir, *args, **kwargs)
Parameters:

ir (InstructionBuilder) – The intermediate representation (IR) InstructionBuilder.

PydHardwareConfigValidity

alias of HardwareConfigValidity

PydNoMidCircuitMeasurementValidation

alias of NoMidCircuitMeasurementValidation

PydReturnSanitisationValidation

alias of ReturnSanitisationValidation

class ReturnSanitisationValidation

Bases: ValidationPass

Validates that the IR has a Return instruction.

run(ir, *args, **kwargs)
Parameters:

ir (InstructionBuilder) – The list of instructions stored in an InstructionBuilder.