On the agenda:
• The fundamental principles of quantum computing
• Quantum vs. conventional HPC computing
• Google, Lockheed Martin, NASA… a few use cases
• Quantum computing in 2025
Interview by Stéphane Bihan and Stacie Loving
Mr Ewald, could you please remind us the fundamental principles of quantum computing and its advantages over “conventional” supercomputing?
Our type of quantum computing isn’t like any HPC computing at all. We do zero floating point operations, the machine has only one instruction, not hundreds like others do. But here’s a way to think about using this machine: if you can construct a problem that is like a three dimensional energy landscape, like the terrain of the Alps, the machine will automatically find the lowest spot, the lowest valley. And it will do about 10,000 solutions in about 1 second and it will give you back 10,000 solutions, some of which may be the same while others will be a sampling of other low spots in that low valley. And then it may find another low valley in another low valley. It’s a probabilistic machine, so it doesn’t give you guaranteed results, but it will give you a sampling of results.
Is it about the same as a genetic algorithm where you explore different combinations and statistically converge toward the most effective?
Yes, that’s a way to think about it. The system works differently, but it’s the same idea in that it gives you a sampling of answers. And I should also say that this machine is like a co-processor, like an NVIDIA co-processor, connected to an HPC machine or maybe a Big Data analytics machine.
The way it works with an HPC machine, for example, is that if you have a problem where you describe this energy landscape, you then have a function on the HPC machine that you want to minimize. You send that function throughout one instruction on the D-Wave machine and it will return, in a second, 10,000 unique solutions back to the HPC machine. The HPC machine can then evaluate those and determine which one is the best.
The machine operates on qubits, which are like bits, but not exactly. They can be superpositions, so they can be a zero or a one, or both simultaneously. When you put this energy landscape on the machine, on the 500 qubits, you specify the values of each qubit and then the interconnection strength between two qubits.
So what you can say is, if this qubit turns out to be a one, then the next qubit should be a one; or you can say if this qubit is a one, the adjacent one shouldn’t be a one or something like that. So it’s a sort of massively parallel computing machine where each processor can only communicate with its nearest neighbors. Qubits can have an influence on others. When this machine solves a problem, it actually looks at two to the 512th solutions. That is a huge, huge number. Each time it evaluates the problem, it looks at a problem space that is 1.34e+154 solutions wide to come back with the one that is the best. So though it only has one instruction, that instruction launches this quantum operation that does what on a traditional computer would take billions of operations. It does it in one operation. That is the way to think about it. It is fundamentally different than what we’re used to and, basically, what our machine does is it natively solves this optimization problem. It tries to go to the lowest energy state and returns that lowest valley in that energy landscape. That’s what it does. It can’t add, it can’t multiply, it doesn’t divide, but it automatically finds the lowest spot or spots on this energy landscape, whereas traditional computers have to add, subtract, divide, multiply, do vectors and other complex things to find the lowest spot.
What would be the typical architecture of a quantum computer in terms of compute units, memory, storage and so on?
Again, it’s quite different. The computer itself is basically a chip the size of your fingernail. That’s all the computer is. It’s more like a CPU and a memory all in one component which integrates, in today’s world, 500 qubits. The first generation had 128 qubits on a slightly smaller chip. The current has 500 qubits and is smaller than my thumbnail. We’re now working on a 1,000- qubit machine in our facilities and it is about the size of my thumbnail. To use these components, you still have to have an HPC machine. You then download the problem onto a D-Wave processor and it will automatically finds these lowest spots on the energy landscape and then returns them. It just does that natively, automatically.
When you say “download the problem onto the quantum machine”, how do you do that?
Let’s think of it simplistically as a two-dimensional grid, onto which we’re putting elevations. For each point on that two-dimensional grid, you give it the value of a qubit and then you give it the interaction to the next one. In other words, you specify 500 qubit values and 1,500 influences between nearest neighbors and then you tell it how many solutions you want. And that’s all you do. That’s the one instruction. So the one instruction has about 2,000 parameters that are specified. This determines the energy landscape and then returns the values of the qubits at the end. What you’re interested in are the lowest energy values.
Is the number of solutions you want about the number of iterations?
You may think of it like incremental iterations but each iteration is actually a complete solution. We can do about 10,000 solutions in a second. People will typically say “I want 100 solutions” or “1,000 solutions” but the machine will find the best solution within 10 iterations. People who are doing sampling, who not only want to know the absolute lowest point in that valley but want to know what that valley looks like, they may ask for 1,000 solutions. No problem, the machine will give them 1,000 solutions. Very quickly.
What is the relationship between logical and physical qubits?
A physical qubit in our case is a superconducting Josephson junction circuit built by D-Wave Systems. It operates at almost absolute zero. In terms of machine layout, a qubit is a loop of this Josephson junction material and we overlap them to make qubits influence other qubits. So those are the physical qubits, superconducting Josephson junction circuits. Each one of which has four to five nearest neighbors, depending where it is. If you’re constructing a map of the United States, and you want to make each color be different for each state, with a qubit representing each state, some states have more than four neighbors, so to enable a state to have more than four neighbors, we create what we call a logical qubit. We say that this qubit and this qubit represent one state and these two qubits be a logical qubit. With this qubit I can therefore have tree neighbors and with this state, I can have three more. Basically, it’s a way to link physical qubits together to act as one qubit.
© HPC Today 2019 - All rights reserved.
Thank you for reading HPC Today.