Microsoftは最近、Azure Quantum Development Kit (QDK)の1.0リリースを発表した。従来のQDKを大幅に書き直し、スピード、シンプルさ、開発者向けのブラウザ体験を重視した。QDKの大部分はRustで書き直されており、VS Codeやウェブ用のWebAssemblyとPython用のネイティブバイナリにコンパイルされる。
同社によると、QDKはプラットフォームを問わずインストール可能で、旧バージョンより100倍高速になっている。エディターにはデバッガーとリソース見積もり機能 (Resource Estimator)が含まれ、Azure Quantum Serviceに 統合されている。
QDK extension for VS Codeは、ウェブ版(ブラウザ)で直接、またはマシン上のVS Codeインスタンスを通じてインストールすることで動作する。拡張機能を実行すると、開発者はQ#ファイル(拡張子は.qs)を開いてコーディングを開始できる。
VS CodeインスタンスでQ#をコーディングする(出典:Microsoft Devブログ記事)
Q#エディタには、補完リスト、名前空間の自動オープン、シグネチャヘルプ、ホバー情報、go-to定義、リネーム識別子、構文および型チェックエラー、その他の機能が用意されている。さらに、QDKはデバッガーを提供しており、開発者はブレークポイントの設定、操作のステップイン/アウト、量子状態と古典状態の両方を見ながらコードを進めることができる。
現在の量子ハードウェアは実用的な限界に直面しており、"Noisy Intermediate Scale Quantum "と呼ばれる時代を迎えている。この段階は、量子スーパーコンピューターへのロードマップではレベル1とみなされている。業界はレベル2に向かって進んでおり、実際のハードウェア上で「論理量子ビット」の利用を可能にすることを目指している。量子ビットのタイプ、エラー訂正スキーマ、レイアウトや接続性など、数多くの要素が、論理量子ビットを使用するプログラムが物理的なリソース要件にどのようにマッピングされるかを決定する。過去1年間、MicrosoftはAzure Quantumサービスに、リソース見積もりを支援する数多くの機能を組み込んだ。これらの機能のいくつかは、QDKの現在の1.0リリースで利用可能だ。さらに、同社は量子スタック全体を通して、開発者や研究者のための機能を追加するために投資を続ける予定だ。利用可能な "Calculate Resource Estimates "コマンドは、開発者に様々な量子ビットのタイプやその他のパラメータの見積もりを提供する。
Resource Estimator(出典:Microsoft Devブログ記事)
Resource Estimatorに関するMicrosoft Q#のブログ記事には、次のように書かれている。
アプリケーションの開発、アルゴリズムの研究、言語コンパイラやオプティマイザの設計、新しいエラー訂正コードの作成、より高速で、より小さく、より信頼性の高い量子ビットの研究開発のいずれにおいても、 Resource Estimatorは、理論的または経験的な拡張がスタック全体をどのように改善できるかを評価するのに役立ちます。
最後に、QDK拡張機能により、開発者はVS Codeを通じてAzureサブスクリプションのQuantum Workspaceに 接続できる。開発者はエディタからQ#プログラムをMicrosoftのハードウェアパートナーに直接送信し、ジョブのステータスを確認し、完了したら結果をダウンロードできる。
最後に、QDKとAzure Quantumサービスの詳細については、ドキュメントのランディングページを参照されたい。