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.
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).
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.
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.
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.