We wanted to create a platform where neutral-atoms programming is accessible to everyone. To achieve this, we designed a no-code development platform, the Pulser Studio.
Quantum computing made accessible with our proprietary platforms
Pulser Graphical User Interface
Control software, at the pulse-level, for PASQAL quantum processors
PASQAL's QPUs are programmable using Pulser, an open-source framework for neutral atoms. Pulser gives pulse-level control over the QPUs, allowing users to define their quantum registers with arbitrary geometries and control the evolution of the system with a sequence of laser pulses. A custom emulator running on classical processors is included to reproduce the expected behavior of the hardware. The repository of the software library includes a set of tutorials, addressing some key use cases.
Building Blocks of a Pulser Sequence
Individual trapped atoms are the fundamental elements of any neutral-atom QPU. For each atom, quantum information is encoded in the quantum state describing its excitation. In particular, these atoms can be excited to the Rydberg state, |r⟩, where they strongly interact with neighboring Rydberg atoms – it is through this interaction that entanglement is shared throughout the system.
A Register is simply a set of neutral atoms arranged in a specific configuration. This arrangement is crucial because the strength of the interaction between neighboring Rydberg atoms strongly depends on their distance. Remarkably, neutral-atom QPUs permit the arrangement of its atoms in arbitrary configuration, giving the user an extra degree of control over the system. As such, it is up to the user to choose where each atom will be placed when creating the Register.
Pulses are responsible for driving the coherent transition between two atomic energy levels. They describe the modulation of a signal’s amplitude, frequency, and phase over a finite duration. In particular, the amplitude and frequency correspond to the Rabi frequency and detuning driving the evolution of the quantum state and are depicted as waveforms.
In turn, pulses are allocated to channels. A channel defines:
- The targeted atoms: a channel is Global when it targets the whole Register or Local when it targets an individual atom.
- The basis, which defines the two energy levels addressed by the pulses.
On top of Pulser, PASQAL has developed several “ready-to-run” libraries corresponding to specific use cases (e.g. graph problems), in order to familiarize users with quantum logic.
Low-level control of the system
The firmware PasqOS is our low-level stack to control our QPU. It controls the source of Rubidium atoms, the lasers as well as the optical modules for the generation, cooling, and preparation of the atom arrays. It also controls the lasers and optical modules for the application of sequences of laser pulses required for each configuration, parameterization, and action on individual atoms, while monitoring and reading the status of the array of trapped atoms. It also plays the interface with the hosting computer.