IonQ
Overview
IonQ offers access to trapped ion quantum computers and simulators, accessible via their IonQ Quantum Cloud Console. This guide describes how to use the system once you have access. For instructions on how to gain access, see our Quantum Access page instead.
IonQ systems
Currently accessible IonQ trapped-ion systems include Harmony (#AQ 9) and Aria (#AQ 25).
IonQ measures overall system size and performance using application-based benchmarking to determine the number of algorithmic qubits, or #AQ. An #AQ of N is roughly defined as the size of the largest circuit you can successfully run with N qubits and N^2 two-qubit gates.
For up-to-date characterization of these systems (including 1Q and 2Q gate error rates, SPAM error rates, dephasing times, and gate times, updated weekly), refer to the Backends tab on the IonQ Cloud Console (requires IonQ login). This information is also available via the IonQ API. More information is also available on IonQ’s website here.
IonQ also provides access to a cloud-based simulator, which can be used with noise models based on Harmony and Aria. The simulator can be accessed and used in the same way as IonQ’s trapped-ion hardware systems.
Connecting
IonQ systems can be accessed directly via the IonQ API, as well as through several different quantum Software Development Kits (SDKs). The IonQ Cloud Console also provides information about IonQ’s quantum systems and user-submitted jobs.
Cloud Access
Users can access information about IonQ’s systems, monitor submitted jobs, and view job results via the IonQ Cloud Console.
Jupyter at OLCF: Access to IonQ systems can also be obtained via OLCF JupyterHub, a web-based interactive computing environment, with any of the Python SDKs listed below.
IonQ API
IonQ’s systems can be accessed directly via their IonQ Cloud Platform API, using curl to submit requests formatted in their language-agnostic JSON circuit representation. The guide How to run your first program on IonQ cloud walks through this process in detail. The complete API documentation is located at docs.ionq.com.
Quantum SDKs
IonQ supports several different quantum software development kits, including:
IonQ’s guides for getting started with each of these frameworks are linked in this list. Additionally, example Jupyter notebooks can be found in their getting-started GitHub repository.
API Keys
Submitting jobs to IonQ’s simulator or hardware requires an IonQ API key, which can be generated from the IonQ Cloud Console. IonQ API keys can only be viewed when they are generated, and IonQ recommends storing each API key locally in an environment variable. Instructions for generating and storing IonQ API keys can be found here.
Running Jobs & Queue Policies
Information on system availability, job status, and usage can be found in the IonQ Cloud Console.
Jobs can be submitted to the IonQ simulator or hardware using the IonQ API or any of the SDKs listed above. Each approach has a slightly different syntax for connecting to the IonQ Cloud Platform and specifying which system to use, as described in the guides and documentation linked above.
Note
A recommended workflow for running on IonQ’s quantum computers is to utilize the simulator first, then run on one of the quantum computers. This is highlighted in the examples.
Allocations & Credit Usage
Usage of IonQ’s trapped-ion hardware systems is recorded in 2-qubit gate equivalents. Usage of IonQ’s cloud simulator, including with hardware-based noise models, is unlimited and requires no credits to use.
Running a job on IonQ hardware requires IonQ Credits. In order to request an IonQ Credit allocation, please adhere to the following policy:
Any request for credits must be submitted by the project Principle Investigator (PI) to help@olcf.ornl.gov
Requests for machine credits must be justified using results from the appropriate simulator to determine the appropriate amount needed. Requests without simulator-based justifications will be denied.
Requests will be evaluated based on the provided technical justification, programmatic efficiency, and machine availability. The effective usage of prior allocations by the project will also be considered.
Users can obtain additional information about their allocation and credit usage by contacting help@olcf.ornl.gov.
Checking System Availability & Capability
The Backends tab on the IonQ Cloud Console shows the status, average time in queue, and applicable characterization data for each QPU and simulator.
Additionally, status.ionq.co provides the most up-to-date information about system status and outages, including more details about historical availability and queue time. Users can also sign up for system status notifications. System status information is also available via the IonQ API.
Additional Resources
IonQ’s Resource Center provides additional docs and guides, as well as examples and case studies, on topics including:
Best practices for using IonQ’s fully-connected trapped-ion hardware
Debiasing and sharpening (IonQ’s default error mitigation technique)
Using IonQ’s hardware-native gate set, including with Qiskit, Cirq, and Pennylane
The Resource Center also includes more in-depth courses with recorded lectures on quantum computing hardware and programming, focused on IonQ’s trapped-ion systems and their applications.