What is D-Wave's “Pegasus” architecture?

How is D-Wave's Pegasus architecture different from the Chimera architecture?

2 Answers

Pegasus is the first fundamental change in D-Wave's architecture since the D-Wave One.

The D-Wave Two, 2X, and 2000Q all used the "Chimera" architecture, which consisted of unit cells of $K_{4,4}$ graphs. The four generations of D-Wave machines just added more qubits by adding more and more unit cells that were the same.

In Pegasus, the actual structure of the unit cells has fundamentally changed for the first time. Instead of the Chimera graph where each qubit can have at most 6 qubits, the Pegasus graph allows each qubit to couple to 15 other qubits.

A machine has been made already with 680 Pegasus qubits (compare this to 2048 Chimera qubits in the D-Wave 2000Q).

The work was presented by Trevor Lanting of D-Wave, four days ago:

Hope this late contribution won't be a meaningless contribution, but as mentioned in one of the comments above, by using D-Waves version of NetworkX you can visualize the Pegasus network. I have attached a few images here of the Pegasus 2 (P2) and Pegasus 6 (P6) architectures using the D-Wave NetworkX.

The reason that I find Pegasus interesting is that the architecture allows for odd number cycles, and of course the obvious scale up in the maximum degree. The theoretical inability for Chimera to have odd cycles is limiting, but practically it can be approximated using minor embedding techniques and maybe imperfect chimera, but of course, Pegasus overcomes that entirely.

• These are nice illustrations! But what I cannot easily determine from these images, or from the DWAVE presentation linked in the comments to the other answer is the following --- is there a nice mathematical description of the graph structure of the Pegasus architecture? It is clear from your comments that it is not a bipartite graph (a good place to start), and the diagrams suggest that something like a next-nearest-neighbour structure on a square lattice plays some role. But is it possible to more-or-less precisely describe what the vertex and edge sets are? – Niel de Beaudrap Jan 7 at 18:27
• @NieldeBeaudrap Are you asking for the code that generates the list of vertex pairs? – Andrew O Jan 8 at 21:49
• @AndrewO: That would do; though I meant just a simple mathematical specification if one is available, just as $V = \mathbb Z_k \times \mathbb Z_n$, $E = \{ \, \{(a, \! b), (a'\!, \! b') \} \, : \, a, a' \in \mathbb Z_k, \; b, b'\in \mathbb Z_n, \; a' \in \{a{-}1,a,a{+}1 \},\; b' \in \{b{-} 1,b,b{+}1\} \, \}$ specifies a graph parameterised by $n$ and $k$. – Niel de Beaudrap Jan 8 at 22:09
• @NieldeBeaudrap I emailed you some files. Also, it's still has the K44 bipartite cell if you look closely. Each "L" shape is one K44 unit cell. If you have D-Wave's stuff installed you can search for pegasus.py to see how they generate the graph. I have my own hacked together version from when the picture first came out in Oct 2017. – Andrew O Jan 8 at 22:37
• @AndrewO: Thanks for the files. It's nice to know that the 'L cells' are K44s. I also see a recurring pattern of K42s --- between the 'columns' of each L and the left half of the 'row' of the L immediately to the east-south-east of it; and also between the 'rows' of each L and the bottom half of the column of the L immediately to the north-north-west --- arranged in a triangular lattice structure, and some chains of qubits in long rows and columns as well. I'll try to see if I can either find pegasus.py somewhere to dissect the code, or formalise these observations. – Niel de Beaudrap Jan 9 at 10:34