Hardware Configuration

Documentation about configuring tergite-backend

General Configuration

To configure the entire tergite-backend application, we use .env files.

Just copy the dot-env-template.txt to env and update the variables there in.

cp dot-env-template.txt .env

QBLOX Instruments Configuration

We use the quantify-config.example.json as a template for how to configure this application to control the QBLOX instruments that control the quantum computer.

This configuration file uses QBLOX Harware Compilation Configuration format, which can be found here.

Please check the documentation on how to properly create configuration for QBLOX instruments: Quantify documentation

Copy this template for a minimal example configuration with one control module and one readout module connected to microwave and resonator ports appropriately.

cp quantify-config.example.json quantify-config.json

QBLOX Metadata configuration

In addition to QBLOX Hardware Compilation Configuration, you need to provide a metadata for your instrument setup. This is a small template file with a simple structure that is used to describe clusters names, ip_addresses, whether this is a dummy cluster. In addition it is also used to provide a QBLOX module dictionary for a dummy clusters.

However this configuration file has a redundancy with the QBLOX Hardware Compilation Confiugration and might be changed in the future releases.

We use quantify-metadata.yml as a template for providing metadata.

Copy this documented template and you can fill in your cluster’s ip_address and desired configuration.

cp quantify-metadata.example.yml quantify-config.yml

Dummy QBLOX Instrumments

You may wish to run some dummy QBLOX instruments if you don’t have access to the physical QBLOX instruments

You may leave QBLOX Hardware Compilation Configuration the same as a real configuration, and change is_dummy field to True for your dummy cluster in the quantify-metadata.yml
Then you may also need to provide a module dictionary for your dummy cluster in order to successfully compile your dummy schedule.

We already have a preconfigured dummy-quantify-metadata.yml for this in the app/tests/fixtures folder.
As well as corresponding dummy-quantify-config.json for this in the app/tests/fixtures folder.

Copy it to the tergite-backend folder.

cp app/tests/fixtures/dummy-quantify-metadata.yml quantify-metadata.yml

As well as quantify-config.yml

cp app/tests/fixtures/dummy-quantify-config.json quantify-config.json

NOTE: You can find out more about the configuration properties in the executor-config file by visiting the quantify_scheduler docs and the QCoDeS drivers docs.

NOTE: You could choose to use a different name for your quantum executor config file e.g. foobar.json. You however need to explicitly set this name in the .env file QUANTIFY_CONFIG_FILE=foobar.json

NOTE: The same works for quantify metadata file e.g. foobar.yml. You also need to explicitly set this name in the .env file QUANTIFY_METADATA_FILE=foobar.yml

General Backend Configuration

We configure all backends using the backend_config.toml.
We use the backend_config.example.toml as a template.

Backend Configuration Calibrations

Whenever you need to pass calibration values to your backend for example for a pulse-level simulator or a dummy QBLOX backend. You need to also create a calibration.seed.toml file with the pre-configured values. You don’t have to provide this file for a real backend.

We use the calibration.seed.example.toml as a template.

NOTE: You don’t need to pass the .env file, the backend_config.toml file or the quantify-config.json file as well as calibration.seed.toml and quantify-metadata.yml to the start script as these are automatically loaded for you.

Single-Qubit Qiskit Pulse Simulator

You may wish to run a single-qubit simulator.

First update the .env file to contain EXECUTOR_TYPE=qiskit_pulse_1q.

We already have a preconfigured backend_config.simq1.toml for this in the app/tests/fixtures folder.
As well as a preconfigured calibrations qiskit_pulse_1q.seed.toml for this in the app/tests/fixtures folder.

Copy it to your root folder.

# on the root of the project
cp app/tests/fixtures/backend_config.simq1.toml backend_config.toml
# on the root of the project
cp app/tests/fixtures/qiskit_pulse_1q.seed.toml calibration.seed.toml

And run the application.

./start_bcc.sh
Back to top