HTML conversions sometimes display errors due to content that did not convert correctly from the source. This paper uses the following packages that are not yet supported by the HTML conversion tool. Feedback on these issues are not necessary; they are known and are being worked on.

  • failed: xfp
  • failed: anyfontsize

Authors: achieve the best HTML results from your LaTeX submissions by following these best practices.

License: arXiv.org perpetual non-exclusive license
arXiv:2402.14065v1 [quant-ph] 21 Feb 2024

Shuttling for
Scalable Trapped-Ion Quantum Computers

Daniel Schoenberger1 Stefan Hillmich2 Matthias Brandl3 Robert Wille1,2

1 Chair for Design Automation, Technical University of Munich, Germany
2 Software Competence Center Hagenberg GmbH, Austria
3 Infineon Technologies AG, Germany
[email protected], [email protected], [email protected], [email protected]
https://www.cda.cit.tum.de/research/quantum/
Abstract

Trapped-ion quantum computers exhibit promising potential to provide platforms for high-quality qubits and reliable quantum computation. The Quantum Charge Coupled Device (QCCD) architecture offers a modular solution to enable the realization of scalable quantum computers, paving the way for practical quantum algorithms with large qubit numbers. Within these devices, ions can be shuttled (moved) throughout the trap and through different dedicated zones, e.g., a memory zone for storage and a processing zone for the actual computation. However, due to the decoherence of the ions’ quantum states, the qubits lose their quantum information over time. Thus, the required time steps of shuttling operations should be minimized. In this paper, we propose a heuristic approach to finding an efficient shuttling schedule, which orchestrates the movement operations within the device. Given a quantum algorithm and a device architecture, the proposed algorithm produces shuttling schedules with a close-to-minimal amount of time steps for small-size QCCD architectures. Furthermore, even for large-scale QCCD devices, the empirical evaluation shows promising results with respect to the quality of the solution as well as performance.

Index Terms:
quantum computing, design automation, trapped ions, ion shuttling

I Introduction

Quantum computing as a new paradigm promises to solve certain problems which are computationally intractable on classical computers. Famous examples include Shor’s algorithm to factorize integers [1] and Grover’s search for unstructured data [2], but also problems in quantum chemistry can profit from simulation in an actual quantum computer [3]. The advantage of quantum computing lies in the exploitation of quantum mechanical effects [4], such as superposition, where a quantum state can assume a combination of basis states, and entanglement, where qubits can lose their locality and can no longer be described individually. This potential also led companies to heavily invest in research towards quantum computing, as witnessed by IBM, Alphabet (Google), Microsoft, Rigetti, AQT, Infineon Technologies, and IonQ.

Among the possible physical technologies, such as superconducting quantum computers [5], neutral atom quantum computers [6], and optical quantum computers [7], trapped-ion quantum computers are one of the most promising candidates to show quantum advantage in the foreseeable future [8]. This is due to their ability to scale from smaller modules in an approach termed Quantum Charge Coupled Device (QCCD, [9, 10]). Further, the modules are designated to different zones that serve different purposes, e.g., a memory zone for storage and a processing zone for the actual computation. In this architecture, the qubits are encoded into ions that are trapped by electromagnetic fields. By manipulating these fields, the ions can be moved on the architecture.

However, the scaling of trapped-ion quantum computers requires corresponding tooling support to exploit the full potential. Without proper support, there is the possibility that powerful trapped-ion quantum computers will be available but there will be no means to use that power. Indeed, this holds true for all quantum computing technologies. For ion traps in particular, efficiently moving, i.e., shuttling, the ions on a QCCD architecture is an important problem, since unnecessary movement not only increases the required time but also the likelihood of errors due to decoherence. This makes determining efficient schedules (also referred to as sequences) of the movement paramount for useful computations in trapped-ion quantum computers. First solutions addressing this problem have been proposed, e.g., in [11, 12, 13, 14, 15, 16]. However, the considered architectures are comparatively simple and do not cover a large part of possible QCCD architectures.

In this paper, we propose a heuristic approach to generating an efficient shuttling schedule for a given quantum circuit to be executed on a QCCD architecture. To this end, a two-step approach is proposed: First, the logical qubits in the quantum circuit are mapped to the physical ions in ion chains, i.e., a qubit-ion-map**, and subsequently the sequence of chains is generated. Second, we introduce a graph-based abstraction of the underlying physical hardware that represents linear ion-traps and junctions. Based on this graph, we generate efficient shuttling schedules without conflicts by exploiting cycles in the graph representation. This enables movement on short paths without expensive backtracking to move potentially blocking ion chains out of the way.

Empirical evaluations confirm the efficacy of the proposed approach with a close-to-minimal amount of time steps for small architectures and promising results for larger ones. This includes both the resulting schedule (i.e., the number of time steps required to execute the quantum algorithm) as well as the classical generation of the schedule in the first place. An open-source implementation of the proposed approach is publicly available at https://github.com/cda-tum/mqt-ion-shuttler under the MIT license.

The remainder of this paper is structured as follows: Section II provides background on trapped-ion quantum computers and QCCD architectures. Section III motivates the problem and outlines the general idea of the proposed solution. Section IV details the problem of sequence generation from a given quantum circuit. Section V describes the proposed scheduling approach and the corresponding implementation. Section VI summarizes the obtained results. Finally, Section VII concludes the paper.

II Background

