微軟正式推出以Rust重新改寫的Azure Quantum開發(fā)組件工具包(QDK)1.0,除了性能較舊版QDK提升超過100倍之外,還加入了許多新功能,像是豐富的程序代碼編輯生產(chǎn)力功能,而且編輯器也能顯示資源使用預(yù)估。此外,Azure量子開發(fā)組件工具包也集成了Azure Quantum服務(wù),改進Azure云計算量子服務(wù)使用體驗。
去年微軟就曾提到,考量舊版QDK存在平臺支持性不夠好,且需要安裝的全套二進制文件相當龐大等問題,因此開始以Rust重新編寫。新的QDK不只執(zhí)行速度提升超過100倍,安裝體積也大幅縮小超過100倍,而且還能夠編譯成為WebAssembly,可供VS Code和網(wǎng)頁使用,或是針對Python編譯為原生二進制文件。
微軟指出,一旦達到可擴展的量子運算,才能真正體現(xiàn)出量子運算的能力,而Q#程序語言便是針對該目的而設(shè)計。Q#以高層次抽象表達量子操作,使得量子運算程序在開發(fā)、重構(gòu)與協(xié)作上更容易,而微軟在更新QDK的同時,也投資改進現(xiàn)代化Q#編輯器。
Q#編輯器現(xiàn)在加入IntelliSense功能,提供完成列表、自動打開命名空間、懸停資訊、語法和類型檢查錯誤等功能,這些功能都與Rust、C#、TypeScript等強類型語言的開發(fā)功能相同。而且這些功能也不僅是直接編輯Q#文件時可以使用,在Jupyter Notebook單元格中編寫Q#也可以使用。
QDK還包含了量子模擬器,這是一個量子程序開發(fā)的重要工具,能夠在VS Code擴展組件和Python組件執(zhí)行的時候,輸出診斷資訊和量子狀態(tài)。開發(fā)者也可以設(shè)置中斷點、進入和退出操作,并逐行執(zhí)行程序代碼,查看量子和古典狀態(tài),此外,也可以執(zhí)行一些量子特有的功能,像是執(zhí)行操作的生成伴隨(Generated Adjoint),以相反的順序逐步檢查程序中的循環(huán)或是操作,就像是將一段程序倒著執(zhí)行,進而更好地理解和調(diào)試量子運算過程。
目前量子計算機的硬件還不夠成熟,要充分運用量子運算的優(yōu)勢,需要在真實的硬件上使用邏輯量子位元(Logical Qubit),微軟提到,這就像過去古典計算機的發(fā)展一樣,起初存在著資源限制,像是一臺計算機只有16 KB內(nèi)存的狀況,因此程序代碼如何能夠最大程度地善用硬件,將會是創(chuàng)建應(yīng)用程序和推進領(lǐng)域發(fā)展一個重要問題。
Azure Quantum服務(wù)加入了能夠估算量子計算資源需求的功能,來解決這個問題,而QDK則可以將這個功能帶入到客戶端中,使開發(fā)人員可以試驗與查看程序代碼的資源使用。
VS Code中的QDK擴展組件可以讓開發(fā)者連接Azure訂閱中的Quantum工作區(qū),并將Q#程序從編輯器提交給微軟的硬件合作伙伴執(zhí)行,在作業(yè)完成后下載結(jié)果。而這簡化了過去需要切換CLI工具或Python程序代碼使用該服務(wù)的需求。
微軟借由在VS Code for Web預(yù)安裝QDK擴展組件以及一個虛擬文件系統(tǒng),預(yù)先加載一些常用的量子算法,讓開發(fā)者現(xiàn)在只要訪問VS Code的Azure量子開發(fā)游樂場(Playground),就可以在瀏覽器中立即開始體驗Azure量子開發(fā)體驗與實驗,該方法讓開發(fā)者不需要安裝程序,或是訪問本機上的任何文件。開發(fā)者也可以直接在本地機器中,以VS Code安裝QDK擴展組件,如此便可以打開Q#文件,并且開始進行量子程序開發(fā)。