So, You Want to Program Quantum Computers…
September 14, 2016 Nicole Hemsoth
The jury is still out when it comes to how wide-ranging the application set and market potential for quantum computing will be. Optimistic estimates project that in the 2020s it will be a billion-dollar field, while others expect the novelty will wear off and the one company behind the actual production of quantum annealing machines will go bust.
Ultimately, whichever direction the market goes with quantum computing will depend on two things. First, the ability for applications of sufficient value to warrant the cost of quantum systems have to be in place. Second, and connected to that point, is the fact that enough problems can be mapped to these machines—a tricky problem that if not solved, will lead to a limited ecosystem of capabilities and, of course, developers.
There is no doubt D-Wave understands this. The company is getting in front of those challenges by hosting quantum computing programming courses designed to onboard new developers. As one might imagine, however, determining the right background for participants is as nebulous as the future of the quantum computing ecosystem.
As we reported last year in our look at the quantum computing market, Google has acquired a quantum machine from upstart D-Wave and has been playing around with it to see what kinds of problems – particularly search indexing problems – they might be better at solving than conventional binary machines.
D-Wave raised $23.1 million in January from unknown investors, and has received a total of $139 million in funding from a variety of investors, including investment bank Goldman Sachs, In-Q-Tel (the investment arm of the US Central Intelligence Agency), Bezos Expeditions (the investment arm of Amazon.com founder Jeff Bezos), and BDC Capital, Harris & Harris Group, and DFJ. While D-Wave has recently shipped a quantum machine that sports 1,000 quantum bits, or qubits, and is arguably on the bleeding edge of quantum computing.
But with all of this momentum, the time to firm up a base of pros who know what to do with these machines is a strategic imperative. Unlike traditional modes of programming, however, selecting from a base of programmers with defined skills isn’t an option. And as it stands, a background in programming classical computers is less valuable than being able to think in terms of optimization problems versus standard algorithms or programs.
Traditional programming knowledge may not be practically useful, an understanding of quantum physics is helpful, and having the mindset to map complex optimization problems into quantum annealing systems. The challenge is to put those together, says Dr. Pekka Manninen, a senior application scientist at CSC, the Finnish IT Center for Science in Helsinki.
Manninen is one of the organizers of one of the very few courses for programming quantum computers. The course if focused on the D-Wave 2X machine and is taught by D-Wave senior scientist, Edward Dahl and the company’s lead data scientist, Sheir Yarkoni later this year in Finland.
The goal of the course is to offer an understanding of the overall programming model of D-Wave systems and how various optimization problems that can be mapped onto it. Manninen tells The Next Platform that they are expecting “the course will be attended mostly by people working in a related field (quantum physics and quantum information system” which, together with some basic programming skills, should provide sufficient background.”
Manninen says that although it useful to have a background in quantum physics or information fields, “programming a D-Wave 2X doesn’t require a PhD in quantum mechanics because most of the real ‘quantum’ stuff will be hidden from the programmer.” He says that most of the attendees will be “starting from the same level, that is to say, at a level quite different than anyone has been used to.”
“The D-Wave 2X quantum computer uses an adiabatic architecture with niobium flux qubits integrated on silicon wafers. The programming model is error tolerant and allows for native expression of optimization problems stated over boolean variables. This underlying capability allows for the execution of a wide class of optimization problems on the system. The challenge in using this system is to find efficient mappings from the application domain.”
The real focus of the course is not just on understanding how quantum annealing supercomputer works on the ground, but how to turn existing problems into optimizations problems. He explains that “the computational task in mind must be cast in a certain way. All things quantum can happen when the machines finds the answer to this optimization problem and no longer needs (and cannot) be interacted with by the programmer.” However, Manninen says “the programmer controls the mapping of the problem onto the qubits.”
To put this in better context compared to existing systems, think of it this way: With current machines, when we solve an optimization problem we first select the solution algorithm (consider conjugate gradient as an example) and do the arithmetic operations to find the optimal end result. On a quantum system, there are no arithmetic operations; in fact, to perform “simple” arithmetic with it, one has to deploy tricks to cast the operation as an optimization problem.
Naturally, this means there are limited applications for a quantum computer—at least for now. However, Manninen thinks there are ways that teams of developers, once trained, can recast existing scientific problems into optimization problems.
“My hope is that attendees leave with an understanding of the adiabatic (annealing) quantum computer (and understand why it’s not a universal quantum computer) and know what D-Wave’s quantum system is and is capable of, but also its limitations.”
If the thought of traveling to Hoth for a deep dive into quantum computer architecture appeals to you course info is here.