This section provides an overview of trapped-ion quantum computing and the challenges that have to be addressed to realize scalable devices. A potential solution, the Quantum Charge Coupled Device (QCCD) architecture, is explained and the cost of shuttling ions through a device is discussed. For a more comprehensive description of the technology, the interested reader is referred to the provided references.

II-A Trapped-Ion Quantum Computing

Refer to caption
(a) 3D Paul trap
Refer to caption
Refer to caption
(b) 2D surface trap
Figure 1: An illustration of two possible linear trap realizations. A correct combination of radio-frequency (RF) and quasi-static (DC) electric fields produced by control electronics (red and purple) creates a potential that confines the ions (blue).

Trapped-ion quantum computers [17, 18, 19, 13] utilize ions as qubits, where the quantum state of each ion is manipulated using electromagnetic interactions, either in the optical or microwave domain. To this end, ions are isolated and held in a controlled environment by a combination of radio-frequency and quasi-static electric fields. These fields generate an electric potential that confines the ions at a specific location. Within the confines of a trap, multiple ions can be arranged in a chain-like configuration.

Example 1.

A popular type of an ion trap is the Paul trap. Figure 1 sketches realizations of a Paul trap that holds a single ion chain. Ions are held in an electric field generated by radio-frequency (RF, pink) and quasi-static (DC, purple) control elements. The trap can also be fabricated as a two-dimensional surface trap, which we refer to as a single linear trap. In both realizations, ions are illustrated by blue spheres representing three individual ions. This kind of ion chains has been coined ion registers, because they may be used similarly to registers in classical computers. Gate-based quantum computations can be performed on each ion individually, which means that each ion may represent one qubit.

However, while a single trap suffices for smaller quantum computers, as the number of ions increases, the gate speed gate speed Rgatesubscript𝑅gateR_{\textrm{gate}}italic_R start_POSTSUBSCRIPT gate end_POSTSUBSCRIPT decreases approximately as Rgate1Nsimilar-tosubscript𝑅gate1𝑁R_{\textrm{gate}}\sim\frac{1}{\sqrt{N}}italic_R start_POSTSUBSCRIPT gate end_POSTSUBSCRIPT ∼ divide start_ARG 1 end_ARG start_ARG square-root start_ARG italic_N end_ARG end_ARG. Longer gate times give rise to different types of errors, making it challenging to scale to more practical quantum algorithms that require more qubits. As of now, trapped-ion quantum computers have been realized using up to tens of qubits [20].

II-B Quantum Charge Coupled Device Architecture

An intuitive way of addressing these challenges and improving scalability is to build systems with multiple ion chains. In fact, single linear trap sites can be connected to one large trap, which may hold one chain at each site. By exploiting the fact that ions can be physically moved in a trap, such modular architectures allow all-to-all connectivity of the system’s ions. The leading candidate for a modular trap design is called the Quantum Charge Coupled Device (QCCD) architecture [13]. The main idea of the QCCD paradigm revolves around designating specific regions of the trap for specific functionalities. For instance, all quantum operations are performed in a dedicated processing zone that is specifically constructed for efficient qubit operations. The acquired quantum information may then be stored in a memory zone, which is shielded from potential disturbances and sources of decoherence. Further optimized areas may include regions for qubit readout (measurement zone) or ion initialization (loading zone). Linear QCCD architectures have already been realized, e.g., in [19, 10]. A linear system is built from multiple sites, each able to confine one chain, connected in a straight line.

Example 2.

1(a) illustrates the concept of a linear QCCD device. Each site is marked by three control electrodes (purple), which trap the ions and may perform shuttling operations to move an ion register to a neighboring site.

Refer to caption
(a) Linear trap
Refer to caption
(b) QCCD architecture
Figure 2: An illustration of a 2D QCCD architecture and its corresponding graph. A “X”-junction and a linear region are indicated in 1(b).
Refer to caption
(a) Circuit of a quantum Fourier transform 222Rnsubscript𝑅𝑛R_{n}italic_R start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT gates are defined by Rn=(100e2πi/2n)subscript𝑅𝑛matrix100superscript𝑒2𝜋𝑖superscript2𝑛R_{n}=\begin{pmatrix}1&0\\ 0&e^{2\pi i/{2^{n}}}\end{pmatrix}italic_R start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT = ( start_ARG start_ROW start_CELL 1 end_CELL start_CELL 0 end_CELL end_ROW start_ROW start_CELL 0 end_CELL start_CELL italic_e start_POSTSUPERSCRIPT 2 italic_π italic_i / 2 start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT end_CELL end_ROW end_ARG ). All SWAP gates are excluded from the circuit, since in trapped-ion quantum computer, swap operations can be realized by relabeling the ions.
Refer to caption
(b) QCCD device
Refer to caption
(c) Starting configuration

Refer to caption

(d) Compilation steps
Figure 3: Input and intermediate steps for the generation of the shuttling schedule. 2, 2(b), and 2(c) show the necessary input for the proposed approach. In 2(d) the steps of the compilation that generate the final shuttling schedule are displayed.

In linear traps, ion chains may block the way of each other, which would require slow interactions like chain reordering and reconfiguration to resolve this issue. To address this problem, junctions are implemented into the systems, connecting linear regions and forming two-dimensional (2D) architectures. The extension to a second dimension allows ions to avoid the path of other ions without swap** or reconfiguration. Linear regions can be connected in several ways. One may either connect large linear regions with only a small amount of junctions or increase the number of junctions and connect smaller linear regions. Furthermore, the combination of different types of junctions (i.e., termed “T”-, “Y”- or “X”-junctions, where the capital letter is referring to their shape) also changes the layout of the system. A first type of a two-dimensional QCCD device has recently been realized in [21], where a linear trap was connected to form a loop.

