Skip to content

bloqade.analog.builder.pragmas.Parallelizable

← Module overview

classParallelizablesource

bloqade.analog.builder.pragmas.Parallelizable

class Parallelizable

methodparallelizesource

bloqade.analog.builder.pragmas.Parallelizable.parallelize

def parallelize(cluster_spacing: LiteralType) -> Parallelize

Parallelize the current problem by duplicating the geometry to utilize all available space/qubits on hardware.

>>> reg = start.add_position((0,0)).rydberg.rabi.uniform.amplitude.constant(1.0, 1.0)
# copy-paste the geometry and waveforms
>>> parallelized_prog = reg.parallelize(24)
  • Next steps:
    • ...parallelize(cluster_spacing).bloqade: select the bloqade local emulator backend
    • ...parallelize(cluster_spacing).braket: select braket local emulator or QuEra hardware on the cloud
    • ...parallelize(cluster_spacing).device(specifier_string): select backend by specifying a string

Parameters

NameTypeDescription
cluster_spacingLiteralTypeSpecifies the spacing between clusters in micrometers.

Returns

ParallelizeParallelize: A new instance of the Parallelize class with the specified cluster spacing.

Raises

TypeDescription
ValueErrorIf the cluster_spacing is not a valid value.

Note

After calling this method, you can choose a backend for emulation or execution. Options include bloqade for a local emulator, braket for a local emulator or QuEra hardware on the cloud, or specifying a device with a string.

source