Skip to content

Hardware Capabilities

During program development, it can be quite handy to know what true hardware capabilities are and incorporate that information programmaticaly. Bloqade offers the ability to do this via get_capabilities().

Programmatic Access

get_capabilities() (importable directly from bloqade) returns a QuEraCapabilities object. This object contains all the hardware constraints in Decimal format for the Aquila machine, our publically-accessible QPU on AWS Braket.

An example of using get_capabilities() is presented below:

from bloqade import get_capabilities, piecewise_linear

# get capabilities for Aquila
aquila_capabilities = get_capabilities()

# obtain maximum Rabi frequency as Decimal
max_rabi = aquila_capabilities.capabilities.rydberg.global_.rabi_frequency_max

# use that value in constructing a neat Rabi waveform 
rabi_wf = piecewise_linear(durations = [0.5, 1.0, 0.5], values = [0, max_rabi, max_rabi, 0])

The attribute names for each value have been provided below but will require you to provide the proper prefix like in the example above (e.g. the maximum number of qubits lives under the number_qubits_max attribute which can be navigated to via *your_QuEra_Capabilities_Object*.lattice.number_qubits_max).

Aquila Capabilities

Task

  • Use prefix your_capabilities_object.capabilities.task for:
    • minimum number of shots
    • maximum number of shots
Capability Attribute Value
Minimum Number of Shots number_shots_min 1
Maximum Number of Shots number_shots_max 1000

Lattice Geometry

  • Use prefix your_capabilities_object.capabilities.lattice for:
    • maximum number of qubits
  • Use prefix your_capabilities_object.capabilities.lattice.area for:
    • maximum lattice area width
    • maximum lattice area height
  • Use prefix your_capabilities_object.capabilities.lattice.geometry for:
    • maximum number of sites
    • position resolution
    • minimum radial spacing
    • minimum vertical spacing
Capability Attribute Value
Maximum Number of Qubits number_qubits_max 256
Maximum Lattice Area Width width 75.0 µm
Maximum Lattice Area Height height 76.0 µm
Minimum Radial Spacing between Qubits spacing_radial_min 4.0 µm
Minimum Vertical Spacing between Qubits spacing_vertical_min 4.0 µm
Position Resolution position_resolution 0.1 µm
Maximum Number of Sites number_sites_max 256

Global Rydberg Values

  • Use prefix your_capabilities_object.capabilities.rydberg for:
    • C6 Coefficient
  • Use prefix your_capabilities_object.capabilities.rydberg.global_ for:
    • Everything else related to global (applied to all atom) capabilities
Capability Attribute Value
Rydberg Interaction Constant c6_coefficient 5.42×10⁶ rad/μs × µm⁶
Minimum Rabi Frequency rabi_frequency_min 0.00 rad/μs
Maximum Rabi Frequency rabi_frequency_max 15.8 rad/μs
Rabi Frequency Resolution rabi_frequency_resolution 0.0004 rad/μs
Maximum Rabi Frequency Slew Rate rabi_frequency_slew_rate_max 250.0 rad/µs²
Minimum Detuning detuning_min -125.0 rad/μs
Maximum Detuning detuning_max 125.0 rad/μs
Detuning Resolution detuning_resolution 2.0×10⁻⁷ rad/μs
Maximum Detuning Slew Rate detuning_slew_rate_max 2500.0 rad/µs²
Minimum Phase phase_min -99.0 rad
Maximum Phase phase_max 99.0 rad
Phase Resolution phase_resolution 5.0×10⁻⁷ rad
Minimum Time time_min 0.0 µs
Maximum Time time_max 4.0 µs
Time Resolution time_resolution 0.001 µs
Minimum Δt time_delta_min 0.05 µs

Local Detuning Values

  • Use prefix your_capabilities_object.capabilities.rydberg.local for the following values:
Capability Attribute Value
Maximum Detuning detuning_max 125.0 rad/μs
Minimum Detuning detuning_min 0 rad/μs
Maximum Detuning Slew Rate detuning_slew_rate_max 1256.0 rad/µs²
Maximum Number of Local Detuning Sites number_local_detuning_sites 200
Maximum Site Coefficient site_coefficient_max 1.0
Minimum Site Coefficient site_ceofficient_min 0.0
Minimum Radial Spacing spacing_radial_min 5 µm
Minimum Δt time_delta_min 0.05 μs
Time Resolution time_resolution 0.001 µs