Quantum Computing

Quantum computing leverages the principles of quantum physics to unlock a fundamentally new way to compute. As quantum computers mature, they will integrate with supercomputers to solve some of the world’s hardest computing problems. Today, industries including automotive, pharmaceutical, chemical, and financial services, are exploring quantum computing as an accelerator to traditional supercomputing.

What Is Quantum Computing?

Quantum computing is a paradigm shifting technology that leverages the laws of quantum physics to solve extremely difficult problems. These problems are so hard that their solution on conventional supercomputers would require an impossible amount of resources.

The centerpiece of quantum computing is a quantum bit, or qubit. Classical bits can only exist in a 0 or 1 state, while qubits are able to exist in a so-called superposition of these two states. This means N qubits in superposition hold information about an exponential (2N) number of binary configurations which collectively form a quantum state. The entire quantum state is manipulated when operations are performed on any of the N qubits - suggesting a huge parallelism. However, the use of this capability is nuanced by the fact that reading out information from a quantum state can only be accomplished by measuring a single configuration probabilistically following a calculation.

To usefully take advantage of quantum parallelism, quantum applications must additionally exploit the properties of entanglement and interference.

Quantum Computing Applications

Only certain applications admit quantum algorithms to efficiently solve meaningful problems. But those that do provide solutions that are otherwise impossible with conventional supercomputing alone. 

As such, quantum computing is expected to impact a wide range of industries including defense, energy, logistics, engineering, medicine, finance, and retail. 

Some example use cases include:

  • Simulation of complex chemical systems to guide discovery of new batteries, solar cells, medicines, and consumer products. 
  • Faster estimation of financial predictions and risk metrics, allowing for more profitable trading and risk management.
  • Optimization of complex systems ranging from global supply chains to genetics. 
  • Offensive and defensive cryptographic capabilities that change the landscape of cyber defense and national security.
  • Novel AI procedures that pull out deeper insights from data and provide more reliable predictions for decision makers.

Quantum computing requirements for these applications are highly variable. As such, some industries are expected to find utility in quantum computing earlier than others. Chemical and materials applications are anticipated to see the first benefits with early generation quantum devices, whilst other areas will require larger, later-generation quantum computers.

Government, academia, and industry are making a considerable effort to identify the most impactful use cases and build new quantum algorithms to address them. It remains the objective of quantum applications researchers to discover more applications delivering a “quantum advantage”. The most valuable applications of quantum computing are likely yet to be discovered.

What is a Quantum Computer?

A quantum computer is a device able to isolate and manipulate qubits - physical objects with controllable quantum properties . Manipulating qubits for quantum computation requires advanced engineering and state of the art auxiliary supercomputing infrastructure. A quantum processing unit, or QPU, is a device allowing careful interactions with multiple qubits, often achieved through methods such as electrical, microwave, RF or laser pulses. 

There are many candidate physical objects for building qubits. Examples include superconducting loops of wire, neutral atoms, trapped ions, electron spins, diamond nitrogen vacancies, photons, or other exotic materials. Each type of qubit comes with its own advantages and disadvantages. For example, some qubit types need to be cooled to near absolute zero, requiring the use of special cryogenic equipment like dilution refrigerators. Others require an ultra-high vacuum to protect the delicate state of the qubits from external environmental noise.

Qubits require careful isolation from the environment so that their quantum nature remains intact and uncorrupted from the slightest environmental disturbance. This is achieved by a piece of conventional electrical hardware (a control system) which must be capable of manipulating qubits and reading out information from them during an algorithm. Critical to this control system is a conventional supercomputer for coordinating control operations, correcting errors, and analyzing output from the QPU. Some applications are also inherently hybrid - meaning that they need to leverage both a conventional computer and QPU as part of their higher-level workflow. 

The key challenge for hardware developers is designing a quantum computing system wherein its operational components can scale to accommodate larger computations, whilst still ensuring qubits are protected and controllable.

Quantum Computing Programming

Quantum programs are generally written in a familiar language like Python or C++ using a quantum development framework. Most frameworks allow users to specify fundamental quantum operations (gates). Some take a more functional approach and also allow users to specify high-level kernels (sometimes referred to as ‘oracles’) Such kernels encapsulate the large arrangements of gates needed to perform higher-level functionality - meaning that a programmer does not need to worry about gate-level details. Programs are often visually represented as quantum circuits composing gates or common kernels.

To run such a program on a quantum computer it must be compiled so the abstract gate-level operations are translated into a set of device specific instructions. This compilation task is performed using a conventional computer. Different quantum devices have unique compilation requirements and instruction sets, so a good development platform for composing quantum programs should be capable of compiling the same code to the various instruction sets of as many quantum devices as possible, including device-specific optimizations.

Compiled code is executed on a device’s quantum hardware by its control systems. In future, large-scale, quantum computers, this execution stage will also include additional control instructions for implementing quantum error correction (see the next section). Quantum error correction enables large quantum programs to complete without noise corrupting their output.

At the end of a quantum program, the qubits in a QPU undergo readout. In some algorithms the result of this readout is probabilistic - sometimes requiring the algorithm to be repeated multiple times. In most algorithms, readout results need to be post-processed by a classical computer to interpret the data as meaningful solutions. Finding quantum circuits that produce meaningful results using as few qubits and gates as possible is one of the primary challenges of quantum algorithm design.

Quantum Error Correction

Today there are two main approaches to dealing with the noise that makes quantum computing difficult. So-called Noisy Intermediate Scale (NISQ) devices do not attempt to correct noise, but rather try to work within the severe limitations it poses. Fault-tolerant quantum computers (FTQCs) on the other hand actively implement quantum error correction protocols which attempt to protect against noise. NISQ devices are incapable of running algorithms with many qubits or gate operations, since noise quickly accumulates. It is debatable whether any useful application can run under the constraints of NISQ devices, though researchers continue to search for such algorithms.

