Skip to content

FAQs

Dashboard

What happens to the workflow if a task fails?

If a task in a workflow fails, task execution for that qubit stops immediately and no subsequent tasks are run. (Tasks on other qubits will continue to execute.) You can then choose if you want to re-run the workflow or debug the task. For tasks that are prone to failing on the first few attempts, you can enable the retry feature to have them automatically re-executed within the workflow.

How can I debug a failing workflow task?

You can open the task notebook by navigating to the failing task in the workflow run viewer. Any error messages in the notebook should give you a hint as to what went wrong, e.g. qubit not found or a failed analysis. In the case of a failed analysis, you would typically want to reload the data and attempt the analysis with different parameters or a different function.

How do I know how long a workflow run takes?

It's not possible to know in advance how long a workflow will take, but if you've run that specific workflow before, you can calculate how long it took using the STARTED and FINISHED columns in the list of workflow runs. If you're interested in the execution time of a single task, click on it (either in Sequential or Graph view) to see the start and end times.

How do I reload and share data?

To share the results of a task, you first need its unique ID. For a task executed in a workflow, the ID consists of the experiment type, task run ID as a series of alphanumeric characters, and the target qubit name. For example, the ID PulsedSpectroscopy/8861cc7b-9def-4377-b39f-ab4989333510_Q1 corresponds to a Pulsed spectroscopy task on qubit Q1. For tasks executed directly in a notebook, the ID includes only the experiment type and task run ID, e.g. PulsedSpectroscopy/sd8it85tyjv7aiqlfqynbhis.

To find the task ID from a workflow, go to the Experiment Database in the dashboard and locate the experiment you want to share. The ID will be listed in the "ID" row of the "Experiment Details" view.

Experiment IDs from workflows

The experiment ID will be available directly from the workflow view in a future release of QruiseOS.

Your colleague can load the data from a particular task in a Jupyter notebook or Python code by using the load_document method of the Session class (see the API reference):

# Code for creation of the session object not shown
obj = session.load_document('PulsedSpectroscopy/8861cc7b-9def-4377-b39f-ab4989333510_Q1')

The experiment data can now be accessed via the obj.data attribute.

Experiment sharing and KB branches

If you're working on a branch, your colleague has to checkout the same branch as you before loading the document. The reason is that PulsedSpectroscopy/8861cc7b-9def-4377-b39f-ab4989333510_Q1 is only present in your branch. To move to the right branch using the qruise command line tool, your colleague can execute qruise kb checkout <yourbranch> in a terminal.

It's possible to check you're on the correct branch by executing qruise kb branch.

Workflow description

How do I edit the workflow description files?

The workflows are described in flow files (e.g., qruise-flow.yaml). You can edit them in your favourite text editor or use one of the hosted integrated development environments (Visual Studio Code or JupyterLab) available within the QruiseOS platform. You can check out our examples on running workflows for guidance on how to customise them.

How do I specify the QPU for a workflow?

The QPU a workflow runs on is specified via the .QKB.json file, which should be placed in the same directory as the flow definition file. For instance, if you want the flow to run on a QPU named onboarding-chip, the .QKB.json file should be:

{
    "profile": "onboarding-chip"
}

Keep in mind that this file is used by the Qruise software for various purposes and might already exist in your flow directory. In this case, add the line "profile": "onboarding-chip" to it.

The easiest way to ensure that the .QKB.json file exists and has the correct form is to use the Qruise CLI to initialise the flow directory structure.

How do I add a task to/remove a task from a workflow?

To add a task to a workflow, you need to add the task to the directory and qruise-flow.yaml, and update schema.py. This is detailed step by step in our Adding a new task to a workflow user guide. To remove a task, you need to delete it from qruise-flow.yaml. If you only want to add or exclude tasks in specific workflow runs, you can use flags.

Knowledge base

What exactly is inside the knowledge base?

The knowledge base stores knowledge about devices, including hardware information, factory specifications, physical models, estimated and measured values, calibrated instructions, and performance data. This knowledge is modelled as a collection of documents with a list of properties, each one with a name and a value. The property values may be a primitive value (number, string, timestamp, or enumeration), a subdocument, a reference to another document, or a list/set of values. The document structure is defined by a schema, which is stored in the same knowledge base and can be modified by users with the appropriate permissions.

To get a better understanding of the knowledge base, read our getting started guide or try the knowledge_base_overview.ipynb notebook in the 01_overview_single_measurement tutorial.

Can I access the commit history of the knowledge base?

Absolutely! To achieve that, you can use the Qruise CLI. For instance, if you want to show the last 10 commits on your current branch, you can run qruise kb log -l 10. Have a look at the CLI reference for further explanation and examples.

Got a question that isn't answered in our docs or on this page?

Contact us & we'll do our best to help.