Multi-Vendor

Amazon Braket

AWS's fully managed quantum computing service. Access IonQ, Rigetti, QuEra, and OQC hardware through a single SDK, alongside free local simulation and managed cloud simulators.

Multi-vendor quantum access from AWS

Amazon Braket, launched in general availability in 2020, is AWS's fully managed quantum computing service. Rather than building its own quantum processor, AWS took a multi-vendor approach: Braket provides a single managed environment to access hardware from IonQ (trapped ion), Rigetti (superconducting), QuEra (neutral atom analog), and OQC (superconducting, UK), plus a suite of managed cloud simulators and a free local simulator included with the SDK.

The Braket Python SDK abstracts provider-specific circuit representations behind a common interface. You define a circuit using Braket gate syntax, choose a device, and submit a task. Under the hood, Braket translates the circuit into each provider's native gate set and handles job management, result retrieval, and logging through CloudWatch. OpenQASM 3 is the standard interchange format, and Rigetti hardware additionally supports OpenPulse for low-level pulse control.

For hybrid quantum-classical workloads, Braket Hybrid Jobs runs the classical outer loop in a managed container (EC2-backed), co-located with quantum task submission, reducing the network round-trip latency between classical optimizer steps and quantum circuit evaluations. PennyLane-Braket integrates Braket hardware as a PennyLane device, making it straightforward to run QML variational circuits with automatic differentiation on real hardware.

Systems and specs at a glance

Specification Value
Hardware providers IonQ, Rigetti, QuEra, OQC (multi-vendor)
Qubit technologies Trapped ion (IonQ), superconducting (Rigetti, OQC), neutral atom (QuEra)
Largest system QuEra Aquila, 256 qubits (analog, neutral atom)
Gate-based systems IonQ Aria (25q), IonQ Forte (36q), Rigetti Aspen-M-3 (79q), OQC Lucy (8q)
Simulators Local (free), SV1 (statevector), DM1 (density matrix), TN1 (tensor network)
Primary SDK Amazon Braket Python SDK
Supported SDKs Braket SDK, PennyLane-Braket, Qiskit-Braket provider
Gate sets Vary by device: Rigetti native gates; IonQ GPi/MS; QuEra analog pulses
OpenQASM support OpenQASM 3; OpenPulse for Rigetti pulse control
Hybrid workloads Braket Hybrid Jobs with managed classical compute

Where Amazon Braket excels

Run your first circuit on Amazon Braket

  1. Install the Braket SDK (no AWS account needed for local simulation)

    pip install amazon-braket-sdk

    The local simulator is included in the SDK and runs on your machine with no AWS credentials required. This is the fastest way to start learning Braket syntax and testing circuits before you need real hardware.

  2. Run a Bell state on the local simulator

    from braket.circuits import Circuit
    from braket.devices import LocalSimulator
    
    device = LocalSimulator()
    
    circ = Circuit()
    circ.h(0)
    circ.cnot(0, 1)
    circ.probability()
    
    task = device.run(circ, shots=1000)
    print(task.result().measurement_probabilities)

    This runs entirely locally. You should see probabilities close to 0.5 for "00" and 0.5 for "11", confirming the Bell state.

  3. Set up AWS credentials for cloud hardware

    # Install the AWS CLI, then run:
    aws configure
    
    # Enter your AWS Access Key ID, Secret Access Key,
    # default region (e.g. us-east-1), and output format.

    To access Braket cloud simulators and real hardware, you need an AWS account with Braket enabled. Create one at aws.amazon.com/braket and enable the service in your chosen region.

  4. Submit to a real device (IonQ Aria)

    from braket.aws import AwsDevice
    from braket.circuits import Circuit
    
    device = AwsDevice("arn:aws:braket:us-east-1::device/qpu/ionq/Aria-1")
    
    circ = Circuit()
    circ.h(0)
    circ.cnot(0, 1)
    
    task = device.run(circ, shots=100)
    print(task.result().measurement_counts)

    Hardware tasks are asynchronous. Call task.result() to block until the job completes. Results are also accessible via the Braket console. Charges apply per task and per shot.

  5. Use PennyLane-Braket for QML workflows

    pip install pennylane-amazon-braket
    
    # Then in Python:
    import pennylane as qml
    
    dev = qml.device("braket.local.qubit", wires=2)
    
    @qml.qnode(dev)
    def circuit(params):
        qml.RY(params[0], wires=0)
        qml.CNOT(wires=[0, 1])
        return qml.expval(qml.PauliZ(0))

    Replace braket.local.qubit with braket.aws.qubit and pass a device ARN to route the same circuit to real hardware. PennyLane handles automatic differentiation for parameter-shift gradients.

Access plans and costs

Braket's local simulator is completely free. Cloud simulators and hardware have per-task and per-shot fees. Most development work can be done locally before committing hardware budget.

Tutorials and reference docs