In quantum computing, the hardware steals the thunder because it is super cool physics. But the software developer community has also quietly made significant strides in building impressive stacks of open source quantum software.
The summer school for training developers and researchers in IBM’s quantum software development kit (SDK) Qiskit last year saw all the 1,000 slots for India being lapped up in 24 hours. Of the 4,000 global participants, the highest participation was from India. Qiskit, an open source framework to implement quantum algorithms, is much in demand. “When you write code in Qiskit, you are actually writing code in Python,” says Abe Asfaw, global lead of quantum education at IBM Quantum, and Qiskit developer advocate.
A classical computer handles the input and output tasks for the quantum computer. Qiskit helps write instructions called quantum circuits, which are what run on quantum computers. “While code is ‘compiled’ to zeroes and ones for a classical computer, the quantum circuits get ‘transpiled’ for the quantum machine,” says Asfaw. Transpiling is when you take source code written in one language and transform into another language. Qiskit does that transpiling, sends it over the cloud to the quantum computer, which then interprets the result at phenomenal speed. Both Qiskit and the transpiler are written in Python.
Qiskit has built-in modules for chemistry, physics, finance and machine learning. These modules are a step towards building practical applications. “These modules can help you by automatically creating quantum circuits that would solve your equations,” says Asfaw.
Canadian quantum computing company D-Wave Systems has open sourced their software stack Ocean. “With Ocean SDK and our quantum application environment Leap, you can get started quickly on building applications,” says Murray Thom, VP of software & cloud services at D-Wave.
D-Wave has even opensourced an extension to IBM’s Qiskit plugin to allow users to be able to program on two different types of quantum hardware. “Here, Qiskit users get to compare work on both types of systems. As the technology gets better understood, and the technology stack on top of it with the software abstractions gets fuller and richer, I think there’ll be more opportunities for people to be able to program across different types of quantum computers,” says Thom.
Thom says we would fail quantum computing if everyone working on it ought to be a PhD. “Having a strong base in computer science and mathematics should give developers all the background skills that they need to learn. Like with classical computing, quantum too is going to be an ecosystem of different sets of users like machine learners, physicists, etc,” he says.