OpenQASM 3.0 での回路の実行
Amazon Braket は、ゲートベースの量子デバイスとシミュレーターの OpenQASM 3.0
このガイドのトピックでは、以下の量子タスクの完了方法のさまざまな例について説明します。
また、このガイドでは、Braket の OpenQASM 3.0 で実装できる特定のハードウェア固有機能の概要と、その他のリソースへのリンクについても示します。
このセクションの内容:
OpenQASM 3.0 とは?
Open Quantum Assembly Language (OpenQASM) は、量子命令の中間表現
OpenQASM (3.0) の新しいバージョンでは、以前のバージョンを拡張して、パルスレベルの制御、ゲートのタイミング、古典的な制御フローなどの機能を追加することで、エンドユーザーインターフェイスとハードウェア記述言語間のギャップを埋めています。現在のバージョン 3.0 の詳細と仕様については、GitHub の「OpenQASM 3.x Live Specification
OpenQASM 3.0 を使用するタイミング
OpenQASM は、アーキテクチャ固有ではない低レベルな制御機能を通じて量子プログラムを指定する表現力豊かなフレームワークを提供するため、複数のゲートベースのデバイスにわたる表現として最適です。Braket による OpenQASM のサポートにより、OpenQASM がゲートベースの量子アルゴリズムの開発に対する一貫したアプローチとしてますます採用されるため、ユーザーが複数のフレームワークでライブラリを学習して維持する必要性が減ります。
OpenQASM 3.0 に既存のプログラムライブラリをお持ちの場合は、それらの回路を完全に書き換えるのではなく、Braket で使用するように調整できます。また、研究者やデベロッパーは、OpenQASM でのアルゴリズム開発をサポートする利用可能なサードパーティーライブラリの数が増えていることからもメリットを得られます。
OpenQASM 3.0 の仕組み
Braket による OpenQASM 3.0 のサポートにより、現在の中間表現と同等の機能が提供されます。つまり、Braket を使用してハードウェアデバイスやオンデマンドシミュレーターで現在できていることが、すべて Braket API を使用して OpenQASM でも実行できるようになったということです。OpenQASM 3.0 プログラムを実行するには、OpenQASM 文字列をすべてのゲートベースのデバイスに直接供給します。これは、回路が現在 Braket でデバイスに供給されている方法に似ています。また、Braket ユーザーは、OpenQASM 3.0 をサポートするサードパーティーライブラリを統合することもできます。このガイドの残りの部分では、Braket で使用する OpenQASM 表現を開発する方法について説明します。
前提条件
Amazon Braket で OpenQASM 3.0 を使用するには、Amazon Braket Python スキーマ
Amazon Braket を初めて使用する場合は、Amazon Braket を有効にする必要があります。手順については、「Amazon Braket を有効にする」を参照してください。
Braket コンソール
OpenQASM 3.0 タスクが Amazon Braket コンソールで利用、管理できます。このコンソールでは、既存の量子タスクを送信する際に持ったのと同じ量子タスク送信経験を OpenQASM 3.0 で持つことができます。
その他のリソース
OpenQASM はすべての Amazon Braket リージョンで利用できます。
Amazon Braket での OpenQASM の使用を開始するためのノートブックの例については、「Braket Tutorials GitHub