Example 3.

1(b) illustrates a QCCD architecture composed of multiple linear traps and “X”-junctions.

The underlying physics allow comparatively fast shuttling through linear traps, however, shuttling through junctions is more difficult and dominates the overall time needed for moving ion chains [22]. Over time (and through the movement), the ions collect energy through the acquisition of phonons [23], resulting in a higher likelihood of errors and decoherence. Therefore, ions must be cooled to or close to the ground state—often by a combination of Doppler and side-band cooling (see [8] for more information) to preserve their quantum information. It still remains challenging to integrate the required optical control elements, especially for large systems. Thus, the overall time needed to execute a quantum algorithm should be minimized.

III Motivation

The role of a compiler for QCCD devices is paramount to ensure the effective shuttling of ions between different system zones. Fundamentally, quantum gates can only be operated in the processing zone. As a consequence, it is essential that qubits on which operations shall be employed are shuttled (moved) through different zones (e.g., from the memory zone where they are stored to the processing zone). The corresponding quantum circuit defines the shuttling sequence of ion chains between the memory and processing zone. Since the possible movement inside the processing zone is immediately given by the architecture, we put the focus of this paper on the movement inside the memory zone and at the interface to the processing zone. This section motivates this process, for which in the remainder of this work, an automatic solution is proposed. At its core, the compiler gets a quantum circuit and the specifics of a QCCD architecture and, then, should produce an optimized shuttling schedule, i.e., a list of movement operations for all ion chains in the system, that may be given to the control electronics of the device. This schedule must orchestrate the movement of ion chains throughout the device to execute the complete circuit. The compilation flow can be broken down into two pivotal problem sets:

  1. 1.

    Qubit-Ion-Map** and Sequence Generation: Given a specific quantum circuit, a QCCD device, and an initial configuration, the first task is to map the qubits of the quantum circuit into a sequence of ion chains. This map** provides a blueprint for the order in which ion chains need to be moved into the processing zone.

  2. 2.

    Shuttle Scheduling: Once the ion chain sequence has been determined, an optimized shuttling schedule has to be generated. This schedule should not only ensure the correct sequence but also aim to minimize the total execution time of the quantum circuit. The compiler must manage the shuttling of ion chains to and from the processing zone as well as the repositioning of other, potentially blocking, ion chains within the memory zone to enable efficient shuttling.

Example 4.

Consider the compilation flow illustrated in the subfigures of Figure 3. As an input, the compiler is given the quantum circuit of the 3333-qubit quantum Fourier transform [4], given in 2, and information about the employed QCCD device, namely the type of architecture and number of ion chains, as well the position of the ion chains at the start of the execution, both illustrated in 2(b) and 2(c), respectively. After processing this input, the compiler generates an optimized shuttling schedule, which directs the movement of ion chains within the QCCD device, ensuring the efficient execution of the quantum circuit. The mentioned two steps needed for the shuttling schedule are also displayed in 2(d).

IV Qubit-Ion-Map** & Sequence Generation

To execute a quantum circuit on a QCCD device, a pivotal preliminary step is the map** of a quantum circuit to a sequence of ion chains. To achieve this, the first step is map** the quantum circuit’s logical qubits to distinct ions within the device, i.e., determining which qubit is represented by which ion. This yields the qubit-ion-map**. In the following, we denote the set of N𝑁Nitalic_N qubits as Q={q0,qN1}𝑄subscript𝑞0subscript𝑞𝑁1Q=\{q_{0},\cdots q_{N-1}\}italic_Q = { italic_q start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , ⋯ italic_q start_POSTSUBSCRIPT italic_N - 1 end_POSTSUBSCRIPT }, the set of L𝐿Litalic_L ion chains as C={c0,cL1}𝐶subscript𝑐0subscript𝑐𝐿1C=\{c_{0},\cdots c_{L-1}\}italic_C = { italic_c start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , ⋯ italic_c start_POSTSUBSCRIPT italic_L - 1 end_POSTSUBSCRIPT } and the set of K𝐾Kitalic_K individual ions within the chains as I={i0,iK1}𝐼subscript𝑖0subscript𝑖𝐾1I=\{i_{0},\cdots i_{K-1}\}italic_I = { italic_i start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , ⋯ italic_i start_POSTSUBSCRIPT italic_K - 1 end_POSTSUBSCRIPT }. For simplicity, our approach entails a direct map** where qubit qjsubscript𝑞𝑗q_{j}italic_q start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT corresponds to ion ijsubscript𝑖𝑗i_{j}italic_i start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT.

Example 5.

Consider again the quantum Fourier transform with three qubits. The corresponding quantum circuit is shown in footnote 2. The proposed map** immediately gives the map** q0i0normal-→subscript𝑞0subscript𝑖0q_{0}\to i_{0}italic_q start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT → italic_i start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT, q1i1normal-→subscript𝑞1subscript𝑖1q_{1}\to i_{1}italic_q start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT → italic_i start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, and q2i2normal-→subscript𝑞2subscript𝑖2q_{2}\to i_{2}italic_q start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT → italic_i start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT.

