Tuesday, December 12th 2017

The Future is Quantum: Microsoft Releases Free Preview of Q# Development Kit

So you want to learn how to program a quantum computer. Now, there's a toolkit for that. Microsoft is releasing a free preview version of its Quantum Development Kit, which includes the Q# programming language, a quantum computing simulator and other resources for people who want to start writing applications for a quantum computer. The Q# programming language was built from the ground up specifically for quantum computing.

The Quantum Development Kit, which Microsoft first announced at its Ignite conference in September, is designed for developers who are eager to learn how to program on quantum computers whether or not they are experts in the field of quantum physics. It's deeply integrated into Visual Studio, Microsoft's suite of developer tools, so aspects of it will be familiar to people who are already developing applications in other programming languages. And it's designed to work with a local quantum simulator, also released as part of the kit, that can simulate around 30 logical qubits of quantum computing power using a typical laptop computer. That will allow developers to debug quantum code and test programs on small instances right on their own computers.
For larger-scale quantum challenges, Microsoft also is offering an Azure-based simulator that can simulate more than 40 logical qubits of computing power.

Along with the kit, Microsoft also is making a comprehensive suite of documentation, libraries and sample programs available. That will give people the background they need to start playing around with aspects of computing that are unique to quantum systems, such as quantum teleportation. That's a method of securely sharing information across quantum computing bits, or qubits, that are connected by a quantum state called entanglement.

"The hope is that you play with something like teleportation and you get intrigued," said Krysta Svore, a principal researcher at Microsoft who has led the development of the quantum software and simulator.
The kit will let people create applications that can run right now on the quantum simulator, and those same apps also will eventually work on a topological quantum computer, which Microsoft is in the process of developing for general purpose quantum computing.

"The beauty of it is that this code won't need to change when we plug it into the quantum hardware," Svore said.

From artificial intelligence to climate change
Experts believe quantum computers could allow scientists to address some of the world's toughest challenges, such as world hunger or the dangerous effects of climate change. That's partly because quantum computers will be able to do calculations in hours or even minutes that would take the lifetime of the universe for even the most advanced classical computers in use today.

Quantum computers also are expected to help spur major advances in fields such as artificial intelligence.

For example, many of the current breakthroughs in AI are based in part on machine learning, in which a system is given a set of data and learns from that data to recognize things like words, sounds or objects.


With a quantum computing simulator, Svore said computer scientists are already seeing how they could create quantum algorithms for that type of AI research. In early testing on the simulator, they are seeing how these quantum algorithms could more quickly find more nuanced patterns in data, which could spur major advances in fields such as speech, vision or language recognition.

"It seems like there's a huge amount of potential there, and we're just scratching the surface," Svore said.

Topological quantum computing
The Quantum Development Kit is part of Microsoft's plan to build a robust, full-fledged quantum computing system, which includes everything from the quantum computing hardware to the full software stack. The company's researchers also are working on projects focused on cryptography and security in a quantum computing world.

Microsoft's approach is centered on the development of a topological qubit, a more robust type of qubit that Microsoft's experts believe will provide a better basis for practical, scalable quantum computing.

One big challenge about quantum computing is that qubits are extremely finicky. They need to be stored at very low temperatures, for example, or they might be disturbed and destroyed.

Because they are so finicky, most approaches to building qubits require massive amounts of error correction, or techniques to ensure information is delivered reliably. With a topological qubit, error correction is built right into the physics of the qubit itself. That makes it easier to scale up and deliver reliable results, and to do computations that are orders of magnitude larger than is possible on a classical computer, with fewer qubits than other quantum systems.

It goes without saying that quantum physics is extremely complex, and even some of the smartest people in the world confess that quantum computing is hard for them to understand.

Todd Holmdahl, the corporate vice president in charge of Microsoft's quantum effort, noted that it's up to Microsoft to figure out the quantum physics - and then to deliver tools like the Quantum Development Kit that people without a quantum physics degree can use. The hope is that these tools will make the power of quantum computing accessible to many more people.
"What you're going to see as a developer is the opportunity to tie into tools that you already know well, services you already know well," Holmdahl said. "There will be a twist with quantum computing, but it's our job to make it as easy as possible for the developers who know and love us to be able to use these new tools that could potentially do some things exponentially faster - which means going from a billion years on a classical computer to a couple hours on a quantum computer."

Sources: Microsoft Quantum Development Kit, The Future is Quantum @ Microsoft Blogs
Add your own comment

8 Comments on The Future is Quantum: Microsoft Releases Free Preview of Q# Development Kit

