Inside Microsoft’s quantum computing world

Get ready for a whole new—and very cold—way of developing software

Inside Microsoft’s quantum computing world

Quantum computers are the future, says Microsoft CEO Satya Nadella. And he has put Microsoft’s money where his mouth is, making quantum computing one of the three pillars of Microsoft’s strategy going forward. Along with AI and mixed/augmented reality, it’s an area where Nadella believes that Microsoft can make a significant impact, and where it can differentiate itself from its competition.

But building a quantum computer is hard. Microsoft’s current progress is the result of more than 20 years of research investment, working with universities around the world, mixing pure physics with computer science, and turning experimental ideas into products. There’s a lot of ambition here, with the eventual aim of building scalable quantum computers that anyone can use.

Microsoft’s new approach to quantum computers: Majorana particles

Microsoft’s approach to quantum computing differs from the technologies used by companies like DWave, taking a new approach to creating the qubits, the quantum bits at the heart of the process. Working with university researchers, Microsoft has been exploring use of a new type of particle, the Majorana fermion. Initially proposed in the late 1930s, Marjorana particles have only recently been detected in semiconductor nanowires at very low temperatures.

Compared to other qubit approaches, the Majorana particles used by Microsoft’s quantum computers are more stable and have lower error rates, spreading out the electron state across a topological knot that’s less likely to evaporate when its state is read. This topological approach to quantum computing is something that Nadella calls “a transistor moment for quantum computers.” It might not be the quantum processor, but it’s the first step on that road.

Building a quantum computer: You have to get really cold

Working with a quantum computer is very different from the machines we use today. A bit’s 1s and 0s are replaced by a qubit with a statistical blur of fractionalized electrons that needs interpretation. With qubits temperatures at near absolute zero, another specialised low-temperature (cryogenic) computer is used to program the qubits and read results, working with quantum algorithms to solve complex problems—and promising nearly instantaneous answers to problems that could take thousands, or even millions, of years with a modern supercomputer.

You can think of the relationship between the cryogenic controller and programs running on the ultralow-temperature quantum computer as something akin to how deep-sea divers work on underwater oil rigs. The quantum computer is the well head, isolated from the rest of the world by temperature. That makes the cryogenic control computer the equivalent of a diver’s pressurized diving bell, giving the programs a stepping stone between the normal temperatures of the outside world and the extreme cold of the quantum refrigerator, much like how a diving bell prepares divers for working at extreme depths.

Microsoft’s quantum computers are unlikely to run in your own datacenters. They require specialized refrigerators to chill the qubits, which are built from carefully grown nanowires. Microsoft’s consortium of universities can manufacture each part separately, bringing them together to deliver the current generation of test systems.

How to write quantum code

Microsoft intends to embed its quantum hardware in Azure, running a quantum simulator to help test quantum code before it’s deployed to actual quantum computers. Microsoft is also working on a new language to help developers write quantum code in Visual Studio.

Microsoft Research has already delivered a first cut at a quantum programming environment in Liqui|> (usually referred to as Liquid), a set of tools to simulate a 30-qubit environment on a PC with 32GB of memory. Microsoft says you’ll be able to deploy large quantum simulators with more than 40 qubits in 16TB on Azure, though solving problems of that size will take a long time without the acceleration of a real quantum computer.

Still, with Liquid, you can experiment with key quantum computing concepts using F#, seeing how you’ll build algorithms to handle complex mathematical concepts, as well as understanding how to work with low-level error-correction algorithms.

Microsoft’s new quantum computing language will build on lessons learned with Liquid, but it won’t be based on F#. The language’s name hasn’t been revealed yet, but amusingly some early screenshots of quantum code being edited in Visual Studio appeared to use the same file extension as the classic Quick Basic.

I recently spoke with Krysta Svore, the lead of Microsoft Research ’s Redmond Quantum computing group, which works on building the software side of Microsoft’s planned scalable quantum computer. It’s a fascinating side of the project, taking the low-level quantum algorithms needed to work with experimental hardware and finding ways of generating them from familiar high-level languages. If Svore’s team is successful, you won’t need to know about the quantum computer you’re programming; instead, you’ll write code, publish it to Azure, and run it.

The goal is that you’ll be able to concentrate on your code, not think about the underlying quantum circuitry. For example, instead of building the connections needed to construct a quantum Fourier transform, you’ll call a QFT library, writing additional code to prepare, load, and read data. As Svore notes, many quantum algorithms are hybrids, mixing preprocessing and postprocessing with quantum actions, often using them as part of loops run in a classical supercomputer.

There’s also a role for AI techniques, using machine learning to identify elements of code, understanding where and how they work best.

Developers’ road to Microsoft’s quantum computing

Developers who experiment with Liquid will be able to bring their applications to the new platform, with migration tools to help with the transition. Using the Azure-based quantum simulator should help, because it supports many more qubits than a PC does. It’ll also let you explore working with execution-based parallelism, where you run multiple passes over the same data, rather than the more familiar GPGPU data parallelism model.

You can get a feel for what this means for computing when you consider an 80-qubit operation. Svore notes that a single operation in a quantum computer takes 100ns, no matter how many qubits you have. The same operation in a classical computer would require more particles than in the visible universe, taking longer than the lifetime of the universe. Solving that type of problem in 100ns is a huge leap forward, one that opens new directions for scientific computing.

Microsoft’s quantum computing work is a big bet on the future of computing. Today, it’s a long way from every day use, still in the domain of pure research, even if that research is coming up with promising results.

Where Microsoft’s quantum-computing work really will make a difference is if it can deliver a programming environment that will let us take hard problems and turn them into quantum algorithms quickly and repeatedly, without having to go beyond the familiar world of IDEs and parallel programming constructs. Getting that right will really change the world, in ways we can’t yet imagine.