1
$\begingroup$

This question is regarding the simulation of qubits, using FPGAs. My question is: how does using FPGAs to simulate qubits help us understand or give us an insight into how quantum computers could be constructed? I know many quantum computation scientists use software to simulated qubits, for example, Matlab and even Python. But I just don't understand why to use FPGAs. I know for a fact that FPGAs are really useful in speeding up processing power and execute processes in parallel.

Is this the sole purpose of using FPGAs or are there other reasons why they are being used in quantum computation simulations?

$\endgroup$
3
  • 3
    $\begingroup$ Where have your heard or read that we use FPGA's to simulate qubits? Please provide a reference. I've been in the field for a while and haven't heard of simulating qubits on an FPGA, so I'm puzzled by this question. $\endgroup$
    – DanielSank
    Nov 22, 2018 at 18:38
  • $\begingroup$ @DanielSank Lookup these papers: 1.) FPGA Emulation of Quantum Circuits by Ahmed Usman Khalid 2.) FPGA Quantum Computing Emulator Using High Level Design Tools by Agustin Silva and Omar Gustavo Zabaleta 3.) A space-efficient quantum computer simulator suitable for high-speed FPGA implementation by Michael P. Frank, Liviu Oniciuc, Uwe H.Meyer-Baese, Irinel Chiorescu. These are some of the papers that I have come across that talk about this. Like I said before, I don’t fully understand the benefit of doing this, the only reason I could see why would the speed-up of simulations. $\endgroup$ Nov 24, 2018 at 5:27
  • $\begingroup$ check out link.springer.com/article/10.1007/s10825-018-1287-5 $\endgroup$
    – Jon B
    May 14, 2019 at 1:35

1 Answer 1

2
$\begingroup$

(Old question but I'm answering as this topic is on my mind at the moment)

There are a few parts to the question.

Firstly - how do simulations help build quantum computers?

This happens at many levels. Simulating abstract qubits allows developers to test their algorithms without hardware, so that the precious time on real hardware can be used effectively. Techniques to optimise circuits and interpret their results can be developed this way, and then scaled to more qubits than can be simulated. Advanced qubit simulations include some noise effects, so that the effect on the quality of results can be quantified, and mitigation techniques developed. Modelling and extending this to simulating the physics of a particular implementation of qubits, and their control systems, is pretty much necessary to develop the techniques and software required. Even just initialising and reading out qubits is hard, and relies on very detailed knowledge of the physics of the system.
Also note you can't just stick a debug statement into the middle of a quantum circuit - to know the intermediate state, or to separate noise effects from init/readout (SPAM*), gates and environmental requires simulation.

Secondly, implied - what are the limitations on simulating quantum computers?

To represent the intermediate states of qubits requires matrices of 2^n floating-point numbers where n is the number of qubits. Matrix and vector operations on these represent gates and transitions. They can also be represented as tensor networks. Physical simulations require solving equations which also scale massively with the number of parameters. General purpose CPUs struggle to simulate more than a few qubits as the memory required for these data structures and the number of operations to modify them grows so exponentially fast. A very basic simulation of a 20 qubit circuit can be done on a desktop in slow time, minutes to hours, but 20-30 noisy qubits or 50 simple qubits requires a sizeable supercomputer.

Third - how do FPGAs help?

It's not just FPGAs - any accelerator which handles matrix operations or tensor operations efficiently (in less than exponential time) has a huge advantage over a CPU. Most of the chips marketed for "AI", "NN" and "ML" acceleration can be used, and GPUs which can do computing are reasonably good too. All of these accelerators can simulate quantum circuits (up to a certain size) in almost linear time. An FPGA can be used to implement a similar style matrix or tensor accelerator core - using many distributed memory and logic/arithmetic blocks to perform many operations and data transfers in parallel (and deeply pipelined). The first reference below claims 5 qubits in microseconds on a hobby-grade FPGA, which should scale to at least 11 (possibly 20 or more) on a large FPGA. FPGAs aren't just FPGAs anymore though, some FPGA based SoCs now have dedicated matrix acceleration engines too (AMD/Xilinx Versal), or features which allow the distrubuted memory and arithmetic to implement matrix engines more efficiently (Intel/Altera, Achronix, Efinex, Flex, ...)
FPGAs are chosen for this type of acceleration application when it is necessary to have a device that can be reprogrammed with improved algorithms or different parameters (matrix size/no of qubits), but better performance per watt than GPUs or CPUs.

References:

Accelerating Quantum Computing Simulations w_ FPGAs by Joe Meng FPGA Emulation of Quantum Circuits by Ahmed Usman Khalid FPGA Quantum Computing Emulator Using High Level Design Tools by Agustin Silva and Omar Gustavo Zabaleta A space-efficient quantum computer simulator suitable for high-speed FPGA implementation by Michael P. Frank, Liviu Oniciuc, Uwe H.Meyer-Baese, Irinel Chiorescu.

  • SPAM: not the unwanted email or the food, "State Preparation and Measurement"
$\endgroup$
1
  • $\begingroup$ Hi and welcome! What is your take on Groq FPGAs? Also, why, unlike CPUs and GPUs, FPGAs are not on the Google Compute Platform and perhaps AWS? $\endgroup$
    – MonteNero
    Aug 3, 2022 at 3:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.