Refer to caption
(a) Time step 0
Refer to caption
(b) Time step 1
Figure 4: Possible movements over two time steps

After fixing the qubit-ion-map**, the subsequent task consists of deriving a sequence of chains that contain the respective ions of the ion sequence. The sequence of ion chains determines the order in which chains are ultimately required to move into the processing zone. For a given qubit-ion-map**, the construction of the sequence is straightforward. Operations on single qubits always require a single chain in the processing zone, whereas two-qubit operations may require one if the affected qubits are in the same chain, and two otherwise.

Example 6.

Consider again the quantum Fourier transform with three qubits with the qubit-ion-map** in Example 5. One possible starting configuration is given in 2(c) with two ions per chain (i0,i1subscript𝑖0subscript𝑖1i_{0},i_{1}italic_i start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_i start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT in c0subscript𝑐0c_{0}italic_c start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT and i2subscript𝑖2i_{2}italic_i start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT in c1subscript𝑐1c_{1}italic_c start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT). According to these inputs, the derived sequence of chains that have to be shuttled to the processing zone is as follows (corresponding operations are annotated):

[c0𝐻,c0cR2,(c0,c1)cR3,c0𝐻,(c0,c1)cR2,c1𝐻].𝐻subscript𝑐0𝑐subscript𝑅2subscript𝑐0𝑐subscript𝑅3subscript𝑐0subscript𝑐1𝐻subscript𝑐0𝑐subscript𝑅2subscript𝑐0subscript𝑐1𝐻subscript𝑐1\displaystyle[\underset{H}{c_{0}},\underset{cR_{2}}{c_{0}},\underset{cR_{3}}{(% c_{0},c_{1})},\underset{H}{c_{0}},\underset{cR_{2}}{(c_{0},c_{1})},\underset{H% }{c_{1}}].[ underitalic_H start_ARG italic_c start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_ARG , start_UNDERACCENT italic_c italic_R start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_UNDERACCENT start_ARG italic_c start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_ARG , start_UNDERACCENT italic_c italic_R start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT end_UNDERACCENT start_ARG ( italic_c start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_c start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) end_ARG , underitalic_H start_ARG italic_c start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_ARG , start_UNDERACCENT italic_c italic_R start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_UNDERACCENT start_ARG ( italic_c start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_c start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) end_ARG , underitalic_H start_ARG italic_c start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_ARG ] .

This sequence states that, first, the H𝐻Hitalic_H gate on q0subscript𝑞0q_{0}italic_q start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT shall be executed. Accordingly, ion chain c0subscript𝑐0c_{0}italic_c start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT (including q0subscript𝑞0q_{0}italic_q start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT) is shuttled first into the processing zone. Afterward, cR2𝑐subscript𝑅2cR_{2}italic_c italic_R start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT (on q0subscript𝑞0q_{0}italic_q start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT and q1subscript𝑞1q_{1}italic_q start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT) is next to be executed. Since both q0subscript𝑞0q_{0}italic_q start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT and q1subscript𝑞1q_{1}italic_q start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT are in ion chain c0subscript𝑐0c_{0}italic_c start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT, it is sufficient to just shuttle c0subscript𝑐0c_{0}italic_c start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT into the processing zone. However, to execute cR3𝑐subscript𝑅3cR_{3}italic_c italic_R start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT, we need q0subscript𝑞0q_{0}italic_q start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT (which is in ion chain c0subscript𝑐0c_{0}italic_c start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT) and q2subscript𝑞2q_{2}italic_q start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT (which is in ion chain c1subscript𝑐1c_{1}italic_c start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT). Hence, both ion chains need to be shuttled to the processing zone to execute this.

The proposed map** of qjijsubscript𝑞𝑗subscript𝑖𝑗q_{j}\to i_{j}italic_q start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT → italic_i start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT is chosen for its simplicity and to focus on the actual ion shuttling schedule as investigated in the next section. Depending on the capabilities of the underlying hardware and the considered quantum algorithm, other map**s may provide a benefit.

V Cycle-based Shuttle Scheduling

In the second step of the compilation, the sequence of chains has to be converted to a shuttling schedule, that manages the move operations of all ion chains. An efficient shuttling schedule moves ion chains in a way that minimizes the time to execute a given quantum circuit on a trapped-ion device. We propose a solution to construct an efficient shuttling schedule by first abstracting the architecture of a QCCD device as an undirected graph and, afterward, exploiting cycles in that graph to guarantee a conflict-free movement.

V-A Graph Description

To find an appropriate shuttling schedule, we represent the architecture of a memory zone and the interface to the processing zone in a QCCD device as an undirected graph. The edges of the graph represent the individual sites of linear traps (each site holding one ion chain). The nodes represent either junctions (termed major nodes) or connections between sites in one linear trap (termed minor nodes). On this graph, the physically continuous movement of ion chains is discretized into time steps. At every time step, each chain is present at exactly one edge of the graph. With this representation, the task at hand becomes a combinatorial optimization problem.

Refer to caption

(a) Individual
Refer to caption
(b) Cycle
Figure 5: Comparison of individual consideration of ion chains with conflicts and conflict-free movement with cycles
Example 7.

Consider the QCCD architecture in 2(b). All linear regions between two junctions can hold up to three individual ion chains. A corresponding graph is illustrated in Figure 4 where the major nodes (green) form a grid of size 4×4444\times 44 × 4. Minor nodes (black) mark the three individual sites between two junctions. One inbound edge leads to the edge of the processing zone, which is connected back to the memory zone by one outbound edge. The inbound and outbound edge connecting the processing zone to the memory zone in the graph is marked in Figure 4.