Though more technologically difficult to achieve, FTQCs are the “holy-grail” of the entire quantum ecosystem. Unlike NISQ, useful applications are known to exist for FTQC devices, leading to a widespread belief that fault tolerance is a requirement for any quantum computer to be of utility. FTQCs circumvent noise using quantum error correction (QEC). QEC employs error-correcting codes to map many noisy physical qubits to a single, noiseless, logical qubit. Similarly, logical operations can be designed to act on these encoded logical qubits. A key element of quantum error correction codes is the repeated measurement of qubits, generating information that allows a conventional computer to “decode” where errors have occurred and then account for them.

Implementing QEC is challenging. Firstly, for QEC to work at all, the noise in quantum hardware needs to be below some ‘threshold’ error rate. Secondly, QEC codes require many physical qubits to encode a single logical qubit (the exact amount depends on the particular noise constraints of hardware and the code used) Finally, QEC codes need to run repeatedly in ‘code cycles’. Data continually produced by a QEC code must be processed by a conventional computer within narrow time constraints - to avoid a degrading backlog. This requires the use of state-of-the-art supercomputers, tightly coupled to a QPU. Researchers are still identifying QEC codes and optimal fault-tolerant implementations of algorithms that minimize hardware overheads.

Quantum Supercomputing

A good mental picture for the physical size of a quantum computer is a supercomputing center The auxiliary components of a quantum computer used to shield the qubits, cool the qubits, and send control pulses are large and need to be in order to operate with precision on such small systems. Quantum computers are also designed to target specific sorts of problems and would actually be inefficient for many tasks you would perform on your laptop. This means quantum computers will be accelerators to the large-scale problems supercomputers already target and naturally become a permanent fixture of the data center.

Not only will quantum computers enable supercomputers to solve problems never before possible, but quantum computers will rely on supercomputers to operate. This reciprocal relationship is known as quantum accelerated supercomputing. Because quantum computers will need supercomputers to enable compilation, control procedures, error correction, calibration, post-processing, and many other tasks, they will always be closely coupled to supercomputers. For certain tasks, low latency is critical so the quantum and classical processors will need to be in close proximity. Supercomputing centers across the world are already starting to integrate QPUs, and are being used to research all aspects of hybrid quantum-classical computing.

Quantum Computer Simulation

Simulation is an invaluable design tool for building any complicated system. For every chip built by NVIDIA, simulation is key throughout the development process - enabling shorter and more cost-effective development cycles. This is even more true for quantum computing hardware, involving cutting-edge components that can only be understood through a deep understanding of their underlying physics. Many quantum components also leverage exotic or under-explored materials, for which experimentation is prohibitively difficult or expensive, making simulations indispensable.

Simulation is also key in the development and testing of quantum algorithms, allowing algorithm performance to be estimated. This is particularly valuable as quantum computers are in limited supply, noisy, constrained and expensive to access - meaning that testing on physical hardware is impractical or impossible. Simulations can model noise in a realistic device, or provide idealistic, noiseless results. This kind of theoretical data provides important benchmarks for assessing actual quantum computation outputs and can help understand noise patterns, even suggesting ways to avoid them. 

Importantly, hands-on educational content for quantum programming is making powerful simulation tools accessible to both established and new developers and scientists.

AI and Quantum Computing

Quantum computing and AI are expected to have a synergistic relationship. On the one hand quantum computing is hoped to accelerate AI applications and perhaps even generate entirely new ones. Many of these kinds of applications are broadly classified as quantum machine learning (QML). QML is a nascent field, and useful quantum algorithms known to improve on conventional AI currently require hardware expected to be many generations beyond the first useful quantum computers. 

However, the converse - using AI to improve quantum computing (often referred to as AI for Quantum) is a much nearer term prospect, and is in fact already being utilized. AI is being used to both help develop and operate quantum computers. New quantum algorithms and hardware performance are both being developed using AI techniques which, in turn, accelerates quantum computing roadmaps. AI is also being employed to solve challenges in how a quantum computer will be operated - including enabling more efficient error correction, calibration, device control, task scheduling, and circuit compilation.

AI is becoming an essential pillar of quantum computing, and a primary motivator for recent integrations of quantum computing hardware with some of the world’s largest supercomputer centers.

Do Quantum Computers Exist?

Quantum computing devices exist that are able to prepare, manipulate and readout hundreds, and soon thousands of qubits. Though the engineering behind these devices is impressively cutting edge, they remain experiments and demonstrations More specifically, current quantum computers are not able to compete with conventional computers when it comes to performing meaningful, useful tasks. 

The term quantum advantage is often loosely used to refer to the point at which quantum computers can outperform their conventional counterparts. However, a more fitting term, championed by the US government, is ‘utility-scale quantum computing’ - which emphasizes the fact that quantum computers must also become the cost-efficient solution in order to be useful. In this case, “cost” is broad and could be any meaningful collection of economic, scientific, societal or environmental considerations.

Current devices cannot yet deliver industry-changing results primarily because their hundreds (or, increasingly, thousands) of qubits are adversely affected by noise. In order to realize utility-scale quantum computing, progress must continue for quantum hardware, error correction, and algorithm development. In tandem, it is important that students, industry professionals, and domain scientists become quantum literate. Now is the perfect time to explore educational content available to practice quantum programming skills and better understand what sorts of problems useful quantum computers will be suited for.


Explore More Resources

Quantum Computing Resources

Want more information on quantum computing? Check out these blogs, videos, and GTC resources.

Next Steps

Explore NVIDIA quantum computing solutions.