OpenQASM 3.0 での回路の実行 - Amazon Braket

OpenQASM 3.0 での回路の実行

Amazon Braket は、ゲートベースの量子デバイスとシミュレーターの OpenQASM 3.0 をサポートするようになりました。このユーザーガイドでは、Braket でサポートされている OpenQASM 3.0 のサブセットについて説明します。Braket のお客様は、Braket 回路を送信するのに、SDK を使用か、Amazon Braket APIAmazon Braket Python SDK を使用して OpenQASM 3.0 文字列をすべてのゲートベースのデバイスに直接提供するかを選択できるようになりました。

このガイドのトピックでは、以下の量子タスクの完了方法のさまざまな例について説明します。

また、このガイドでは、Braket の OpenQASM 3.0 で実装できる特定のハードウェア固有機能の概要と、その他のリソースへのリンクについても示します。

OpenQASM 3.0 とは?

Open Quantum Assembly Language (OpenQASM) は、量子命令の中間表現です。OpenQASM はオープンソースフレームワークであり、ゲートベースのデバイス用の量子プログラムの仕様に広く使用されています。OpenQASM を使用すると、ユーザーは量子計算の構成要素を形成する量子ゲートと測定操作をプログラムできます。以前のバージョンの OpenQASM (2.0) は、基本的なプログラムを記述するために多くの量子プログラミングライブラリで使用されました。

OpenQASM (3.0) の新しいバージョンでは、以前のバージョンを拡張して、パルスレベルの制御、ゲートのタイミング、古典的な制御フローなどの機能を追加することで、エンドユーザーインターフェイスとハードウェア記述言語間のギャップを埋めています。現在のバージョン 3.0 の詳細と仕様については、GitHub の「OpenQASM 3.x Live Specification」を参照してください。OpenQASM の今後の開発は、OpenQASM 3.0 Technical Steering Committee (技術運営委員会) によって管理されます。AWS は、IBM、Microsoft、およびインスブルック大学と並んでこの委員会のメンバーになっています。

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 スキーマのバージョン v1.8.0 および Amazon Braket Python SDK のバージョン v1.17.0 以降が必要です。

Amazon Braket を初めて使用する場合は、Amazon Braket を有効にする必要があります。手順については、「Amazon Braket を有効にする」を参照してください。

Braket コンソール

OpenQASM 3.0 タスクが Amazon Braket コンソールで利用、管理できます。このコンソールでは、既存の量子タスクを送信する際に持ったのと同じ量子タスク送信経験を OpenQASM 3.0 で持つことができます。

その他のリソース

OpenQASM はすべての Amazon Braket リージョンで利用できます。

Amazon Braket での OpenQASM の使用を開始するためのノートブックの例については、「Braket Tutorials GitHub」を参照してください。