Q# プログラムを実行するさまざまな方法
Azure Quantum には、量子プログラムを記述して実行するためのさまざまな開発オプションが用意されています。 各環境では、Q# プログラミング言語を含む一連のオープンソース ツールである Quantum Development Kit (QDK) が使用されます。 詳細については、「 Q# への導入」を参照してください。
この記事では、各オプションの違いと、ニーズに適したオプションを選択する方法について説明します。
Q# プログラムを実行するためのオプション
Azure Quantum は、次の 3 つの開発環境で利用できます。
- Azure Quantum Web サイト: Copilot を使用して、ブラウザーで Q# コードを記述、実行、説明します。 インストールも Azure アカウントも必要ありません。
- Azure portal: Azure サブスクリプションと Azure Quantum ワークスペースを管理します。ここでは、Jupyter Notebooks で Q# プログラムと Python プログラムを作成して実行できます。 インストールは必要ありません。
- Visual Studio Code: Q# をスタンドアロン プログラムとして使用するか、Python を使用して、ローカル環境で量子コードを記述、実行、デバッグします。 インストールが必要です。
Q# プログラムを実行するために選択するオプションは、コーディングエクスペリエンス、量子知識、目標によって異なります。 各オプションには異なる機能があるため、通常は、Azure portal で量子ワークスペースを管理しながら、VS Code で QDK 拡張機能を使用して Q# プログラムを記述するなど、それらを組み合わせて使用します。 詳細については、後の表を参照してください。
Azure Quantum Web サイト | Azure portal | Visual Studio Code | |
---|---|---|---|
組み込みの Q# サポート | ✔ | ✔ | ✔* |
QPU アクセス | ✔ | ✔ | ✔ ** |
Jupyter Notebook | ✔ | ✔ | |
Resource Estimator | ✔ | ✔ | |
Python のサポート | ✔ | ✔ | |
Cirq と Qiskit のサポート | ✔ | ✔ | |
統合ハイブリッド | ✔ | ||
ローカル セットアップ | ✔ | ||
Quantum ワークスペースの作成 | ✔ |
* VS Code では、CodeLens、IntelliSense、デバッグなどの豊富な Q# サポートが提供されます。
** VS Code での QPU アクセスには、Azure サブスクリプションが必要です。
Azure Quantum Web サイト
Azure Quantum Web サイトではオンライン コード エディターで Q# プログラムを実行できます。インストールも Azure アカウントも必要ありません。 独自の Q# コードを記述し、組み込みの Q# サンプルを調べるか、コードに対して Copilot にプロンプトを表示します。
Azure Quantum Web サイトには、量子の専門家や愛好家からのブログ、記事、ビデオも用意されています。 Quantum Katas量子コンピューティングと Q# の基礎に関する自己ペースのチュートリアルで知識を深めます。
詳細については、Azure Quantum の「 Explore Copilot」を参照してください。
Azure Quantum Web サイトは自分に適していますか?
Azure Quantum Web サイトを使用すると、ブラウザーで Q# プログラムを実行し、さまざまな学習リソースにアクセスできます。 量子愛好家が学習を行う場合は、Azure Quantum Web サイトが適しています。
次の表は、Azure Quantum Web サイトでできることとできないことを示しています。
次のことを実行できます。 | 以下のことを行えます。 | 必要なもの: |
---|---|---|
|
|
|
Azure portal
Azure portal は、Microsoft Azure クラウド コンピューティング プラットフォームのメインのインターフェイスです。 ポータルから、 Azure Quantum ワークスペースを作成し 量子プログラムを実行し、それらを 量子ハードウェア プロバイダーに送信しその結果を Azure Quantum ストレージ アカウントに格納できます。 サブスクリプション、アクティビティ、クレジット使用量、クォータ、アクセス制御を管理することもできます。
ヒント
Azure Quantum ワークスペースを作成すると、量子ハードウェア プロバイダーごとに自動的に USD500 無料 Azure Quantum クレジット が取得されます。 Azure Quantum クレジットを使用して、最初の量子プログラムを実際の量子ハードウェアに送信できます。
Quantum ワークスペースには、Azure portal の Web ベースの Jupyter Notebook である Azure Quantum Notebooks が含まれます。 Azure ノートブックを使用して、量子シミュレーターまたはハードウェアで Q# プログラムと Python プログラムを作成、アップロード、格納、実行します。 量子ワークスペースから、サンプル ノートブックを使用して量子プログラミングを開始できます。
Azure ノートブックの Azure Quantum Resource Estimator を使用して、Qiskit および QIR プログラムの実行に必要な物理リソースを見積もることもできます。 詳細については、「 Azure portal でリソース推定ツールを実行する」を参照してください。
Azure portal は自分に適していますか?
Azure portal から、チーム メンバーや学生など、ユーザーのグループに量子ワークスペースへのアクセス権を付与できます。 サブスクリプションの管理、請求書の確認、量子プロバイダーの追加を行う場合は、Azure portal が適しています。
次の表は、Azure portal でできることとできないことを示しています。
次のことを実行できます。 | 以下のことを行えます。 | 必要なもの: |
---|---|---|
|
|
|
Visual Studio Code
Visual Studio Code は、Microsoft の無料のオープンソース コード エディターです。 VS Code 用 QDK 拡張機能を使用すると、Q# プログラムを作成し、組み込みの Q# サンプルを読み込み、エラー メッセージング、構文の強調表示、デバッグ、回路図の視覚化、CodeLens、IntelliSense などの機能をローカル開発環境で使用できます。
Azure Quantum Resource Estimator を使用して、量子コンピューターで Q# プログラムを実行するために必要な物理リソースを見積もることもできます。 Resource Estimator は QDK の一部であるため、それを使用するために Azure サブスクリプションは必要ありません。 詳細については、「 Visual Studio Code でリソース推定ツールを実行するを参照してください。
VS Code で QDK を使用するために Azure アカウントは必要ありません。 ただし、Azure アカウントがある場合は、VS Code から Azure Quantum ワークスペースに接続し、選択したプロバイダーの量子コンピューターとシミュレーターで Q# プログラムを実行できます。
開始するには、「 Quantum Development Kit のセットアップを参照してください。
Note
QDK 拡張機能は、デスクトップ バージョンと同じ Azure 接続機能と Q# 言語機能を提供する VS Code for the Web でも使用できます。 ただし、Python、Qiskit、Cirq はサポートされていません。
Q# と Python の統合
VS Code では、Q# を単独で使用することも Python と共に使用することもできます。これには、 qsharp
と azure-quantum
Python パッケージが必要です。 これらのパッケージをインストールするには、「 Python と Jupyter Notebook のサポートを追加するを参照してください。
次の表は、VS Code で Python の有無にかかわらず Q# を使用する方法を示しています。
Visual Studio Code は自分に適していますか?
VS Code は、量子プログラムを記述、実行、デバッグするための CodeLens と IntelliSense を含む機能豊富な環境です。 コーディング経験があり、Q# を詳しく調べる場合は、VS Code が適しています。
次の表は、VS Code でできることとできないことを示しています。
次のことを実行できます。 | 以下のことを行えます。 | 必要なもの: |
---|---|---|
|
|
|
Q# 学習用のリソース
Q# プログラミング言語を学習して調べるには、次のリソースを使用します。
- Azure Quantum ラーニング パス: 量子コンピューティングに関心があるが、どこから始めればいかわからない場合は、このラーニング パスを使用します。 一連の対話型モジュールを通じて、量子コンピューティングと、Q# と QDK を使用して量子ソリューションを開発する方法について学習します。
- Quantum Katas: これらの自己ペースのチュートリアルで量子コンピューティングとプログラミングを同時に学習します。それぞれに関連する理論と Q# 演習を使用して、知識をテストします。
- Q# コード サンプル: これらのすぐに使用できる Q# サンプルを使用して、初めての量子ソリューションを構築します。 量子アルゴリズム、リソース推定、言語コンストラクト、Jupyter Notebook の 4 つの領域について説明します。
- QDK プレイグラウンド: Q# で記述された一般的な量子アルゴリズムについて説明します。 プレイグラウンドは VS Code for the Web でホストされており、QDK で事前に構成されているため、何もインストールする必要はありません。