#1
notb
I have to say... fantastic. I've just downloaded it and it's pretty obvious how I'll spend next few weekends.

Now they "only" have to give us a quantum server for actual calculations. :-D
Posted on Reply
#2
R-T-B
notb said:
Now they "only" have to give us a quantum server for actual calculations. :-D
They already have a "quantum Azure" instance they sell that can do 40 qubits, but I have a feeling you're after something more...
Posted on Reply
#3
gmn 17
16TB for 40qbits I want that much RAM in my workstation
Posted on Reply
#4
notb
gmn 17 said:
16TB for 40qbits I want that much RAM in my workstation
Do you, really?
Think about transfer speeds. It's not that easy to actually use 16TB as RAM. Servers have such amounts, but it's either for massive virtualization (shared among hundreds of users and many CPUs) or for in-memory database systems (or RAM-drives).
In a single-user and single-CPU workstation you'd struggle to use as much RAM today simply because of the bandwidth limitation (even if the CPU could address it all).

Quantum computers work differently. You don't upload data to the qubits and you don't read data from them. They kind of fill themselves during calculation and just return the result. :)

BTW: Here we're discussing a quantum SDK - quantum computers being already available (although scarce), but English dictionary in Firefox still marks the word "qubit" as a mistake...
Posted on Reply
#5
Disparia
Oh, I just went quantum!



Too many qubits; didn't wait for it to complete :) I could run some of the tutorials at 16 though, just a couple seconds on that CPU. Time for TR!
Posted on Reply
#6
gmn 17
notb said:
Do you, really?
Think about transfer speeds. It's not that easy to actually use 16TB as RAM. Servers have such amounts, but it's either for massive virtualization (shared among hundreds of users and many CPUs) or for in-memory database systems (or RAM-drives).
In a single-user and single-CPU workstation you'd struggle to use as much RAM today simply because of the bandwidth limitation (even if the CPU could address it all).

Quantum computers work differently. You don't upload data to the qubits and you don't read data from them. They kind of fill themselves during calculation and just return the result. :)

BTW: Here we're discussing a quantum SDK - quantum computers being already available (although scarce), but English dictionary in Firefox still marks the word "qubit" as a mistake...
DDR5 memory should solve that bottleneck
Posted on Reply
#7
notb
gmn 17 said:
DDR5 memory should solve that bottleneck
No, it won't. GDDR5 will be a few times faster. We are talking about 1000x more memory than what current consumer tech is designed for.
It's just too much for typical RAM usage. Even if we already had DDR12 with fast enough transfers, existing CPUs won't push data fast enough.
Posted on Reply
#8
gmn 17
notb said:
Do you, really?
Think about transfer speeds. It's not that easy to actually use 16TB as RAM. Servers have such amounts, but it's either for massive virtualization (shared among hundreds of users and many CPUs) or for in-memory database systems (or RAM-drives).
In a single-user and single-CPU workstation you'd struggle to use as much RAM today simply because of the bandwidth limitation (even if the CPU could address it all).

Quantum computers work differently. You don't upload data to the qubits and you don't read data from them. They kind of fill themselves during calculation and just return the result. :)

BTW: Here we're discussing a quantum SDK - quantum computers being already available (although scarce), but English dictionary in Firefox still marks the word "qubit" as a mistake...
notb said:
Do you, really?
Think about transfer speeds. It's not that easy to actually use 16TB as RAM. Servers have such amounts, but it's either for massive virtualization (shared among hundreds of users and many CPUs) or for in-memory database systems (or RAM-drives).
In a single-user and single-CPU workstation you'd struggle to use as much RAM today simply because of the bandwidth limitation (even if the CPU could address it all).

Quantum computers work differently. You don't upload data to the qubits and you don't read data from them. They kind of fill themselves during calculation and just return the result. :)

BTW: Here we're discussing a quantum SDK - quantum computers being already available (although scarce), but English dictionary in Firefox still marks the word "qubit" as a mistake...
notb said:
No, it won't. GDDR5 will be a few times faster. We are talking about 1000x more memory than what current consumer tech is designed for.
It's just too much for typical RAM usage. Even if we already had DDR12 with fast enough transfers, existing CPUs won't push data fast enough.
notb said:
No, it won't. GDDR5 will be a few times faster. We are talking about 1000x more memory than what current consumer tech is designed for.
It's just too much for typical RAM usage. Even if we already had DDR12 with fast enough transfers, existing CPUs won't push data fast enough.
Good point
Posted on Reply