When Iran recently announced a quantum processing algorithm (Google translation) that would help its military to detect water surface disturbances, the instant response from Western media was one of ridicule, based on the displayed hardware. The hardware in question was the Digilent ZedBoard Zynq-7000 hybrid SoC/FPGA development board, which can be yours for less than $600.
Seems absurd, and the claim about any realistic military use absolutely is. But buried deep, deep down, there may be a tiny kernel of truth: because quantum computers are inherently parallel, FPGAs can make a good fit for small-scale quantum simulations.
Does this mean that the Iranian Navy would be better off simulating quantum circuits on an FPGA board than on a GPU or even a used laptop? Probably not. Will this hardware serve the proposed military application in the forseeable future? Absolutely not! Was this a misleading and ridiculous photo op? Yup. 100%.
But is emulating qubits in FPGA fabric a real thing? Turns out it is! Let’s have a look.
Because classical computers are rather slow at running quantum computing algorithms, an FPGA could have a chance at improving performance for this task, as demonstrated in a 2004 paper by A. U. Khalid et al. (also here as a PDF in the masters-thesis version) as well as in An FPGA-based real quantum computer emulator by Jakub Pilch et al.
In the latter paper, which includes a great overview of the state of the art, Pilch and colleagues summarize this as shifting the processing from time to space — from using slow sequential CPU processing to hardware complexity, using the FPGA’s configurable fabric and inherent parallelism.
What’s the cost? FPGAs have a limited number of cells, and the time-space tradeoff that Pilch et al are making limit them to two qubits. That’s four states. You have more fingers on one hand. By filling up the entire FPGA, they are essentially able to implement a two-bit quantum XOR. So much for real-world military applications.
The less parallel approach taken by Khalid et al allows for nine simulated qubits on the same FPGA, but is dramatically slower and not much more practical. Both papers suggest that the tradeoff between speed and FPGA fabric space looks exponential, so any FPGA simulation will necessarily be very small or very slow, chose one. Indeed, for practical simulations, Google recommends renting a bunch of GPUs instead.
The whole promise of a real quantum computer is that it allows for parallelism and speed, and that’s of course where all classical simulations come up short. And this is why we’re calling BS on the Iranian claims. But we were excited to learn about FPGA-based qubit simulation along the way, and any simulation is great for learning. If you’re interested and you don’t have an FPGA board, you can do it all from the comfort of your web browser, or heck, even an Arduino if you need a prop for the photo op.
Thanks to [Andrew Wilson] for the tip and citations.