
微软正式推出以Rust重新改写的Azure Quantum开发组件工具包(QDK)1.0,除了性能较旧版QDK提升超过100倍之外,还加入了许多新功能,像是丰富的程序代码编辑生产力功能,而且编辑器也能显示资源使用预估。此外, Azure量子开发组件工具包也集成了Azure Quantum服务,改进Azure云计算量子服务使用体验。
去年微软就曾提到,考量旧版QDK存在平台支持性不够好,且需要安装的全套二进制文件相当庞大等问题,因此开始以Rust重新编写。新的QDK不只执行速度提升超过100倍,安装体积也大幅缩小超过100倍,而且还能够编译成为WebAssembly,可供VS Code和网页使用,或是针对Python编译为原生二进制文件。
微软指出,一旦达到可扩展的量子运算,才能真正体现出量子运算的能力,而Q#程序语言便是针对该目的而设计。Q#以高层次抽象表达量子操作,使得量子运算程序在开发、重构与协作上更容易,而微软在更新QDK的同时,也投资改进现代化Q#编辑器。
Q#编辑器现在加入IntelliSense功能,提供完成列表、自动打开命名空间、悬停资讯、语法和类型检查错误等功能,这些功能都与Rust、C#、TypeScript等强类型语言的开发功能相同。而且这些功能也不仅是直接编辑Q#文件时可以使用,在Jupyter Notebook单元格中编写Q#也可以使用。
QDK还包含了量子模拟器,这是一个量子程序开发的重要工具,能够在VS Code扩展组件和Python组件执行的时候,输出诊断资讯和量子状态。开发者也可以设置中断点、进入和退出操作,并逐行执行程序代码,查看量子和古典状态,此外,也可以执行一些量子特有的功能,像是执行操作的生成伴随(Generated Adjoint),以相反的顺序逐步检查程序中的循环或是操作,就像是将一段程序倒着执行,进而更好地理解和调试量子运算过程。
目前量子计算机的硬件还不够成熟,要充分运用量子运算的优势,需要在真实的硬件上使用逻辑量子位元(Logical Qubit),微软提到,这就像过去古典计算机的发展一样,起初存在着资源限制,像是一台计算机只有16 KB内存的状况,因此程序代码如何能够最大程度地善用硬件,将会是创建应用程序和推进领域发展一个重要问题。
Azure Quantum服务加入了能够估算量子计算资源需求的功能,来解决这个问题,而QDK则可以将这个功能带入到客户端中,使开发人员可以试验与查看程序代码的资源使用。
VS Code中的QDK扩展组件可以让开发者连接Azure订阅中的Quantum工作区,并将Q#程序从编辑器提交给微软的硬件合作伙伴执行,在作业完成后下载结果。而这简化了过去需要切换CLI工具或Python程序代码使用该服务的需求。
微软借由在VS Code for Web预安装QDK扩展组件以及一个虚拟文件系统,预先加载一些常用的量子算法,让开发者现在只要访问VS Code的Azure量子开发游乐场(Playground),就可以在浏览器中立即开始体验Azure量子开发体验与实验,该方法让开发者不需要安装程序,或是访问本机上的任何文件。开发者也可以直接在本地机器中,以VS Code安装QDK扩展组件,如此便可以打开Q#文件,并且开始进行量子程序开发。











