Build Workflow
flowchart TD
ProgramStart(["start"])
Geometry("Geometry or Lattice")
Coupling["Coupling
-----------
rydberg
hyperfine"]
Detuning["detuning"]
Rabi["rabi"]
Amplitude["amplitude"]
Phase["phase"]
SpaceModulation("SpatialModulation
----------------------
uniform
scale
location
")
Waveform{"Waveform
------------
piecewise_linear
piecewise_constant
constant
linear
poly
fn
"}
Options(["Options
---------
assign
batch_assign
args
parallelize
"])
Services(["Services
----------
bloqade
quera
braket"])
QuEraBackends(["Backends
------------
mock
cloud_mock
aquila
device"])
BraketBackends(["Backends
------------
aquila
local_emulator"])
BloqadeBackends(["Backends
------------
python
julia"])
Execution("
Execution hardware only
-------------------------------
run_async()
Hardware and simulation
-------------------------------
run()
__call__")
ProgramStart -->|add_position| Geometry;
Geometry --> Coupling;
ProgramStart --> Coupling;
Coupling --> Detuning;
Coupling --> Rabi;
Rabi --> Amplitude;
Rabi --> Phase;
Detuning --> SpaceModulation;
Amplitude --> SpaceModulation;
Phase --> SpaceModulation;
SpaceModulation --> Waveform;
Waveform --> Coupling;
Waveform --> Services;
Waveform --> Options;
Options --> Services;
Services -->|quera| QuEraBackends;
Services -->|braket| BraketBackends;
Services -->|bloqade| BloqadeBackends;
QuEraBackends --> Execution;
BraketBackends --> Execution;
BloqadeBackends --> Execution;
click ProgramStart "../bloqade/#bloqade.start";
click Geometry "../bloqade/atom_arrangement/";
click Coupling "../bloqade/builder/drive/";
click Detuning "../bloqade/builder/field/#bloqade.builder.field.Detuning";
click Rabi "../bloqade/builder/field/#bloqade.builder.field.Rabi";
click Amplitude "../bloqade/builder/field/#bloqade.builder.field.Amplitude";
click Phase "../bloqade/builder/field/#bloqade.builder.field.Phase";
click SpaceModulation "../bloqade/builder/spatial/";
click Waveform "../bloqade/builder/waveform/";
click Options "../bloqade/builder/pragmas/";
click Services "../bloqade/builder/backend/";
click QuEraBackends "../bloqade/builder/backend/quera/#bloqade.builder.backend.quera.QuEraDeviceRoute";
click BraketBackends "../bloqade/builder/backend/braket/#bloqade.builder.backend.braket.BraketDeviceRoute";
click BloqadeBackends "../bloqade/builder/backend/bloqade/#bloqade.builder.backend.bloqade.BloqadeBackend";
click Execution "../bloqade/ir/routine/braket/#bloqade.ir.routine.braket.BraketRoutine";