On the graph representation, the state of the memory zone is fully described at any time step. At time step zero, each ion chain is located at the edges according to the starting configuration. Given a sequence of ion chains, the next step in the compilation process is to find a schedule of shuttling operations, which efficiently moves ion chains to the processing zone according to the sequence. Moving an ion through a junction takes considerably more time than moving within a linear region. Thus, one time step passes whenever an ion is moved through a junction. While one ion chain is shuttled through a junction all other junctions may shuttle other ions at the same time. This means all junctions can be used in parallel within one time step. An example illustrates the concept.

Example 8.

An ion chain configuration of the memory zone is illustrated in Figure 4. In the naive approach, all chains travel on their shortest path, given they are needed in the processing zone as dictated by the sequence of ion chains. For each chain, the shortest path to the processing zone is indicated in Figure 4.

V-B Cycle-based Shuttling

The defining problem of shuttling arises if an ion chain meets other chains on its path. In a trap filled with multiple ion chains, the shortest path to the processing zone may be blocked, since the chains can not directly swap places in a memory zone. These conflicts have to be resolved by moving the blocking chains away from the paths or changing the path of the moving chains. For an increasing number of ion chains in the system this problem becomes increasingly more difficult to solve exactly.

Example 9.

Consider 4(a), which displays the upper right part of the graph given in Figure Figure 4. When trying to move the ion chains c0subscript𝑐0c_{0}italic_c start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT and c2subscript𝑐2c_{2}italic_c start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT as indicated, additional ion chains are present, which are blocking the shortest paths to the processing zone. The resulting conflicts are indicated, as chain c5subscript𝑐5c_{5}italic_c start_POSTSUBSCRIPT 5 end_POSTSUBSCRIPT (c7subscript𝑐7c_{7}italic_c start_POSTSUBSCRIPT 7 end_POSTSUBSCRIPT) is blocking the way of chain c0subscript𝑐0c_{0}italic_c start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT (c2subscript𝑐2c_{2}italic_c start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT).

To tackle this issue, the topology of the considered modular QCCD architectures offers an intuitive solution: Exploiting cycles. Cycles avoid conflicts and still move chains on their shortest path within the memory zone. On the graph representation, we refer to cycles as connected edges that form closed loops. If we form cycles along the shortest paths of the chains and move every chain one step on that cycle, we can shuttle individual chains along their optimal path while, at the same time, moving blocking chains away from that path. Additionally, because all junctions can be shuttled through in parallel, one turn of all edges on a cycle only takes one time step.

Example 10.

Revisit the conflicts depicted in 4(a). Moving all chains on a cycle around the shown part of the graph, both c0subscript𝑐0c_{0}italic_c start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT and c2subscript𝑐2c_{2}italic_c start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT can move on their respective shortest paths. To do that, we move all chains on that cycle one edge further in the same direction. This is illustrated in 4(b).

V-C Implementation

The concept of cycles works in all QCCD architectures, in which closed loops can be formed. Since cycles may overlap and change the order of chains on their path, we discuss the following approach that resolves this issue for grid-like architectures. These are architectures which are connected only by “X”-junctions, i.e., the angles of all junctions are 90 °times90degree90\text{\,}\mathrm{\SIUnitSymbolDegree}start_ARG 90 end_ARG start_ARG times end_ARG start_ARG ° end_ARG. Then, each face of the graph is a rectangle (i.e., bounded by edges between four major nodes). We start by moving all chains within two junctions as far as possible on their path. Chains then may traverse a junction to reach a neighbor linear region.

Refer to caption
(a) Within the memory zone

Refer to caption

(b) Through processing zone
Figure 6: Cycle construction
Example 11.

One time step is illustrated in Figure 4. In 3(a) all moving chains shuttle within their linear region as far as possible. The resulting configuration is indicated in gray. Following this, all chains next to a junction can traverse this junction, after which one time step has passed.

In case the next edge is blocked by another chain, cycles are formed along the shortest path of the shuttling chains and all chains on the cycle are moved in the same direction. The grid shape of the considered architectures enables straightforwardly constructing cycles since every rectangle of the grid forms a closed loop. Depending on the direction of the desired movement, two different cycles are being constructed.

Example 12.

Since we consider a grid built out of “X”-junctions, a movement through a junction can either be horizontal or vertical. Both moves are exemplified in 5(a). The smallest possible cycle for a vertical move requires exactly one rectangle of the grid (top), while for the horizontal move, the cycle has to be expanded to two rectangles (bottom).

All move operations within the memory zone are covered by these two cycles since the memory zone is a symmetric grid. However, the edge case of constructing a cycle covering the processing zone is undesirable, because this may move neighbor chains into the processing zone unintentionally. This issue is resolved by creating a path through the processing zone towards an unoccupied edge in the memory zone. This way, all chains on that path may move one edge further, which enables specific movement into and out of the processing zone.

The start point for searching for a free edge depends on where the chain is needed after being processed. If the chain is needed in the processing zone again at a later point in time, a breadth-first search starts at the inbound edge, otherwise, we employ the same search starting from the edge with the highest distance to the inbound edge.

Example 13.

