Read the affiliate disclosure page to find out how can you help MSPoweruser effortlessly and without spending any money. Read more
Yesterday, Microsoft announced the release of a new Azure Quantum Development Kit (QDK) preview. The existing Azure Quantum Development Kit came with Q#, an open-source, high-level, programming language for developing and running quantum algorithms. Along with the Q#, the existing QDK exposed .NET ecosystem to developers. It was dependent on MSBuild-based project & build system and NuGet package management. Most of the developers working with QDK were not familiar with C#/.NET. Also, the existing QDK had platform specific code making it difficult to run Windows on ARM or Apple Silicon.
To solve these issues, Microsoft decided to rewrite the Azure Quantum Developer Kit to make it easier for developers to develop apps for Quantum-concept based platforms. The new Azure Quantum Development Kit (QDK) preview is written mostly in Rust, and can easily target native binaries for any platform supported by the Rust compiler and build for WebAssembly (via wasm-bindgen) to run in the browser. The new QDK codebase has only three programming languages:
- Rust for the core of the product. This has the ‘batteries included’ benefit of cargo to manage dependencies, builds, testing, etc.
- Python to build & ship packages to PyPI as part of the QDK and use Python for scripting tasks in the repo where practical.
As a result of the above, the new Azure Quantum Development Kit is 100x smaller, 100x faster, available on Windows, Mac, Linux, and the web. And developers can easily setup the environment in minutes. Finally, Microsoft can easily maintain and further develop the new QDK preview. Also, some programs that would take minutes to compile in the existing QDK can be compiled in milliseconds in the new QDK.
From now on, Microsoft will focus on adding the following features to the new QDK preview:
- Multi-file support: For this preview all code for a Q# program needs to be in one source file. (With Q#, you can simply ‘concat’ source files together if need be).
- Richer QIR support: This preview currently can compile programs for hardware that supports the QIR base-profile which, as the name suggests, provides for a basic level of capabilities. With some hardware starting to support more advanced capabilities (currently being specified in the QIR Adaptive Profile), we will be adding support for that also. (Note that running in the simulator isn’t restricted to these profiles and can run any Q# code).
- Migration: Being not entirely backwards compatible with the existing QDK, we also have a lot of work to do on updating samples & documentation.
You can download the new Azure Quantum Developer Kit here.