Quantum computers are coming. What about quantum software?
With the rise of quantum hardware providers that make some of their devices available to the public through cloud services, the number of companies working to develop quantum software – tools, algorithms, programming languages and applications – for this innovative technology has increased substantially. So has the complexity of the field and the differences in perspectives and approaches.
Along with developing functional qubits and the hardware technology to support quantum computing, an entire plethora of software components needs to be developed as well. Denise Ruffner, Chief Business Officer at Cambridge Quantum Computing (CQC) and one of the pioneers in the field of quantum computing, is fully aware of the challenges involved.
“Current software won’t apply to quantum computers. If there is a problem that a quantum computer can solve, new software has to be written.”
Working with quantum devices requires a completely new way of thinking, different ways of conceptualizing problems and therefore, different solutions in terms of programming languages, compilers, test programs and optimization tools.
The major providers of full stack quantum solutions already developed programming languages for their computers. Rigetti created Forest, an environment to write and run quantum programs, IBM developed QISKit (Quantum Information Software Kit), Microsoft provides the Quantum Development Kit, Google makes use of Cirq while Xanadu advances Strawberry Fields and Blackbird for their photon-based quantum computer, just to name a few. Besides the aforementioned, there are also multiple organizations and research centers collaborating with hardware providers and developing their own quantum software ecosystem and programming languages (e.g., Q-CTRL, Zapata Computing, etc.)
Since the software is highly dependent on the technology used to build quantum computers, and this technology is still under development, Ruffner mentions that “it is hard to predict which software will be on the lead.”
“I once had a customer who called me and said, ‘I have written the software on Rigetti’s Forest and now I want to run it on Qiskit. Can you send me the software that translates Rigetti’s Forest into Qiskit?’ I replied to him ‘There’s nothing like that. You have to re-write your software in Qiskit.’ It took them six months to do that.”
In order to address this problem, CQC developed a quantum development platform (t|ket⟩™), enabling clients and partners to use their software on different quantum devices and work across multiple platforms.
t|ket⟩™ allows companies to hedge their bets, test several quantum devices and choose the one that provides the best results for the type of problem they want to tackle. Besides the flexibility provided through translating existing software into the one supported by the device, CQC’s development platform also optimizes the algorithms, reducing their length and duration.
This proves to be especially useful when it comes to the noise and error problems inherent to the current NISQ (Noisy Intermediate-Scale Quantum) computers. In current quantum devices, the longer an algorithm runs, the higher its exposure to noise and errors. By reducing its runtime, t|ket⟩™ also allows for improved calculation results.
The field of quantum computing cannot simply build upon the competencies and knowledge derived from classical computing. Moreover, simply writing an algorithm hoping to implement it when the quantum computer comes along is also not feasible.
These algorithms have to go through several validation processes in which problems are reduced to a low complexity level, worked out in a quantum computer and then have the answer validated via a classical computer. The complexity of the problem is then increased, a quantum answer is obtained and it is tested again through a classical algorithm. At some point, the problem becomes so complex that a classical test is not possible anymore, but the trajectory built up to that moment can vouch for the validity of the results obtained via the quantum solution.