Consider the state of the memory zone in 5(b). Chain c0subscript𝑐0c_{0}italic_c start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT is on its way to use the inbound edge to move to the processing zone. The inbound edge is already occupied by c1subscript𝑐1c_{1}italic_c start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT. Given c0subscript𝑐0c_{0}italic_c start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT is not present in the sequence of chains another time, a breadth-first search for a free edge is performed starting from the bottom left corner node, opposite to the inbound edge. The resulting path from the edge of c0subscript𝑐0c_{0}italic_c start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT to the unoccupied edge is indicated in Figure 6.

To ensure that chains arrive in the correct order at the inbound edge, we implement a priority queue on top of the algorithm. Chains only move along their shortest path and potentially form cycles if all chains, which are needed prior to the considered chain, are closer to the inbound edge. In other words, the first chain in the sequence always moves, the second only if it is further away from the inbound edge than the first chain, and so on. Once a chain is processed, the corresponding element is removed from the sequence. Further, cycles may overlap and attempt to move chains in opposite directions. To avoid this, we allow only non-overlap** cycles to move at the same time, prioritized again by the position of the chain within the sequence.

Cycle-based shuttling provides an efficient heuristic to generate schedules even for larger QCCD architectures. The following section evaluates the proposed implementation.

VI Empirical Evaluation

This section provides the results of an evaluation of the proposed approach. To evaluate the implementation, we considered different architectures following a grid structure, i.e., the angles of all junctions are 90 °times90degree90\text{\,}\mathrm{\SIUnitSymbolDegree}start_ARG 90 end_ARG start_ARG times end_ARG start_ARG ° end_ARG. The important properties of the grid-like graphs are described by four values m,n,v,h𝑚𝑛𝑣m,n,v,hitalic_m , italic_n , italic_v , italic_h: The grid is of size m×n𝑚𝑛m\times nitalic_m × italic_n, with m𝑚mitalic_m vertical nodes and n𝑛nitalic_n horizontal nodes. For the architecture, this means at most v𝑣vitalic_v (hhitalic_h) ion chains can be trapped vertically (horizontally) between two junctions. See as an example the {3,3,3,3}3333\{3,3,3,3\}{ 3 , 3 , 3 , 3 }-graph in Figure 4. The grid is further extended by one outbound edge to a processing zone and one inbound edge leading back to the memory grid. Using a random starting configuration of ion chains, we used the proposed approach to determine the number of time steps T^^𝑇\hat{T}over^ start_ARG italic_T end_ARG sufficient to realize a given quantum circuit, i.e., shuttling schedule. All evaluations were conducted on an Apple Macbook Pro with an M1 Pro chip (running at 3.22 GHztimes3.22gigahertz3.22\text{\,}\mathrm{GHz}start_ARG 3.22 end_ARG start_ARG times end_ARG start_ARG roman_GHz end_ARG) and 32 GiBtimes32gibibyte32\text{\,}\mathrm{GiB}start_ARG 32 end_ARG start_ARG times end_ARG start_ARG roman_GiB end_ARG main memory running Python 3.8.10. For the evaluation, we consider two access patterns and four types of architectures. The access patterns are

  • “Full register access” where each ion chain is shuttled to the processing zone once, and

  • “QFT” where the ion chains, each chain containing exactly one ion, are scheduled according to the quantum Fourier transform with the maximum number of qubits possible for smaller architectures and at a maximum of 20202020 qubits for large systems (the precise instance has been taken from MQT Bench [24]).

The different architecture types are described as follows:

  • “Racetrack” which consists of one big ring in which the ion chains can move,

  • “Horizontal Grate” where there are only traps in parallel to the processing zone except for the bordering traps,

  • “Vertical Grate” where there are only traps perpendicular to the processing zone except the bordering traps, and

  • “Grid” which has both parallel and perpendicular traps inside.

Table I summarizes the results of the evaluation. The first group of columns describes the architecture, with the general type, the exact dimensions, and the fraction of occupied edges (sites) to the total number of edges (sites). For every experiment, exactly half of the edges were occupied by ion chains. The second and third groups give the results for the benchmarks “Full register access” and “QFT”, respectively. Here, |S|𝑆|S|| italic_S | is the length of the sequence of chains, T^^𝑇\hat{T}over^ start_ARG italic_T end_ARG is the number of time steps required for the generated shuttling schedule, and tCPUsubscript𝑡CPUt_{\textrm{CPU}}italic_t start_POSTSUBSCRIPT CPU end_POSTSUBSCRIPT is the time taken to generate these shuttling schedules. For small instances of “Full register access”, we also list the minimal number of time steps T^minsubscript^𝑇min\hat{T}_{\textrm{min}}over^ start_ARG italic_T end_ARG start_POSTSUBSCRIPT min end_POSTSUBSCRIPT.

The results show that the proposed approach is capable of generating efficient shuttling schedules for larger ion-trap quantum computers. Compared to the minimal results, obtained by exhaustive search, the proposed heuristic approach performs reasonably well. We expect the gap between the minimal and heuristic solutions to become relatively smaller, as larger architectures offer more potential for finding cycles.

VII Conclusions

