Usage of the backend
Configuring the backend is done by specifying a python dictionary (or loading it from a JSON file) that describes your experimental setup. An example of such a config:
{
"backend": "quantify_scheduler.backends.qblox_backend.hardware_compile",
"cluster0": {
"ref": "internal",
"instrument_type": "Cluster",
"cluster0_module1": {
"instrument_type": "QCM",
"complex_output_0": {
"lo_name": "lo0",
"portclock_configs": [
{
"port": "q4:mw",
"clock": "q4.01"
}
]
}
},
"cluster0_module2": {
"instrument_type": "QCM_RF",
"complex_output_0": {
"portclock_configs": [
{
"port": "q0:mw",
"clock": "q0.01"
},
{
"port": "q5:mw",
"clock": "q5.01"
}
]
},
"complex_output_1": {
"portclock_configs": [
{
"port": "q6:mw",
"clock": "q6.01"
}
]
}
},
"cluster0_module3": {
"instrument_type": "QRM",
"complex_output_0": {
"lo_name": "lo1",
"portclock_configs": [
{
"port": "q4:res",
"clock": "q4.ro"
}
]
}
},
"cluster0_module4": {
"instrument_type": "QRM_RF",
"complex_input_0": {
"portclock_configs": [
{
"port": "q5:res",
"clock": "q5.ro"
}
]
},
"complex_output_0": {
"portclock_configs": [
{
"port": "q0:res",
"clock": "q0.ro"
}
]
}
},
"cluster0_module10": {
"instrument_type": "QCM",
"real_output_0": {
"portclock_configs": [
{
"port": "q0:fl",
"clock": "cl0.baseband"
}
]
},
"real_output_1": {
"portclock_configs": [
{
"port": "q1:fl",
"clock": "cl0.baseband"
}
]
},
"real_output_2": {
"portclock_configs": [
{
"port": "q2:fl",
"clock": "cl0.baseband"
}
]
},
"real_output_3": {
"portclock_configs": [
{
"port": "q3:fl",
"clock": "cl0.baseband"
}
]
}
},
"cluster0_module12": {
"instrument_type": "QCM",
"real_output_0": {
"portclock_configs": [
{
"port": "q4:fl",
"clock": "cl0.baseband"
}
]
}
}
},
"lo0": {
"instrument_type": "LocalOscillator",
"power": 1
},
"lo1": {
"instrument_type": "LocalOscillator",
"power": 1
}
}
Here the entry "backend": "quantify_scheduler.backends.qblox_backend.hardware_compile"
specifies to the scheduler
that we are using the Qblox backend (specifically the hardware_compile()
function).
Apart from the "backend"
, each entry in the dictionary corresponds to a device connected to the setup. In the other sections, we will look at the specific instrument configurations in more detail.