Advanced Computing Challenge 2: Programming quantum computer software stack

Why is it difficult?

Quantum computers bring a new era of computing with not only new hardware but also a new software stack that controls the hardware. Quantum computing requires a complete renovation of how we think of the software stack. In contrast to classical computing, which revolves around numbers and bits, quantum computing depends on the nature of qubits and their entanglement with other qubits, which is probabilistic. The difference in the fundamental physics of quantum mechanics brings challenges in developing the software abstractions in this domain.

What is the impact?

The development of robust software and abstractions for quantum computing will significantly improve the portability and reliability of quantum computers. The high-level abstractions would allow software developers to work at different stages without bothering much about the intrinsic details of the underlying hardware. It can be adopted by a large community of developers and enable a plethora of new applications that could enjoy the high computing capabilities of quantum machines.