TABLE I: Results of the Empirical Evaluation
Architecture Full Register Access QFT
Type m𝑚mitalic_m n𝑛nitalic_n v𝑣vitalic_v hhitalic_h |C|𝐶|C|| italic_C |/|EM|subscript𝐸𝑀|E_{M}|| italic_E start_POSTSUBSCRIPT italic_M end_POSTSUBSCRIPT | |S|𝑆|S|| italic_S | T^^𝑇\hat{T}over^ start_ARG italic_T end_ARG T^minsubscript^𝑇min\hat{T}_{\textrm{min}}over^ start_ARG italic_T end_ARG start_POSTSUBSCRIPT min end_POSTSUBSCRIPT tCPUsubscript𝑡CPUt_{\textrm{CPU}}italic_t start_POSTSUBSCRIPT CPU end_POSTSUBSCRIPT [s] |S|𝑆|S|| italic_S | T^^𝑇\hat{T}over^ start_ARG italic_T end_ARG tCPUsubscript𝑡CPUt_{\textrm{CPU}}italic_t start_POSTSUBSCRIPT CPU end_POSTSUBSCRIPT [s]
[Uncaptioned image] Racetrack 2 2 1 15 6/12 6 15 12 0.00750.00750.00750.0075 36 121 0.2520.2520.2520.252
2 2 1 11 12/24 12 39 21 0.05250.05250.05250.0525 144 818 8.598.598.598.59
2 2 1 19 20/40 20 88 0.2830.2830.2830.283 400 3913 158.6158.6158.6158.6
2 2 1 29 30/60 30 184 1.2731.2731.2731.273 400 6088 410.6410.6410.6410.6
2 2 1 100 101/202 101 1806 158.5158.5158.5158.5 400 20381 3643.53643.53643.53643.5
[Uncaptioned image] Horizontal Grate 4 2 1 1 5/10 5 14 10 0.00470.00470.00470.0047 25 62 0.07380.07380.07380.0738
6 2 1 1 8/16 8 28 15 0.01500.01500.01500.0150 64 173 0.5850.5850.5850.585
8 2 1 1 11/22 11 42 0.03630.03630.03630.0363 121 335 2.5442.5442.5442.544
10 2 1 1 14/28 14 56 0.06830.06830.06830.0683 196 548 7.317.317.317.31
10 2 5 5 70/140 70 616 24.779824.779824.779824.7798 400 2482 200.0200.0200.0200.0
10 2 10 10 140/280 140 2037 658.7658.7658.7658.7 400 3961 955.9955.9955.9955.9
[Uncaptioned image] Vertical Grate 2 4 1 1 5/10 5 13 11 0.00400.00400.00400.0040 25 76 0.1020.1020.1020.102
2 6 1 1 8/16 8 20 14 0.01110.01110.01110.0111 64 250 0.9040.9040.9040.904
2 8 1 1 11/22 11 28 0.02630.02630.02630.0263 121 582 4.5424.5424.5424.542
2 10 1 1 14/28 14 39 0.05110.05110.05110.0511 196 1123 15.6015.6015.6015.60
2 10 5 5 70/140 70 431 18.162018.162018.162018.1620 400 7789 665.4665.4665.4665.4
2 10 10 10 140/280 140 1711 515.0515.0515.0515.0 400 17049 3880.23880.23880.23880.2
[Uncaptioned image] Lattice 3 3 1 1 6/12 6 16 11 0.00640.00640.00640.0064 36 108 0.2080.2080.2080.208
4 4 1 1 12/24 12 30 20 0.0310.0310.0310.031 144 520 5.115.115.115.11
5 5 1 1 20/40 20 46 0.09220.09220.09220.0922 400 1691 58.258.258.258.2
6 6 1 1 30/60 30 68 0.2750.2750.2750.275 400 1911 84.184.184.184.1
10 10 1 1 90/180 90 198 6.4476.4476.4476.447 400 2748 213.5213.5213.5213.5
20 20 1 1 380/760 380 798 860.56860.56860.56860.56 400 4662 4343.04343.04343.04343.0
5 5 10 10 200/400 200 2531 1748.261748.261748.261748.26 400 5881 3343.03343.03343.03343.0

Trapped-ion quantum computers provide a modular design that promises good scalability with QCCD architectures. Still, efficient classical design tools are required to tap into this potential. In this paper, we proposed such a tool for generating efficient shuttling schedules. To this end, we translate a given quantum circuit in a sequence of ion chains and use a graph-based abstraction of the underlying hardware to discretize the problem of moving ion chains. Further, we exploit the topology for conflict-free shuttling through cycles in the graph. The empirical evaluation confirms that the proposed approach is able to generate efficient shuttling schedules. The corresponding implementation is freely available under the MIT license at https://github.com/cda-tum/mqt-ion-shuttler. Possible future work includes determining more sophisticated sequence generation and initial qubit-ion-map**s.

Acknowledgments

This work was funded under the European Union’s Horizon 2020 research and innovation programme (DA QC, grant agreement No. 101001318 and MILLENION, grant agreement No. 101114305), the State of Upper Austria in the frame of the COMET program, the QuantumReady project (FFG 896217) within Quantum Austria (managed by the FFG), and was part of the Munich Quantum Valley, which is supported by the Bavarian state government with funds from the Hightech Agenda Bayern Plus.

