Troubleshooting

Job Guidance

Attempting to understand why a job failed or why results are not what was expected can take a lot of time and effort to debug. We outline the practical steps to take when working with Quantinuum Systems. As a reminder of what is outlined in the user guide and code examples on this site, the workflow for submitting on Quantinuum Systems should follow this pattern.

  1. Submit to a Syntax Checker: To avoid time submitting to a quantum computer and waiting in the queue only to find the job failed, use a Syntax Checker first. This is beneficial regardless of whether you plan to use an emulator or quantum computer. Syntax Checkers are online 24/7 and if the circuit has any syntax errors, the error is returned with an indication of what caused the circuit to fail. Once successful, the Syntax Checker also returns the cost in H-System Quantum Credits (HQCs).

  2. Submit to an Emulator: Once a circuit has been checked with the Syntax Checker, next submit to the Emulator. Quantinuum Emulators are also online 24/7. This will allow you to run your circuit and check whether the results returned are what you expect and identify potential circuit design errors on your part before submitting to a quantum computer.

  3. Submit to a Quantum Computer: This is the fun part. Once you’re sure your circuit will run and results are looking like what you expect to get back, submit to a quantum computer.

Check Available Credits

To look at how many credits you have remaining for the month, navigate to the Quantinuum User Portal and click the Account tab. Under Machines, the number of credits remaining is listed for each device type (quantum computer, emulator, syntax checker).

Circuit Failure

Legacy

When you run a circuit, it is possible that you receive a failed status upon completion. The 1000 error returned is a compilation error related to circuit syntax being incorrect. These types of errors can be quickly discovered and fixed by using the Syntax Checkers. Details on the functionality of the Syntax Checkers are found in the Syntax Checker section. Details on the error codes are found in the table below. This is only valid when using pytket-quantinuum and the legacy quantinuum user portal.

Job Failure Codes

Error Code

Description

Possible Resolution

100

Invalid value for parameter results_format

Pass in a supported formatting type (histogram-flat)

1000

Compilation Error

The QASM program provided could not be compiled, see error details for additional information.

1001

Job Processing Error

An error in job processing was detected.

1002

Job cost exceeds allowed cost

Verify that you have sufficient funds to execute the job and have not restricted the max cost allowed.

2000

Execution Error

The job was unable to be executed.

3000

Run-time Error

The job encountered an error while running.

3001

Program size limit exceeded

The job could not be run as it exceeded the target system’s current capabilities.

Unexpected Results

After submitting your circuit to a Quantinuum quantum computer, it is possible that the end results you obtain are not what you expect. As you improve your ability to write and submit complex quantum circuits, it is not surprising that results can be puzzling. At first glance it is easy to think the quantum computer is wrong. The quantum computer only works as well as what it is given. Software code may run and be submitted, but this does not catch user errors in circuit design. After submitting the circuit to the Syntax Checker to ensure the circuit passes, we recommend submitting to a Quantinuum emulator. Quantinuum emulators are online 24/7. This will allow you to retrieve results, without needing to submit and wait for results from a quantum computer. In addition, remember that results from the API are given in little-endian format. As an example of little-endian format, a 3-bit classical register creg with value abc has creg[0]=c, creg[1]=b, and creg[2]=a.

Enable Noiseless Emulation

As a first step, run the emulator with the noise model turned off. An example of how to do this is provided in the code examples on the Quantinuum User Portal. Check that the results returned here are what you would expect without any noise and make sense. If they do not make sense, the error is likely in your circuit design.

Enable Noisy Emulation

Second, turn the noise model back on. Check if the results here are what you expect and make sense in the presence of noise.

Hardware Execution

Once the circuit has been debugged using the emulator, submit to a quantum computer.

If you have questions about results with the Quantinuum Systems, we may be able to provide suggestions on what specifically is happening with the hardware and ask that you contact us directly at QCSupport@quantinuum.com.