compiler_container#
Contains the compiler container class.
Module Contents#
Classes#
| Container class that holds all the compiler objects for the individual instruments. | 
Functions#
| 
 | 
- class CompilerContainer(schedule: quantify_scheduler.Schedule)[source]#
- Container class that holds all the compiler objects for the individual instruments. - This class serves to allow all the possible compilation steps that involve multiple devices at the same time, such as calculating the modulation frequency for a device with a separate local oscillator from a clock that is defined at the schedule level. - It is recommended to construct this object using the - from_hardware_cfgfactory method.- Parameters:
- schedule – The schedule to be compiled. 
 - resources[source]#
- The resources attribute of the schedule. Used for getting the information from the clocks. 
 - clusters: dict[str, quantify_scheduler.backends.qblox.instrument_compilers.ClusterCompiler][source]#
- Cluster compiler instances managed by this container instance. 
 - local_oscillators: dict[str, quantify_scheduler.backends.qblox.instrument_compilers.LocalOscillatorCompiler][source]#
- Local oscillator compiler instances managed by this container instance. 
 - prepare() None[source]#
- Prepares all the instrument compilers contained in the class, by running their respective - preparemethods.
 - property instrument_compilers: dict[str, quantify_scheduler.backends.qblox.compiler_abc.InstrumentCompiler][source]#
- The compilers for the individual instruments. 
 - compile(debug_mode: bool, repetitions: int) dict[str, Any][source]#
- Performs the compilation for all the individual instruments. - Parameters:
- debug_mode – Debug mode can modify the compilation process, so that debugging of the compilation process is easier. 
- repetitions – Amount of times to perform execution of the schedule. 
 
- Returns:
- Dictionary containing all the compiled programs for each instrument. The key refers to the name of the instrument that the program belongs to. 
 
 - _add_cluster(name: str, instrument_cfg: quantify_scheduler.backends.qblox_backend._ClusterCompilationConfig) None[source]#
 - _add_local_oscillator(name: str, instrument_cfg: quantify_scheduler.backends.qblox_backend._LocalOscillatorCompilationConfig) None[source]#
 - classmethod from_hardware_cfg(schedule: quantify_scheduler.Schedule, hardware_cfg: quantify_scheduler.backends.qblox_backend.QbloxHardwareCompilationConfig) CompilerContainer[source]#
- Factory method for the CompilerContainer. This is the preferred way to use the CompilerContainer class. - Parameters:
- schedule – The schedule to pass to the constructor. 
- hardware_cfg – The hardware compilation config. 
 
 
 
- _extract_all_resources(operation: quantify_scheduler.operations.operation.Operation | quantify_scheduler.schedules.schedule.ScheduleBase) dict[str, quantify_scheduler.resources.Resource][source]#