References

  • [1] Peter W. Shor “Algorithms for Quantum Computation: Discrete Logarithms and Factoring” In Symp. on Foundations of Computer Science IEEE Computer Society, 1994, pp. 124–134 DOI: 10.1109/SFCS.1994.365700
  • [2] Lov K. Grover “A Fast Quantum Mechanical Algorithm for Database Search” In Symp. on Theory of Computing ACM, 1996, pp. 212–219 DOI: 10.1145/237814.237866
  • [3] Ryan Babbush et al. “Low-Depth Quantum Simulation of Materials” In Phys. Rev. X 8 American Physical Society, 2018, pp. 011044 DOI: 10.1103/PhysRevX.8.011044
  • [4] Michael A. Nielsen and Isaac L. Chuang “Quantum Computation and Quantum Information (10th Anniversary edition)” Cambridge University Press, 2016
  • [5] John Clarke and Frank K. Wilhelm “Superconducting quantum bits” In Nature 453.7198, 2008, pp. 1031–1042 DOI: 10.1038/nature07128
  • [6] Loïc Henriet et al. “Quantum computing with neutral atoms” In Quantum 4 Verein zur Förderung des Open Access Publizierens in den Quantenwissenschaften, 2020, pp. 327 DOI: 10.22331/q-2020-09-21-327
  • [7] E. Knill, R. Laflamme and G.J. Milburn “A scheme for efficient quantum computation with linear optics” In Nature 409.6816, 2001, pp. 46–52 DOI: 10.1038/35051009
  • [8] Colin D. Bruzewicz, John Chiaverini, Robert McConnell and Jeremy M. Sage “Trapped-ion quantum computing: Progress and challenges” In Applied Physics Reviews 6.2 AIP Publishing, 2019, pp. 021314 DOI: 10.1063/1.5088164
  • [9] D. Kielpinski, C. Monroe and D.J. Wineland “Architecture for a large-scale ion-trap quantum computer” In Nature 417.6890, 2002, pp. 709–711 DOI: 10.1038/nature00784
  • [10] J.M. Pino et al. “Demonstration of the trapped-ion quantum CCD computer architecture” In Nature 592.7853, 2021, pp. 209–213 DOI: 10.1038/s41586-021-03318-4
  • [11] Tobias Schmale et al. “Backend compiler phases for trapped-ion quantum computers” In 2022 IEEE International Conference on Quantum Software (QSW) IEEE, 2022 DOI: 10.1109/qsw55613.2022.00020
  • [12] Jonathan Durandau et al. “Automated Generation of Shuttling Sequences for a Linear Segmented Ion Trap Quantum Computer”, 2022 arXiv:2208.04881 [quant-ph]
  • [13] Prakash Murali, Dripto M. Debroy, Kenneth R. Brown and Margaret Martonosi “Architecting Noisy Intermediate-Scale Trapped Ion Quantum Computers” In International Symposium on Computer Architecture, 2020, pp. 529–542 DOI: 10.1109/ISCA45697.2020.00051
  • [14] Oliver Keszocze, Naser Mohammadzadeh and Robert Wille “Exact Physical Design of Quantum Circuits for Ion-Trap-based Quantum Architectures” In 2021 Design, Automation & Test in Europe Conference & Exhibition (DATE), 2021, pp. 344–349 DOI: 10.23919/DATE51398.2021.9474188
  • [15] Daniel Schoenberger, Stefan Hillmich, Matthias Brandl and Robert Wille “Using Boolean Satisfiability for Exact Shuttling in Trapped-Ion Quantum Computers” In Asia and South-Pacific Design Automation Conf., 2024
  • [16] Ludwig Schmid et al. “Computational Capabilities and Compiler Development for Neutral Atom Quantum Processors: Connecting Tool Developers and Hardware Experts”, 2023 arXiv:2309.08656 [quant-ph]
  • [17] J.I. Cirac and P. Zoller “Quantum Computations with Cold Trapped Ions” In Phys. Rev. Lett. 74 American Physical Society, 1995, pp. 4091–4094 DOI: 10.1103/PhysRevLett.74.4091
  • [18] T.P. Harty et al. “High-Fidelity Preparation, Gates, Memory, and Readout of a Trapped-Ion Quantum Bit” In Phys. Rev. Lett. 113 American Physical Society, 2014, pp. 220501 DOI: 10.1103/PhysRevLett.113.220501
  • [19] Shantanu Debnath et al. “Demonstration of a small programmable quantum computer with atomic qubits” In Nature 536.7614, 2016, pp. 63–66 DOI: 10.1038/nature18648
  • [20] Kenneth R. Brown, John Chiaverini, Jeremy M. Sage and Hartmut Häffner “Materials challenges for trapped-ion quantum computers” In Nature Reviews Materials 6.10, 2021, pp. 892–905 DOI: 10.1038/s41578-021-00292-1
  • [21] S.A. Moses et al. “A Race Track Trapped-Ion Quantum Processor”, 2023 arXiv:2305.03828 [quant-ph]
  • [22] Kenneth Wright et al. “Reliable transport through a microfabricated X-junction surface-electrode ion trap” In New Journal of Physics 15.3 IOP Publishing, 2013, pp. 033004 DOI: 10.1088/1367-2630/15/3/033004
  • [23] Matthias F. Brandl “A Quantum von Neumann Architecture for Large-Scale Quantum Computing” arXiv, 2017 DOI: 10.48550/ARXIV.1702.02583
  • [24] Nils Quetschlich, Lukas Burgholzer and Robert Wille “MQT Bench: Benchmarking Software and Design Automation Tools for Quantum Computing” In Quantum 7 Verein zur Forderung des Open Access Publizierens in den Quantenwissenschaften, 2023, pp. 1062 DOI: 10.22331/q-2023-07-20-1062